VPS.org API

REST API փաստաթղթավորում

Սերվերների API

Կերտել, ստուգել, ջերմաստիճանը, վերածել և հեռացնել ձեր VPS սերվերները։ Սերվերները ճանաչվում են իրենց uuid-ի միջոցով։

Վերջնակետեր 15
Հիմնական ուղի /api/v1/servers
ՍՏԱՆԱԼ /api/v1/servers/

Ցանկագրել բոլոր սերվերները

Վերադարձնում է ձեր հաշվի սերվերները, նորագույնից սկսած, 25 էջը մեկ։ Զերծ է մնացել սերվերներից, որոնք հեռացվում են։

Պահանջվող թույլտվություն: servers:list

Հարցման պարամետրեր

Փարամետրի ցուցակ Տեսակ Պարտադիր Ապրանքանիշ
page integer Ոչ էջերի թիվ, սկսած 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 սերվերի ինդեքսը, որը օգտագործվում է յուրաքանչյուր այլ սերվերի վերջնական կետերում
hostname string Համակարգչի անուն, որը ընտրել եք սերվեր ստեղծելիս
status string Այժմյան վիճակը։ Դիտեք ծառայության վիճակի արժեքները ներքևում։
error_description string | null Վերջին ձախողման մանրամասները, երբ վիճակը սխալ է, այլապես 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 USD)։

Պահանջվող թույլտվություն: servers:create

Հարցման մարմնի պարամետրեր

Փարամետրի ցուցակ Տեսակ Պարտադիր Ապրանքանիշ
hostname string Այո Ամենայն հավանականությամբ 3 այբուբեն։ Միայն տառեր, թվեր, կապեր և կետեր։
location_id integer Այո Ակտիվ տեղակայության ID-ն Locations API-ից
plan_uuid string Այո Plans API-ից ակտիվ պլանի uuid-ը
operating_system_version_uuid string Այո Օպերացիոն համակարգի տարբերակների ցանկում ակտիվ մուտքագրման uuid-ը
ssh_key_uuids array Ոչ SSH-ի UUID-ները SSH-ի API-ից, որոնք տեղադրվելու են սերվերում
ssh_key_ids array Ոչ SSH կետերի ամբողջական id-ները, որպես 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 Ստեղծվել է սերվերի ամբողջական օբյեկտի հետ, որը նկարագրված է Get Server Details հատվածում։ Աղբյուրները և 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 Տեղակայության օբյեկտ, ինչպես վերադարձվել է Locations API- ով
plan object Պլանի օբյեկտ, ինչպես վերադարձվել է Պլանների API-ով
operating_system, operating_system_version object Օպերացիոն համակարգ և տեղադրված տարբերակը, ինչպես վերադարձվել է Operating Systems 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: ներկայումս կատարում է նույն էներգիայի ընթացքը, ինչ վերսկսումը։ Կիրառեք shutdown սերվերը անջատելու համար։

Օրինակի հարցում

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"
}

Օրինակ՝ չեղյալ հայտարարված փոփոխության (409) համար:

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

Պատասխանի կարգավիճակի կոդեր

200 Դիմումը հերթափոխվել է
400 Missing action or new_plan_uuid, invalid or inactive plan, a plan with less disk space, or a GPU plan (GPU plans cannot be resized through the API)
404 Չգտնվեց կամ պատկանում է այլ հաշվին
409 Չափի կամ պահպանման փոփոխությունը արդեն կատարվում է, կամ էլ նոր պլանի համար հիպերվիզորի ունակությունը բավարար չէ
503 Չի կարողանում ստուգել ունակությունը: Սերվերը չի փոխվել: Փորձեք կրկին հետո:
ԱՐՏ /api/v1/servers/{uuid}/reset-password/

Նորոգել root- ի գաղտնաբառը

Ծննդաբերում է root- ի նոր պանակը, վերադարձնում է այն պատասխանում և սերվերի վրա թողնում փոփոխության համար սպասարկման ընթացքը։ Նոր պանակը նաև ուղարկվում է ձեզ էլ. փոստով։ Պարզապես պետք է տեղադրել սերվերը։ Պահանջարկի մարմինը պահանջված չէ։

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/

Հակադարձ DNS (PTR)

GET- ը ցուցակում է սերվերի յուրաքանչյուր IPv4 և IPv6 հասցեի հակառակ DNS սերվերի անունը։ POST- ը սահմանում է այն մեկ հասցեի համար։ Թափանցիկ սերվերի անուն ուղարկելը վերականգնում է հասցեի լրիվ հակառակ DNS անունը։

Պահանջվող թույլտվություն: servers:update

Հարցման մարմնի պարամետրեր (POST)

Փարամետրի ցուցակ Տեսակ Պարտադիր Ապրանքանիշ
ip string Այո IPv4 կամ IPv6 հասցե, որը հատկացվել է այս սերվերին
hostname string Ոչ PTR սերվերի անունը: Թույլ տվեք դատարկ մնալ՝ վերադարձնելու համար լրիվ սկզբնականը:
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"
}

GET պատասխան:

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

Պատասխանի կարգավիճակի կոդեր

400 IP հասցե բացակայում է, կամ սերվերի անունը չի կարող սահմանվել
404 IP հասցեն չի նշանակվել այս սերվերին
ԱՐՏ /api/v1/servers/{uuid}/exec/

Աշխատացնել հրամանը սերվերի վրա

Ծրագրային ապահովման հրամանը սերվերի մեջ QEMU հյուրի միջոցով և սպասում է այն ավարտվելու համար։ Պետք է սերվերը տեղադրված և աշխատող լինի, և qemu-guest-agent-ը պետք է տեղադրված և աշխատող լինի հյուրի մեջ։

Պահանջվող թույլտվություն: 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-ը հաստատում է true-ով, իսկ exit_code-ը հաստատում է null-ով։

Պատասխանի կարգավիճակի կոդեր

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 հանրային կոճակները, ապա սերվեր ստեղծելիս նրանց uuids-ը փոխանցել 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"

Արխիվներ և լուսանկարներ

Արխիվային կամ լուսանկարի ստեղծումը նույնպես սերվերի գործողություն է: