➕ Create
POST /subaccounts with a name, an optional external_id (your client ID) and optional traffic_gb. The traffic leaves your pool right away. You can start with 0 GB and add traffic later.
external_id is unique in your account, so you can find a client by your own ID with GET /subaccounts?search=crm-1042.
↔️ Give and take back traffic
You can only take back what the client hasn’t used. If the client is sending traffic at the same moment, the part they used before the new limit applied stays with them, and the rest returns.
While a change is being applied, the sub-account shows
"updating": true and the returning amount is in traffic_returning_bytes. It usually takes a second.
⏸️ Pause, resume, delete
POST /subaccounts/{id}/suspendstops the login. The traffic stays.POST /subaccounts/{id}/resumeturns it back on.DELETE /subaccounts/{id}stops the login for good and returns all unused traffic to your pool.
🚦 Statuses
login_warming_until is set for a brand-new login. Until that time, some gateways may still reject it.
📊 Usage
GET /subaccounts/{id}/usage returns traffic per day for 30 days. Add granularity=hour&periods=24 for the last 24 hours. Usage refreshes about once a minute.
GET /account shows totals for the whole account, and GET /traffic/history lists every purchase and traffic move with the pool balance after it.