VPS.org API

REST API Documentation

Plans API

List the server plans you can deploy, with their resources and prices. Pass a plan's uuid as plan_uuid when you create or resize a server.

Endpoints 2
Base Path /api/v1/plans
GET /api/v1/plans/

List All Plans

Returns every active plan, cheapest first. The list has no filters and currently fits on one page.

Required permission: plans:list

Example Request

cURL
Python
JavaScript
PHP
curl -X GET "https://admin.vps.org/api/v1/plans/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
import requests

url = "https://admin.vps.org/api/v1/plans/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}

response = requests.get(url, headers=headers)
for plan in response.json()["results"]:
    print(plan["uuid"], plan["cpu"], plan["ram"], plan["ram_unit"], plan["monthly_price"])
const response = await fetch('https://admin.vps.org/api/v1/plans/', {
  headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});

const data = await response.json();
console.log(data.results);
$ch = curl_init('https://admin.vps.org/api/v1/plans/');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_API_TOKEN']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$plans = json_decode(curl_exec($ch), true);
curl_close($ch);

Example Response

{
  "count": 12,
  "next": null,
  "previous": null,
  "results": [
    {
      "uuid": "ed0ac717-c26c-4d9b-a801-b170c4979028",
      "cpu": 1,
      "ram": 512,
      "ram_unit": "MB",
      "disk_space": 10,
      "disk_space_total": 10240,
      "transfer": 500,
      "transfer_unit": "GB",
      "includes_ipv4": false,
      "price": "2.50",
      "cpu_type_name": "Shared",
      "is_active": true,
      "hourly_price": "0.004",
      "monthly_price": "2.50",
      "is_gpu": false,
      "gpu_count": 0,
      "gpu_model": ""
    },
    {
      "uuid": "14186969-fbaf-43e1-9ab2-b1f1aeb66674",
      "cpu": 1,
      "ram": 2,
      "ram_unit": "GB",
      "disk_space": 25,
      "disk_space_total": 25600,
      "transfer": 1,
      "transfer_unit": "TB",
      "includes_ipv4": true,
      "price": "5.00",
      "cpu_type_name": "Shared",
      "is_active": true,
      "hourly_price": "0.007",
      "monthly_price": "5.00",
      "is_gpu": false,
      "gpu_count": 0,
      "gpu_model": ""
    }
  ]
}

Response Fields

Field Type Description
uuid string Plan identifier. Use it as plan_uuid or new_plan_uuid.
cpu integer Number of vCPUs
ram, ram_unit integer, string Memory amount and its unit (MB or GB)
disk_space integer Disk size in GB
disk_space_total integer Disk size in MB
transfer, transfer_unit integer, string Monthly data transfer allowance and its unit (GB or TB)
disk_space_unit string Unit of disk_space (GB)
includes_ipv4 boolean Whether the plan includes a public IPv4 address. Plans without one are IPv6 only; an IPv4 address can be added for $2.00/month.
monthly_price, price string Monthly price in USD as a decimal string. price is the same value.
hourly_price string Hourly price in USD as a decimal string
cpu_type_name string CPU type, for example Shared. Omitted for plans without a CPU type, such as the GPU plan.
is_active boolean Always true in this list, because inactive plans are not returned
is_gpu, gpu_count, gpu_model boolean, integer, string Whether the plan includes dedicated GPUs, how many, and which model
The response does not say whether a plan includes an IPv4 address. The 512 MB plan is IPv6 only; the other current plans include IPv4. Compare with the pricing page before choosing a plan for a site that must be reachable over IPv4.

Response Status Codes

200 Successfully retrieved plans list
403 Missing or invalid API token, or the token lacks the required permission
GET /api/v1/plans/{uuid}/

Get Plan Details

Returns one active plan with the fields above. An inactive or unknown uuid returns 404.

curl -X GET "https://admin.vps.org/api/v1/plans/ed0ac717-c26c-4d9b-a801-b170c4979028/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "uuid": "ed0ac717-c26c-4d9b-a801-b170c4979028",
  "cpu": 1,
  "ram": 512,
  "ram_unit": "MB",
  "disk_space": 10,
  "disk_space_total": 10240,
  "transfer": 500,
  "transfer_unit": "GB",
  "includes_ipv4": false,
  "price": "2.50",
  "cpu_type_name": "Shared",
  "is_active": true,
  "hourly_price": "0.004",
  "monthly_price": "2.50",
  "is_gpu": false,
  "gpu_count": 0,
  "gpu_model": ""
}