API keys and the API
Everything the console does with servers, databases, DNS and billing, from your own scripts, with a key that can only do what you allow.
1. Make a key
In the console, open API keys, give the key a name and tick only the scopes it needs. The full key (it starts with tpct_) is shown once, so copy it then. You can have up to 20 keys and revoke any of them at any time.
2. Send it with each request
The API lives at https://api.tport.cloud. Send the key as a bearer token:
export TPORT_API_KEY=tpct_... curl -H "Authorization: Bearer $TPORT_API_KEY" https://api.tport.cloud/api/servers
Answers are JSON. A key without the scope a request needs gets 403 with the missing scope in the message; a wrong or revoked key gets 401.
Scopes
A key can only do what its scopes allow. Signing in, top-ups, cards, root access and the keys themselves stay in the console and never work with a key.
| Scope | Lets the key |
|---|---|
servers:read | List servers and shared accounts, see one in detail, follow an order |
servers:create | Order a server or shared account (charged from your balance), cancel an order |
servers:resize | Move a server or shared account to another plan of the same kind |
servers:power | Start, stop and restart a server |
servers:delete | Delete a server or shared account (unused days go back on your balance) |
databases:read | List managed PostgreSQL clusters and see one in detail |
databases:write | Order a cluster, change its allow list, delete it |
dns:read | List zones and their records |
dns:write | Add and delete zones and records |
billing:read | See your balance and charges |
Examples
Plans, prices and regions (no key needed)
curl https://api.tport.cloud/api/catalogue
Your servers
curl -H "Authorization: Bearer $TPORT_API_KEY" https://api.tport.cloud/api/servers
Order a shared account
curl -X POST https://api.tport.cloud/api/orders -H "Authorization: Bearer $TPORT_API_KEY" -H "Content-Type: application/json" -d '{"kind": "shared", "plan": "shared-2", "region": "eu", "image": "ubuntu-24.04",
"name": "myapp", "ssh_keys": ["ssh-ed25519 AAAA... you@laptop"], "installs": []}'The answer has the order id; follow it with GET /api/orders/{id} until its status is done. Plan, region and image names come from the catalogue.
Restart a server
curl -X POST https://api.tport.cloud/api/servers/srv-12/power -H "Authorization: Bearer $TPORT_API_KEY" -H "Content-Type: application/json" -d '{"action": "restart"}'Move to another plan
curl -X POST https://api.tport.cloud/api/servers/sh-7/resize -H "Authorization: Bearer $TPORT_API_KEY" -H "Content-Type: application/json" -d '{"plan": "shared-4"}'A bigger plan takes the difference for the days already paid from your balance; a smaller one puts the unused difference back, and only moves when what you store fits in 80% of the new disk.
Add a DNS record
curl -X POST https://api.tport.cloud/api/dns/zones/example.com/records -H "Authorization: Bearer $TPORT_API_KEY" -H "Content-Type: application/json" -d '{"name": "www", "type": "A", "value": "203.0.113.10", "ttl": 3600}'Balance and charges
curl -H "Authorization: Bearer $TPORT_API_KEY" https://api.tport.cloud/api/billing
Using an AI assistant?
The same key works with our MCP server, so Claude, Cursor and other MCP clients can manage your servers, databases and DNS for you within the scopes you pick.
Questions: support@biz59.net. More guides: Docs.