qlingen.docs

REST API

Everything the dashboard does to servers, the API does too: create and destroy machines, trigger deploys and rollbacks, add SSH keys. Perfect for CI pipelines and fleet automation.

Authentication

Create a token under API Tokens in the dashboard (it's shown once — store it safely) and send it as a bearer token:

curl https://qlingen.com/api/v1/user \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/json"

Tokens act as you: they see only your servers and require your plan to be active — management calls return 402 Payment Required while a subscription has lapsed.

Endpoints

MethodPathDoes
GET/api/v1/userThe authenticated user.
GET/api/v1/serversList your servers (paginated).
POST/api/v1/serversCreate and provision a server.
GET/api/v1/servers/{id}One server, including both IPs and status.
DELETE/api/v1/servers/{id}Destroy the server at the provider.
POST/api/v1/servers/{id}/deployDeploy the latest PBX release.
POST/api/v1/servers/{id}/rollbackRoll back to the previous release.
POST/api/v1/servers/{id}/ssh-keysAuthorize a public key on the machine.

Creating a server

curl -X POST https://qlingen.com/api/v1/servers \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "main-pbx",
    "server_provider_id": 1,
    "region": "ewr",
    "plan": "vc2-1c-1gb"
  }'

The response is 201 Created with the server in provisioning status. Poll GET /api/v1/servers/{id} until status is online — the payload then carries ip_address and private_ip_address.

Statuses and errors

  • 401 — missing or revoked token.
  • 402 — no active plan (resubscribe on the Billing page) or the plan's server limit is reached.
  • 404 — the server doesn't exist or belongs to someone else; the API never confirms other tenants' resources.
  • 409 — the action needs an online server (deploys, rollbacks, SSH keys).
  • 422 — validation failed; the body lists the fields.