Skip to main content
A sub-user is a gateway account belonging to one of your customers: a username, a password, and a data limit drawn from your pool. Creating one debits your unassigned data immediately.

Creating a sub-user

POST /reseller/users

cURL

Request Fields

200 OK
Credentials stay retrievable from the list and detail endpoints. This is not a one-time reveal, so you don’t have to store the password yourself.

Errors

Listing your sub-users

GET /reseller/users

Paginated. Accepts page and limit (max 100).
cURL
Add includeUsage=true to include each sub-user’s live consumption from the gateway. This costs one gateway lookup per row, so the request gets slower as the page grows — use it for dashboard views, not high-frequency polling. 200 OK
If a live lookup fails for one row, that row comes back with "usage": null and a usageError note rather than failing the whole request. Handle null usage as “unknown”, not as zero.

Checking one sub-user

GET /reseller/users/:username

A single sub-user with live usage — this is the endpoint for “how much data has this customer consumed?”
cURL
200 OK
When rawUsed >= rawTotal the account is exhausted and stops working. Top it up to reactivate it.

Topping up a sub-user

POST /reseller/users/:username/data

cURL
200 OK
This debits your unassigned pool and extends the account on the gateway. Error behavior matches creation — a 502 means nothing was charged and a retry is safe.
Sub-users cannot be deleted or paused, and data assigned to a sub-user cannot be moved back to your pool. Assign conservatively and top up as needed.