VPS.org API

REST API Documentation

VPS.org API Documentation

Complete REST API documentation for managing VPS servers, domains, DNS, backups, and more.

Base URL https://admin.vps.org/api/v1
Authentication Bearer Token
Version v1
Format JSON

Getting Started

The VPS.org API allows you to programmatically manage all aspects of your VPS hosting infrastructure, including servers, domains, DNS records, backups, and snapshots.

Authentication

All API requests require authentication using a Bearer token. You can generate your API token from your account settings at admin.vps.org/account/developers/.

cURL
Python
JavaScript
curl -X GET https://admin.vps.org/api/v1/servers/ \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

url = "https://admin.vps.org/api/v1/servers/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}

response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch('https://admin.vps.org/api/v1/servers/', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  }
});

const data = await response.json();
console.log(data);

Each token carries its own permissions, such as servers:list or dns:*. A request that needs a permission the token does not have is refused with 403 and a required_permission field naming the missing permission. Permissions Reference

Rate Limiting

Authenticated requests are limited to 1,000 per hour per account. Unauthenticated requests are limited to 100 per hour per IP address. A request over the limit receives 429 with a Retry-After header giving the number of seconds to wait. No rate limit headers are sent on successful responses.

Pagination

List endpoints return an object with count, next, previous and results, 25 items per page. Pass page to move between pages, or follow the next URL until it is null. The servers list also accepts page_size, up to 100.

{
  "count": 84,
  "next": "https://admin.vps.org/api/v1/backups/?page=2",
  "previous": null,
  "results": [ ... ]
}

Error Handling

The API uses standard HTTP status codes to indicate success or failure:

Status Code Description
200 Success - Request completed successfully
201 Created - Resource created successfully
400 Bad Request - Invalid parameters or malformed request
202, 204 Accepted and queued (202), or deleted with no response body (204)
402 Payment Required: no payment method on file, unpaid invoices, or a declined card pre-authorization
403 Forbidden: the token is missing, invalid or expired, or lacks the required permission. Failed authentication also returns 403, not 401.
404 Not Found - Resource does not exist
409 Conflict: for example a resize already in progress, not enough capacity, or a deployment already running
429 Too Many Requests - Rate limit exceeded
500 Internal Server Error - Something went wrong on our end
503 Service Unavailable: a temporary problem. Retry, honouring Retry-After when it is sent.

Error bodies are JSON. Most have a detail field or an error field, sometimes with a message; validation errors list the problems by field name.

API Categories

Browse our API documentation by category:

Servers API 15 Endpoints

Create, inspect, power, resize and delete servers, reset the root password, set reverse DNS, run commands, and manage SSH keys.

View Documentation
Backups API 4 Endpoints

List your server backups, start a new backup, and restore a server from a backup.

View Documentation
Snapshots API 4 Endpoints

Take labelled snapshots of a server, list them and delete them.

View Documentation
Plans API 2 Endpoints

Retrieve available VPS plans and pricing information. Get details about resources, pricing, and availability.

View Documentation
Operating Systems API 2 Endpoints

List the operating systems and versions you can install, such as Ubuntu, Debian, Rocky Linux, CentOS Stream, Fedora and Alpine.

View Documentation
Domains API 7 Endpoints

Check availability, register and renew domains, and set nameservers and auto-renewal.

View Documentation
DNS API 13 Endpoints

Create DNS zones and create, update and delete their A, AAAA, CNAME, MX, TXT, SRV, CAA and other records.

View Documentation
Locations API 2 Endpoints

List the locations available for server deployment.

View Documentation
Account 1 Endpoints

Retrieve account profile and API token information. Identify which account a token belongs to and check its permissions.

View Documentation

More Endpoints

The API also has endpoints for app deployments (/api/v1/deploy-configs/ and /api/v1/deployments/). They are not described on these pages yet; the interactive reference lists every endpoint, generated from the live API.

Open the interactive API reference

Need Help?

If you have questions or need assistance with the API, please don't hesitate to reach out: