Skip to content

Proxy logins

A proxy login is a credential on the gateways, funded from your bandwidth pool and spending its own allocation. Every account starts with one named default; create more, one per team, project or client.

The login 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/logins
Terminal window
curl -s https://api.tpp.io/v1/logins \
-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 is 3-64 characters of letters, digits, _ or . - no hyphens - and unique across the network.

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

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

PATCH /v1/logins/{id}

Any subset of name, proxy_user, proxy_pass. If your own account is disabled, all your logins stop authenticating too.

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

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

DELETE /v1/logins/{id}

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