Sign up
Docs

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.

ScopeLets the key
servers:readList servers and shared accounts, see one in detail, follow an order
servers:createOrder a server or shared account (charged from your balance), cancel an order
servers:resizeMove a server or shared account to another plan of the same kind
servers:powerStart, stop and restart a server
servers:deleteDelete a server or shared account (unused days go back on your balance)
databases:readList managed PostgreSQL clusters and see one in detail
databases:writeOrder a cluster, change its allow list, delete it
dns:readList zones and their records
dns:writeAdd and delete zones and records
billing:readSee 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.