VPS.org API

ማስረጃ

የአገልጋዮች ኤፒአይ

ፈጥሩ, ተመልከቱ, ኃይል, መጠን ይለውጡ እና VPS ሰርቨሮችዎን ያጥፉ. ሰርቨሮች በ uuidቸው ይታያሉ.

የመጨረሻ ነጥቦች 15
የመሠረት መንገድ /api/v1/servers
አግኝ /api/v1/servers/

ሁሉንም አገልጋዮች ዘርዝር

በሂሳብዎ ውስጥ ያሉትን ሰርቨሮች፣ አዲስ መጀመሪያ፣ 25 በየገጹ ላይ ይመልሳል። ሰርቨሮችን በማጥፋት ላይ ያሉት አይካተቱም

የፈቃድ መጠን: servers:list

የጥያቄ መለኪያዎች

መለኪያ አይነት ያስፈልጋል መግለጫ የለም
page integer አዎ Page number, starting at 1
page_size integer አዎ ውጤቶች በየገጹ (የመጀመሪያ 25, ከፍተኛ 100)

የምሳሌ ጥያቄ

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

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

response = requests.get(url, headers=headers)
for server in response.json()["results"]:
    print(server["uuid"], server["hostname"], server["status"])
const response = await fetch('https://admin.vps.org/api/v1/servers/', {
  headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});

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

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

foreach ($data['results'] as $server) {
    echo $server['hostname'] . ' ' . $server['status'] . "\n";
}

የምሳሌ ምላሽ

{
  "count": 2,
  "next": null,
  "previous": null,
  "results": [
    {
      "uuid": "8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b",
      "hostname": "web-01",
      "status": "on",
      "error_description": null,
      "location_name": "New Jersey",
      "plan_name": "1 vCPU / 2 GB RAM / 10 GB",
      "os_name": "Ubuntu",
      "ipv4_addresses": ["203.0.113.10"],
      "ipv6_addresses": ["2001:db8:2:dd::f9:6b"],
      "created_at": "2026-07-30T03:54:14.914364Z",
      "deployed": true
    },
    {
      "uuid": "2d7e9b40-6c1a-4f3e-8b5d-9a0c1e2f3b4d",
      "hostname": "db-01",
      "status": "queue",
      "error_description": null,
      "location_name": "New Jersey",
      "os_name": "Debian",
      "ipv4_addresses": [],
      "ipv6_addresses": [],
      "created_at": "2026-09-14T19:33:49.426508Z",
      "deployed": false
    }
  ]
}

የምላሽ መስኮች

ፋይል አይነት መግለጫ የለም
uuid string Server identifier used in every other server endpoint
hostname string የሆስት ስም
status string የቅርብ ጊዜው ሁኔታ. የሰርቨር ሁኔታ ዋጋዎችን በታች ተመልከቱ
error_description string | null የመጨረሻው የክስተት ዝርዝሮች ሁኔታ ስህተት ከሆነ፣ ካልሆነ ኑል
location_name string Name of the location the server runs in
os_name string የኦፕሬቲንግ ሲስተም ስም፣ የቅርጸት ሳይኖር
plan_name string የቀረበው የፕላን ማጠቃለያ፣ ለምሳሌ 1 vCPU / 2 GB RAM / 10 GB
ipv4_addresses array IPv4 አድራሻዎች እንደ ሐረጎች. ሰርቨሩ እስከተዘረጋ ድረስ ባዶ ነው፣ IPv4 በሌለው ዕቅድ ላይም
ipv6_addresses array IPv6 አድራሻዎች እንደ ሐረጎች. ሰርቨሩ እስከተሰራ ድረስ ባዶ ነው
created_at datetime Creation time (ISO 8601, UTC)
deployed boolean እውነት

የምላሽ ሁኔታ ኮዶች

200 የአገልጋይ ዝርዝር በተሳካ ሁኔታ ተመልሷል
403 የጠፋ ወይም ያልሆነ API Token ወይም Token የተጠየቀውን ፈቃድ የሌለው ነው
ደብዳቤ /api/v1/servers/

አዲስ አገልጋይ ፍጠር

አዲስ ሰርቨር ለመተላለፍ በፍጥነት ይዘጋል እና በፍጥነት በሥርዓት ተከታታይ ይመለሳል. በኋላ ላይ ይቀጥላል: የተሰራው እውነት እስኪሆን ድረስ የሥርዓት መጨረሻ ነጥብ ይጠይቃል. ሰርቨሩ ዝግጁ በሆነ ጊዜ፣ የውስጥ መረጃዎች ለሂሳብ ባለቤት ኢሜይል ይላካሉ

የሂሳብዎ የቀረበ የክፍያ ዘዴ ያስፈልጋል. የሂሳብዎ ታሪክ ላይ በመመርኮዝ፣ የፕላን ዋጋውን (በጥቂቱ 1 ዶላር) ከአንድ ሳምንት በፊት በካርድዎ ላይ ሊጣል ይችላል። ሰርቨሩ ከመፍጠርዎ በፊት።

የፈቃድ መጠን: servers:create

የጥያቄ አካል መለኪያዎች

መለኪያ አይነት ያስፈልጋል መግለጫ የለም
hostname string አዎ በትንሹ 3 ፊደላት። ጽሑፎች፣ ቁጥሮች፣ ሐረጎች እና ነጥቦች ብቻ።
location_id integer አዎ The id of an active location from the Locations API
plan_uuid string አዎ The uuid of an active plan from the Plans API
operating_system_version_uuid string አዎ የኦፕሬቲንግ ሲስተም የቅርጸት ዝርዝር ውስጥ የሕይወት ያለውን መዝገብ ቤት uuid
ssh_key_uuids array አዎ በሰርቨሩ ላይ ለማስቀመጥ ከኤስ ቁልፎች API የኤስ ቁልፎች UUIDs
ssh_key_ids array አዎ የኤስ ቁልፎች ሙሉ ቁጥር ids, ለ ssh_key_uuids እንደ ምርጫ. ሁለቱም ቢላኩ, ssh_key_ids ይጠቀማል.
ssh_key_uuid, ssh_key_id string, integer አዎ የSSH ቁልፍ
auth_method string አዎ ሚስጢራዊ ቃል, ssh_key ወይም ሁለቱም. ቅድመ ዕይታ ሚስጢራዊ ቃል, ወይም ሁለቱም SSH ቁልፎች ሲሰጡ.

የምሳሌ ጥያቄ

cURL
Python
JavaScript
PHP
curl -X POST "https://admin.vps.org/api/v1/servers/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "hostname": "web-01",
    "location_id": 1,
    "plan_uuid": "3bc2faf6-8f8b-4978-b62d-b52ed3f858e9",
    "operating_system_version_uuid": "c3418f90-80a0-4e00-a7e1-d0ab1822b941",
    "ssh_key_uuids": ["YOUR_SSH_KEY_UUID"]
  }'
import requests

url = "https://admin.vps.org/api/v1/servers/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
data = {
    "hostname": "web-01",
    "location_id": 1,
    "plan_uuid": "3bc2faf6-8f8b-4978-b62d-b52ed3f858e9",
    "operating_system_version_uuid": "c3418f90-80a0-4e00-a7e1-d0ab1822b941",
    "ssh_key_uuids": ["YOUR_SSH_KEY_UUID"],
}

response = requests.post(url, headers=headers, json=data)
server = response.json()
print(response.status_code, server["uuid"], server["status"])
const response = await fetch('https://admin.vps.org/api/v1/servers/', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    hostname: 'web-01',
    location_id: 1,
    plan_uuid: '3bc2faf6-8f8b-4978-b62d-b52ed3f858e9',
    operating_system_version_uuid: 'c3418f90-80a0-4e00-a7e1-d0ab1822b941',
    ssh_key_uuids: ['YOUR_SSH_KEY_UUID']
  })
});

const server = await response.json();
console.log(server.uuid, server.status);
$data = [
    'hostname' => 'web-01',
    'location_id' => 1,
    'plan_uuid' => '3bc2faf6-8f8b-4978-b62d-b52ed3f858e9',
    'operating_system_version_uuid' => 'c3418f90-80a0-4e00-a7e1-d0ab1822b941',
    'ssh_key_uuids' => ['YOUR_SSH_KEY_UUID']
];

$ch = curl_init('https://admin.vps.org/api/v1/servers/');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer YOUR_API_TOKEN',
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

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

የምሳሌ ምላሽ

201 በሙሉ ሰርቨር አካል በታች ሰርቨር ዝርዝሮችን ማግኘት ውስጥ የተገለጸው ጋር ተፈጠረ. አድራሻዎች እና vmid በአንድ ጊዜ መተላለፊያ መጨረሻ ላይ የተሞላ ነው.

{
  "uuid": "5f0c8e2a-6b1d-4c3e-9a7f-2d4b6c8e0a1f",
  "hostname": "web-01",
  "vmid": null,
  "status": "queue",
  "error_description": null,
  "location": {
    "id": 1,
    "name": "New Jersey",
    "country_name": "United States",
    "is_active": true
  },
  "plan": {
    "uuid": "3bc2faf6-8f8b-4978-b62d-b52ed3f858e9",
    "cpu": 1,
    "ram": 2,
    "ram_unit": "GB",
    "disk_space": 10,
    "disk_space_total": 10240,
    "transfer": 500,
    "price": "3.50",
    "cpu_type_name": "Shared",
    "is_active": true,
    "hourly_price": "0.005",
    "monthly_price": "3.50",
    "is_gpu": false,
    "gpu_count": 0,
    "gpu_model": ""
  },
  "operating_system": {
    "id": 1,
    "name": "Ubuntu",
    "svg_icon": "<svg ...>",
    "versions": [ ... ]
  },
  "operating_system_version": {
    "uuid": "c3418f90-80a0-4e00-a7e1-d0ab1822b941",
    "name": "24.04 LTS x64",
    "os_name": "Ubuntu",
    "os_svg_icon": "<svg ...>",
    "is_active": true
  },
  "ipv4_addresses": [],
  "ipv6_addresses": [],
  "deployed": false,
  "created_at": "2026-09-14T21:02:11.402113Z",
  "recent_actions": []
}

የምላሽ ሁኔታ ኮዶች

201 ሰርቨር ፈጠረ እና ለመተላለፍ ተከፈለ
400 የምርመራ ስህተት፣ ለምሳሌ ያልተንቀሳቃሽ ቦታ፣ ዕቅድ ወይም የኦፕሬቲንግ ሲስተም ስሪት
402 በፋይል ውስጥ የክፍያ ዘዴ የለም፣ ያልተሸፈኑ ፋይሎች፣ ወይም የካርድ ቅድመ-መመሪያው ተቃወመ
403 የጠፋ ወይም ያልሆነ API Token ወይም Token የተጠየቀውን ፈቃድ የሌለው ነው
429 የሂሳብዎ ሰርቨር የፈጠራውን ልክ ደርሷል
አግኝ /api/v1/servers/{uuid}/

የአገልጋይ ዝርዝሮችን ያግኙ

አንድ ሰርቨር በቦታው፣ በፕላን፣ በኦፕሬቲንግ ሲስተም፣ በIP አድራሻዎች እና በመጨረሻዎቹ አምስት ተግባራት ጋር ይመለሳል

የፈቃድ መጠን: servers:list

curl -X GET "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

የምሳሌ ምላሽ

{
  "uuid": "8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b",
  "hostname": "web-01",
  "vmid": 1042,
  "status": "on",
  "error_description": null,
  "location": {
    "id": 1,
    "name": "New Jersey",
    "country_name": "United States",
    "is_active": true
  },
  "plan": {
    "uuid": "14186969-fbaf-43e1-9ab2-b1f1aeb66674",
    "cpu": 1,
    "ram": 2,
    "ram_unit": "GB",
    "disk_space": 25,
    "disk_space_total": 25600,
    "transfer": 1,
    "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": ""
  },
  "operating_system": {
    "id": 1,
    "name": "Ubuntu",
    "svg_icon": "<svg ...>",
    "versions": [ ... ]
  },
  "operating_system_version": {
    "uuid": "c3418f90-80a0-4e00-a7e1-d0ab1822b941",
    "name": "24.04 LTS x64",
    "os_name": "Ubuntu",
    "os_svg_icon": "<svg ...>",
    "is_active": true
  },
  "ipv4_addresses": [
    {
      "ip": "203.0.113.10",
      "gateway": "203.0.113.1",
      "subnet": "203.0.113.0",
      "rdns": "web-01.example.com"
    }
  ],
  "ipv6_addresses": [
    {
      "ip": "2001:db8:2:dd::f9:6b",
      "gateway": "2001:db8:2:dd::f9:1",
      "subnet": "2001:db8:2:dd::f9:0",
      "rdns": "web-01.example.com"
    }
  ],
  "deployed": true,
  "created_at": "2026-07-30T03:54:14.914364Z",
  "recent_actions": [
    {
      "id": 17028,
      "action": "create",
      "action_display": "Create",
      "description": "Server deployed with VMID 1042",
      "user_email": "you@example.com",
      "created_at": "2026-07-30T03:54:32.860854Z"
    }
  ]
}

የSVG ምልክት ማሳያ እና የቅርጸት ዝርዝር እዚህ ተዘጋጅቷል

የምላሽ መስኮች

ፋይል አይነት መግለጫ የለም
vmid integer | null ቨርቹዋል ማሽን ቁጥር፣ በመተላለፊያው ውስጥ የተቀመጠ
location object የቦታ ዕቃ፣ እንደ ቦታዎች API እንደ ተመለሰ
plan object የፕላን አካል፣ እንደ ፒኤይፒ የተመለሰ
operating_system, operating_system_version object የኦፕሬቲንግ ሲስተም እና የተጫነው ስሪት፣ እንደ ኦፕሬቲንግ ሲስተሞች API እንደመለሰ
ipv4_addresses, ipv6_addresses array አንድ ነገር በ ip, gateway, subnet እና rdns (የተቃራኒ DNS ሆስት ስም) አድራሻ አንድ
recent_actions array እስከ አምስት የቅርብ ጊዜ ተግባራት: id, action, action_display, description, user_email, created_at

የምላሽ ሁኔታ ኮዶች

200 የአገልጋይ ዝርዝሮችን በተሳካ ሁኔታ አግኝተናል
404 አልተገኘም ወይም ሌላ የግልጽነት መለያ ይዟል
አግኝ /api/v1/servers/{uuid}/status/

ሰርቨር

ሰርቨር ከፈጠራችሁ በኋላ ለምርጫ ቀላል ጥሪ፣ ኃይል ወይም መጠንን ይቀይሩ

curl -X GET "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/status/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "status": "on",
  "deployed": true,
  "resizing": false
}

የሰርቨር ሁኔታ

ዋጋ መግለጫ የለም
queue አንድ እንቅስቃሴ (መጫን፣ ኃይል፣ መጠን መለወጥ፣ መልሶ ማቋቋም) በዝርዝር ወይም በሂደት ላይ ነው
deploying በጥቅም ላይ የዋለ. ሰርቨሮች ከኮንትራክሽን ፓነል የተፈጠሩ ይህንን ሁኔታ ይጠቀማሉ፤ ሰርቨሮች በAPI የተፈጠሩ እስከተዘጋጁ ድረስ በፍለጋ ውስጥ ይቀራሉ
on በመስራት ላይ
off የተዘጋ
error የመጨረሻው እንቅስቃሴ አልተሳካም. error_descriptionን ተመልከቱ
suspended_payment ያልተመለሱ ፋይሎችን በመያዝ አቋረጠ
ደብዳቤ /api/v1/servers/{uuid}/power/

የሰርቨር ኃይል

የኃይል እንቅስቃሴን በፍጥነት ያዘጋጃል። የሰርቨር ሁኔታ እስከ ተግባሩ እስኪጠናቀቅ ድረስ ወደ ፍጥነት ይለወጣል

የፈቃድ መጠን: servers:power

የጥያቄ አካል መለኪያዎች

መለኪያ አይነት ያስፈልጋል መግለጫ የለም
action string አዎ start: ኃይል
shutdown: ብልህ መዝጋት, እንግዳው ካልቆመ ተከልክሏል
restart: የኃይል ዑደት (አቁም, ከዚያ ይጀምሩ)
stop: አሁን እንደገና መጀመርን እንደገና መጀመርን ያካሂዳል. ሰርቨርን ከማቆም ለመተው ማጥፋት ይጠቀሙ

የምሳሌ ጥያቄ

cURL
Python
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/power/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"action": "restart"}'
import requests

server_uuid = "8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b"
url = f"https://admin.vps.org/api/v1/servers/{server_uuid}/power/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}

response = requests.post(url, headers=headers, json={"action": "restart"})
print(response.json())

የምሳሌ ምላሽ

{
  "message": "Server restart queued"
}

የምላሽ ሁኔታ ኮዶች

200 ተግባሩ በፍለጋ ውስጥ ነው
400 የቀረበ ወይም ያልተደገፈ እንቅስቃሴ
402 መተግበሪያን መክፈት አልተቻለም ምክንያቱም የሂሳብ አያያዙ ያልተሸፈኑ ፋይሎችን ስለያዘ ነው
404 አልተገኘም ወይም ሌላ የግልጽነት መለያ ይዟል
ደብዳቤ /api/v1/servers/{uuid}/resize/

ሰርቨር

ሰርቨሩን ወደ ሌላው አክቲቭ ዕቅድ ይንቀሳቀሳል. አዲስ ዕቅድ ከዛሬው እጅግ የቀነሰ የዲስክ ቦታ ሊኖረው አይችልም፣ የጠየቀው አካል ደግሞ መጠንን ለመቀየር የሚደረግውን እንቅስቃሴ ማካተት አለበት። ለአዲስ ዕቅድ የሃይፐርቪዥን አቅም በምንም ነገር ከመጠበቅ በፊት ይመረመራል፣ ስለዚህ የተፈረደ ጥያቄ ሰርቨሩን ያልተሻሻለ ያደርገዋል

ሰርቨሩ መጠንን በሚለውጥበት ጊዜ ይዘጋል ከዚያም በኃላ እንደገና ይጀምራል. መጠንን መቀየር ቢሳካ፣ ሰርቨሩ ወደ ቀድሞው ዕቅድ ይመለሳል እና የሚሰራ ከሆነ እንደገና ይጀምራል. የዲስክ መጠን መጨመርን መመለስ አይቻልም

የፈቃድ መጠን: servers:resize

የጥያቄ አካል መለኪያዎች

መለኪያ አይነት ያስፈልጋል መግለጫ የለም
action string አዎ የቅርጽ መጠን መቀየር አለበት
new_plan_uuid string አዎ The uuid of the plan to move to
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/resize/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"action": "resize", "new_plan_uuid": "5e26a4a6-bd0c-467c-abca-da036c811c3f"}'
{
  "message": "Resize queued successfully"
}

Example of a refused resize (409):

{
  "error": "Not enough hypervisor capacity for the selected plan; the server was not changed"
}

የምላሽ ሁኔታ ኮዶች

200 ተግባሩ በፍለጋ ውስጥ ነው
400 የሌለው እንቅስቃሴ ወይም አዲስ_ፕላን_ዩአይዲ፣ ያልሆነ ወይም ያልተንቀሳቃሽ ዕቅድ፣ በዲስክ ቦታ የሌለው ዕቅድ፣ ወይም የጂፒዩ ዕቅድ (ጂፒዩ ዕቅድ በAPI ውስጥ ሊቀየር አይችልም)
404 አልተገኘም ወይም ሌላ የግልጽነት መለያ ይዟል
409 A resize or storage change is already in progress, or there is not enough hypervisor capacity for the new plan
503 የፍቃድ መጠን አሁን ሊመረመር አልቻለም. ሰርቨሩ አልተቀየረም፤ በኋላ ላይ መሞከር ይቻላል
ደብዳቤ /api/v1/servers/{uuid}/reset-password/

ሚስጢራዊ ቃል

አዲስ የሩት ሚስጢራዊ ቃል ይፈጥራል፣ በምላሹ ውስጥ ይመልሳል እና ለውጥን በሰርቨሩ ላይ ያስተላልፋል። አዲስ ሚስጢራዊ ቃልም በኢሜይል ወደ አንተ ይላካል። ሰርቨሩ መዘጋጀት አለበት። የጠየቀው አካል የለም

curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/reset-password/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "message": "Password reset queued. New password will also be emailed to you.",
  "password": "generated-password",
  "job_id": "b6f1c7e2-3a4d-4f5e-8b9c-0d1e2f3a4b5c"
}

የምላሽ ሁኔታ ኮዶች

200 ተግባሩ በፍለጋ ውስጥ ነው
400 ሰርቨሩ አሁንም አልተዘጋጀም
404 አልተገኘም ወይም ሌላ የግልጽነት መለያ ይዟል
አግኝ ደብዳቤ /api/v1/servers/{uuid}/rdns/

ተቀባይ

GET በሰርቨሩ ላይ የIPv4 እና IPv6 አድራሻዎች ሁሉ የቀየረውን የዲ ኤን ኤ ሆስት ስም ይዘረዝራል. POST ለአንድ አድራሻ ያስተካክላል. ባዶ ሆስት ስም መላክ አድራሻውን ወደ ቅድመ-ተቆጣጠረ የዲ ኤን ኤ ስም ይመለሳል

የፈቃድ መጠን: servers:update

የጥያቄ አካል መለኪያዎች (POST)

መለኪያ አይነት ያስፈልጋል መግለጫ የለም
ip string አዎ IPv4 ወይም IPv6 አድራሻ ለዚህ ሰርቨር ተሰጥቷል
hostname string አዎ የፒቲአር ሆስት ስም. ወደ ቅድመ ዕይታ ለመመለስ ባዶ አድርጉት
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/rdns/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"ip": "203.0.113.10", "hostname": "mail.example.com"}'
{
  "message": "Reverse DNS for 203.0.113.10 set to mail.example.com",
  "ip": "203.0.113.10",
  "hostname": "mail.example.com"
}

መልስ፦

{
  "rdns": [
    {"ip": "203.0.113.10", "hostname": "mail.example.com"},
    {"ip": "2001:db8:2:dd::f9:6b", "hostname": "mail.example.com"}
  ]
}

የምላሽ ሁኔታ ኮዶች

400 ip የሌለ ወይም የሆስት ስም አልተወሰነም
404 የኢፒ አድራሻው ለዚህ ሰርቨር አልተመደበም
ደብዳቤ /api/v1/servers/{uuid}/exec/

ትእዛዝን አስጀምር

በሰርቨሩ ውስጥ የሴል ትእዛዝን በኪዩኤምዩ እንግዳ ተቀባይ አማካሪ በመስራት እና ለመጨረስ በመጠባበቅ ላይ ነው ሰርቨሩ መዘጋጀትና መሥራት አለበት፣ እና ኪዩኤምዩ- እንግዳ-ተቀባይ አማካሪ መጫን እና በተቀባዩ ውስጥ መሥራት አለበት

የፈቃድ መጠን: servers:exec

የጥያቄ አካል መለኪያዎች

መለኪያ አይነት ያስፈልጋል መግለጫ የለም
command string አዎ ትእዛዝ መስመሮችን /bin/sh -c ጋር ይጫኑ፣ እስከ 2000 አንቀጾች ድረስ
timeout integer አዎ ለምርመራው የሚጠብቁት ሰከንዶች፣ 1 እስከ 300 (የመጀመሪያው 30)
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/exec/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"command": "uptime", "timeout": 30}'
{
  "stdout": " 21:14:03 up 46 days,  2:10,  0 users,  load average: 0.08, 0.03, 0.01\n",
  "stderr": "",
  "exit_code": 0,
  "timed_out": false
}

ትእዛዙ ወቅቱ ሲያልፍ ገና ቢሰራ፣ መልሱ timed_out ወደ እውነት እና exit_code ወደ ኑል ተደርጎ ተደርጓል

የምላሽ ሁኔታ ኮዶች

200 ትእዛዙ ተሟላ ወይም ጊዜው ወሰደ
400 ሰርቨር አልተጫነም ወይም አልተጀመረም ወይም ያልሆነ ፐራሜትር
409 የQEMU እንግዳ አጋራ በሰርቨሩ ላይ አይሰራም
503 የጊዜያዊ ግንኙነት ችግር. ከRetry-After ርዕስ በኋላ መሞከር
ሰርዝ /api/v1/servers/{uuid}/

አገልጋይ ሰርዝ

ሰርቨሩን ለዘለቄታው ለማጥፋት በፍጥነት ይዘጋጃል። ሰርቨሩ በፍጥነት ከዝርዝሩ ይወጣል እና ሊመለስ አይችልም

የፈቃድ መጠን: servers:delete

curl -X DELETE "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "message": "Server deletion queued"
}

የምላሽ ሁኔታ ኮዶች

202 ተቀባይነት አለው፦ ጥያቄው በዝርዝር ተቀምጧል
404 አልተገኘም ወይም ሌላ የግልጽነት መለያ ይዟል
አግኝ ደብዳቤ /api/v1/ssh-keys/

የSSH ቁልፎች

የሕዝብ SSH ቁልፎችን በሂሳብዎ ውስጥ አስቀምጡ፣ ከዚያም ሰርቨር ሲፈጥሩ እንደ ssh_key_uuids ዩአይዲዎቻቸውን ይተዉ። GET ቁልፎችዎን (በገጽ 25) ይዘረዝራል፤ POST አንድን ይጨምራል።

የፈቃድ መጠን: ssh-keys:list (GET), ssh-keys:create (POST)

የጥያቄ አካል መለኪያዎች (POST)

መለኪያ አይነት ያስፈልጋል መግለጫ የለም
name string አዎ ቁልፉን ለማወቅ የሚያስፈልግ ስም፣ እስከ 100 አንቀጾች ድረስ
public_key string አዎ የሕዝብ ቁልፍ በOpenSSH ቅርጸት፣ ለምሳሌ የid_ed25519.pub ን ይዘት

የምሳሌ ጥያቄ

cURL
Python
curl -X POST "https://admin.vps.org/api/v1/ssh-keys/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "laptop", "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... you@laptop"}'
import requests

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

with open("/home/you/.ssh/id_ed25519.pub") as f:
    data = {"name": "laptop", "public_key": f.read().strip()}

response = requests.post(url, headers=headers, json=data)
print(response.status_code, response.json()["uuid"])

የምሳሌ ምላሽ

{
  "id": 19,
  "uuid": "6e1b9c52-3f8a-4d7e-a2c4-5b9d0e1f2a3c",
  "name": "laptop",
  "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... you@laptop",
  "fingerprint": "0b:4c:9b:48:76:e7:1d:07:b9:ac:71:90:70:f7:9a:69",
  "created_at": "2026-08-23T19:16:11.547183Z",
  "last_used_at": null
}

የምላሽ መስኮች

ፋይል አይነት መግለጫ የለም
id, uuid integer, string ቁልፍ ማወቅያዎች. uuid በ ssh_key_uuids እና በታች ባለው URL ውስጥ ይጠቀሙ፤ id በ ssh_key_ids ውስጥ ይሠራል
fingerprint string የቁልፍ MD5 የፊደል ቅርጽ፣ በፕላቲፎርም የተገመተ
last_used_at datetime | null ቁልፉ በአዲስ ሰርቨር ላይ ለመጨረሻ ጊዜ ከተጫነ ጊዜ

የምላሽ ሁኔታ ኮዶች

201 ቁልፍ ጨመረ
400 ስም የሌለ ወይም የሕዝብ ቁልፍ የታወቀ SSH የሕዝብ ቁልፍ አይደለም
አግኝ ሰርዝ /api/v1/ssh-keys/{uuid}/

የSSH ቁልፍን ማግኘት ወይም ማጥፋት

GET ከላይ ያሉትን መስኮቶች የያዘውን ቁልፍ ይመልሳል። DELETE ከሂሳብዎ ላይ ያስወግዳል እና 204 ያለ አካል ይመልሳል። ቁልፍን ማስወገድ ከሰርቨሮች ላይ ገና ከነበረው ማስቀመጥ አይወገድም። ቁልፎች ሊቀየሩ አይችሉም: ማስወገድ እና እንደገና ማስቀመጥ።

የፈቃድ መጠን: ssh-keys:list (GET), ssh-keys:delete (DELETE)

curl -X DELETE "https://admin.vps.org/api/v1/ssh-keys/6e1b9c52-3f8a-4d7e-a2c4-5b9d0e1f2a3c/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

መዝገብ ቤትን ክፈት

Creating a backup or a snapshot is also a server action: