Skip to content

Subusers

A subuser is a separate proxy login funded from your bandwidth pool. Subuser credentials work on the gateways exactly like yours - same targeting, same sessions - but spend their own allocation. Use them to resell bandwidth or to isolate teams and projects.

Subusers are available on reseller accounts; contact your account manager to enable reselling.

The subuser object:

{
"id": "3c1f8a02-...",
"customer_id": "0d9e6b1c-...",
"customer_name": "Acme",
"name": "client-north",
"proxy_user": "acme.north",
"proxy_pass": "...",
"status": "active",
"alloc_bytes": 100000000,
"used_bytes": 8388608,
"remaining_bytes": 91611392,
"created_at": "2026-07-15T14:20:00Z"
}
POST /v1/subusers
Terminal window
curl -s https://api.tpp.io/v1/subusers \
-H "Authorization: Bearer $TOKEN" \
-d '{"name": "client-north", "proxy_user": "acme.north", "proxy_pass": "...", "bytes": 100000000}'

bytes (optional, default 0) is the starting allocation, drawn from your unallocated_bytes. proxy_user follows the same rules as yours: 3-64 characters, letters, digits, _ or ., unique across the network.

GET /v1/subusers ?q=<name or proxy_user>&status=active|disabled
GET /v1/subusers/{id}

Lists return {"subusers": [...]} and support pagination.

PATCH /v1/subusers/{id}

Any subset of name, proxy_user, proxy_pass, status. Setting status to disabled cuts the subuser’s proxy access within seconds; active restores it. If your own account is disabled, all your subusers stop authenticating too.

POST /v1/subusers/{id}/allocate
{ "bytes": 50000000 }

Positive moves bytes from your unallocated pool to the subuser; negative takes unspent bytes back. You can never take back more than the subuser’s remaining_bytes, and can never allocate more than your unallocated_bytes - either returns a 400 saying how much is available.

DELETE /v1/subusers/{id}

Whatever the subuser hadn’t spent returns to your pool automatically.