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 Хэрэв алдаа байвал сүүлийн алдааны тухай мэдээллийг харуулна, эс бөгөөс нуль
location_name string Серверийн ажилладаг газрын нэр
os_name string Операциын системийн нэр, хувилбаргүй
plan_name string Унших боломжтой төлөвлөгөөний тойм, жишээ нь 1 vCPU / 2GB RAM / 10GB
ipv4_addresses array IPv4 хаяг нь мөрүүд. Серверийг ажиллуулж дуусах хүртэл, IPv4-гүй төлөвлөгөөнд хоосон.
ipv6_addresses array IPv6 хаяг нь мөрөнд байдаг. Серверийг ажиллуулж дуусах хүртэл хоосон байлгана.
created_at datetime Бүтээх цаг (ISO 8601, UTC)
deployed boolean Провижерийн төгсгөлд үнэн

Хариу үйлдлийн төлөвийн кодууд

200 Серверийн жагсаалтыг амжилттай авлаа
403 API-ийн түлхүүр алга, эсвэл хүчингүй, эсвэл түлхүүр нь шаардлагатай эрхийг агуулаагүй
ХАЯГДАЛ /api/v1/servers/

Шинэ сервер үүсгэх

Шинэ серверийг байрлуулахын тулд дараалалд оруулж, нэн даруй нөхцөл байдлын жагсаалтыг харуулна. Оролцох нь арын фон дээр үргэлжилнэ: нөхцөл байдал нь үнэн болтол байрлуулсан. Сервер бэлэн болсон үед, түүний бүртгэлийн мэдээллийг дансны эзэнд илгээх болно.

Таны дансанд хадгалагдсан төлбөрийн арга шаардлагатай. Таны дансны түүхээс хамааран серверийг үүсгэхээс өмнө таны карт дээр нэг долоо хоногийн хугацаатай төлөвлөгөөний үнэ (хамгийн багадаа 1 доллар)-ын түр хугацааны зөвшөөрөл олгох хугацааг тогтоож болно.

Зөвшөөрөл шаардагдана: servers:create

Хүсэлтийн биеийн параметрүүд

Параметр Төрөл Шаардлагатай Тодорхойлолт
hostname string Тийм Хамгийн багадаа3хүртэлх тэмдэгт. Ганцхан үсэг, тоо, холбоос, цэг.
location_id integer Тийм Locations API- аас идэвхтэй байршлын ID
plan_uuid string Тийм Plans API- аас идэвхтэй төлөвлөгөөний uuid
operating_system_version_uuid string Тийм Операциын системийн хувилбарын жагсаалтад байгаа идэвхтэй бичлэгийн uuid
ssh_key_uuids array Үгүй Серверт суурилуулах SSH түлхүүр API-аас SSH түлхүүрүүдийн UUID
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_ түлхүүр эсвэл хоёулаа. СSH түлхүүрүүдийг өгсөн үед урьдчилсан тохиргоо нь нууц үг, эсвэл хоёулаа.

Жишээ хүсэлт

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-ийн түлхүүр алга, эсвэл хүчингүй, эсвэл түлхүүр нь шаардлагатай эрхийг агуулаагүй
429 Таны бүртгэл серверийн үүсгэх хязгаарлалтад хүрлээ
АВАХ /api/v1/servers/{uuid}/

Серверийн дэлгэрэнгүй мэдээллийг авах

Нэг серверийн байршил, төлөвлөгөө, үйлдлийн систем, IP хаяг болон сүүлийн5үйлдэл зэргийг харуулна.

Зөвшөөрөл шаардагдана: 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 Plans API-ийн өгсөн төлөвлөгөөний объект
operating_system, operating_system_version object Операциын систем ба суулгасан хувилбар, Operating Systems API- аас өгсөн
ipv4_addresses, ipv6_addresses array IP, шлюз, дотоод сүлжээ, rdns (хүлээн авах DNS хостын нэр) - тэй хаягийн нэг объект
recent_actions array Сүүлийн5хэрэглэл: 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 Үйлдэл эсвэл new_plan_uuid байхгүй, буруу эсвэл идэвхгүй төлөвлөгөө, бага дискийн зайтай төлөвлөгөө, эсвэл GPU төлөвлөгөө (GPU төлөвлөгөө 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 зочин агентаар дамжуулан серверийн доторх shell командыг гүйцэтгэж дуусах хүртэл хүлээнэ. Серверийг ажиллуулж, 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-ийг үнэн болгож, 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 түлхүүрүүдийг хадгалж, сервер үүсгэх үед тэдний 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"

Нууцлал ба зураг

Нэмэлт нөөц эсвэл зураг авах нь серверийн үйлдэл мөн: