VPS.org API

REST API ကိုစာရွက်စာတမ်းများ

ဆာဗာများ API

Create, စိစစ်, စွမ်းအင်, resize နှင့်သင်၏ VPS servers များကိုဖျက်ပစ်. Servers များသူတို့ရဲ့ uuid အားဖြင့်အမည်စာရင်းတင်သွင်းကြသည်။

အဆုံးမှတ်များ 15
အခြေခံလမ်းကြောင်း /api/v1/servers
ရယူပါ /api/v1/servers/

ဆာဗာအားလုံးကို စာရင်းပြုစုပါ

သင့်ရဲ့အကောင့်ထဲမှာ servers တွေကိုပြန်လာ, အသစ်ဆုံးပထမဦးဆုံး, 25 စာမျက်နှာတစ်မျက်နှာ. ဖျက်ပစ်ခံရတဲ့ servers တွေကိုမပါဘဲဖြစ်ကြသည်။

ခွင့်ပြုချက်လိုအပ်သည်: servers:list

မေးမြန်းချက် ကန့်သတ်ချက်များ

သတ်မှတ်ချက် အမျိုးအစား လိုအပ်သည် ဖော်ပြချက်
page integer ဟုတ်ကဲ့ စာမျက်နှာနံပါတ်၊ ၁ မှစတင်သည်
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 လက်ရှိအခြေအနေ။ အောက်တွင် Server ကိုအခြေအနေတန်ဖိုးများကိုကြည့်ပါ။
error_description string | null အခြေအနေမှာအမှားဖြစ်လျှင် နောက်ဆုံးပျက်ကွက်မှု၏အသေးစိတ်အချက်အလက်များ၊ မဆိုလိုလျှင်အစစ်
location_name string ဆာဗာ တည်နေရာ၏ အမည်
os_name string operating system နာမည်၊ ဗားရှင်းမရှိ
plan_name string ဖတ်ရှုနိုင်သောအစီအစဉ်အတိုချုပ်, ဥပမာ 1 vCPU /2GB RAM / 10 GB
ipv4_addresses array strings အဖြစ် IPv4 addresses ။ server ကိုတပ်ဆင်ထားသည်အထိအလွတ်, နှင့် IPv4 မရှိဘဲစီမံကိန်းများအပေါ်။
ipv6_addresses array strings အဖြစ် IPv6 လိပ်စာများ။ ဆာဗာကဖြန့်ချိသည်အထိအလွတ်။
created_at datetime ဖန်တီးချိန် (ISO 8601, UTC)
deployed boolean စီစဉ်ခြင်းပြီးဆုံးပြီးနောက်မှန်သည်

တုံ့ပြန်မှု အခြေအနေ ကုဒ်များ

200 ဆာဗာစာရင်းကို အောင်မြင်စွာ ပြန်လည်ရယူပြီးပါပြီ
403 API token မပါဘဲ သို့မဟုတ် မမှန်ကန်ပါ၊ သို့မဟုတ် token သည်လိုအပ်သောခွင့်ပြုချက်မရှိပါ
ပို့စ် /api/v1/servers/

ဆာဗာအသစ် ဖန်တီးပါ

ဖြန့်ချိအတွက် server ကိုအသစ်ကို Queues နှင့် status ကိုတန်းနှင့်အတူချက်ချင်းပြန်လာ. Provisioning အနောက်ခံတွင်ဆက်လက်: ဖြန့်ချိသည်အထိအခြေအနေ endpoint ကို poll မှန်ကန်သည်. ဆာဗာအဆင်သင့်ဖြစ်တဲ့အခါ, ၎င်း၏ login အချက်အလက်များအကောင့်ပိုင်ရှင်ထံသို့အီးမေးလ်ပို့ကြသည်။

သင့်အကောင့်ကိုသိမ်းဆည်းထားငွေပေးချေမှုနည်းလမ်းလိုအပ်သည်။ သင့်အကောင့်သမိုင်းပေါ် မူတည်၍ စီမံကိန်း၏စျေးနှုန်း၏တစ်ပတ်ခန့် (အနည်းဆုံး 1 USD) ကာလရှည် pre-authorization ထိန်းသိမ်းထားခြင်းသည် server ကိုဖန်တီးမပြုမီသင့်ကဒ်ပေါ်တွင်ထည့်သွင်းနိုင်သည်။

ခွင့်ပြုချက်လိုအပ်သည်: servers:create

ခန္ဓာကိုယ် ကန့်သတ်ချက်များ တောင်းဆိုပါ

သတ်မှတ်ချက် အမျိုးအစား လိုအပ်သည် ဖော်ပြချက်
hostname string ဟုတ်ကဲ့ အနည်းဆုံး3အက္ခရာများ. စာလုံးများ, ဂဏန်းများ, hyphens နှင့်ကာလများသာ.
location_id integer ဟုတ်ကဲ့ တည်နေရာ API မှ သက်ဝင်နေသော တည်နေရာ၏ အိုင်ဒီ
plan_uuid string ဟုတ်ကဲ့ စီမံကိန်း API မှ သက်ဝင်သောစီမံကိန်း၏ uuid
operating_system_version_uuid string ဟုတ်ကဲ့ လည်ပတ်မှုစနစ်၏ ဗားရှင်းစာရင်းတွင် သက်ဝင်နေသော ထည့်သွင်းချက်၏ uuid
ssh_key_uuids array ဟုတ်ကဲ့ ဆာဗာပေါ်တွင် install လုပ်ရန် SSH Keys API မှ SSH key များ UUIDs
ssh_key_ids array ဟုတ်ကဲ့ ssh_key_uuids ၏ အခြားရွေးချယ်စရာအဖြစ် SSH ကီးများ၏ အပြည့်အစုံ id များ။ နှစ်ခုစလုံး ပို့ပါက ssh_key_ids ကို အသုံးပြုသည်။
ssh_key_uuid, ssh_key_id string, integer ဟုတ်ကဲ့ SSH ကီးတစ်လုံးအတွက် အတိုကောက်
auth_method string ဟုတ်ကဲ့ password, ssh_key သို့မဟုတ်နှစ်ဦးစလုံး။ SSH ကီးများပေးပို့တဲ့အခါစကားဝှက်သို့သို့မဟုတ်နှစ်ဦးစလုံးသို့ defaults ။

နမူနာတောင်းဆိုချက်

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 အောက်တွင်ဖော်ပြထားသောအပြည့်အဝ server ကို object နဲ့အတူ Created ။ လိပ်စာများနှင့် 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 file ပေါ်တွင်ငွေပေးချေမှုနည်းလမ်းမရှိ၊ ငွေပေးချေမှုမပြုလုပ်ရသေးသော ငွေပေးချေမှုစာရင်း၊ သို့မဟုတ် ကတ်ကြေးပေးသွင်းခြင်းကို ငြင်းပယ်ခြင်း
403 API token မပါဘဲ သို့မဟုတ် မမှန်ကန်ပါ၊ သို့မဟုတ် token သည်လိုအပ်သောခွင့်ပြုချက်မရှိပါ
429 သင့်အကောင့်သည် ဆာဗာတည်ဆောက်မှုအမြင့်ဆုံးကို ရောက်ရှိသွားပြီ
ရယူပါ /api/v1/servers/{uuid}/

ဆာဗာအသေးစိတ်အချက်အလက်များကို ရယူပါ

၎င်း၏တည်နေရာ, အစီအစဉ်, operating system ကို, IP addresses နှင့်ငါးခုနောက်ဆုံးလုပ်ဆောင်ချက်များကိုနှင့်အတူတစ် server ကိုပြန်လာ.

ခွင့်ပြုချက်လိုအပ်သည်: 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 Virtual machine number, တပ်ဆင်စဉ်အတွင်း သတ်မှတ်
location object တည်နေရာ object, တည်နေရာ API ကပြန်ပေးတဲ့အတိုင်း
plan object စီမံကိန်း API မှပြန်လာသည့်အတိုင်းစီမံကိန်း အရာဝတ္ထု
operating_system, operating_system_version object operating system နှင့် installed version, operating system API မှပြန်လာသည်
ipv4_addresses, ipv6_addresses array ip ကိုနှင့်အတူလိပ်စာတစ်ဦး object ကို, gateway ကို, subnet နှင့် rdns (ဒီ reverse DNS ကို hostname)
recent_actions array အထိငါးနောက်ဆုံးပေါ်လုပ်ဆောင်ချက်များကို: id, action, action_display, ဖော်ပြချက်, user_email, created_at

တုံ့ပြန်မှု အခြေအနေ ကုဒ်များ

200 ဆာဗာအသေးစိတ်အချက်အလက်များကို အောင်မြင်စွာရယူပြီးပါပြီ
404 မတွေ့ရှိပါ၊ သို့မဟုတ် အခြားအကောင့်တစ်ခုနှင့် သက်ဆိုင်သည်
ရယူပါ /api/v1/servers/{uuid}/status/

ဆာဗာ အခြေအနေကို ရရှိပါသည်

ဆာဗာတစ်ခုကိုဖန်တီးပြီး၊ စွမ်းအင်သို့မဟုတ်အရွယ်အစားပြောင်းပြီးနောက် poll များအတွက်အလေးချိန်နည်းသောခေါ်ဆိုမှု

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 ပေးအပ်ခြင်းခံရခြင်း။ ထိန်းချုပ်မှု panel ကိုမှဖန်တီး servers များဒီပြည်နယ်ကိုအသုံးပြုပါ; servers API ကိုမှတဆင့်ဖန်တီးသူတို့အဆင်သင့်ဖြစ်သောအထိတန်းထဲမှာနေထိုင်။
on လုပ်ဆောင်နေသည်
off လျှပ်စစ်အား ပိတ်ထားသည်
error နောက်ဆုံးလုပ်ဆောင်ချက် မအောင်မြင်ပါ error_description ကိုကြည့်ပါ။
suspended_payment ငွေပေးချေမှုမပြုသေးသောကြောင့် ရပ်ဆိုင်းထား
ပို့စ် /api/v1/servers/{uuid}/power/

ဆာဗာစွမ်းအင်ထိန်းချုပ်

စွမ်းအင်လုပ်ဆောင်ချက်ကို တန်းစီပါ

ခွင့်ပြုချက်လိုအပ်သည်: servers:power

ခန္ဓာကိုယ် ကန့်သတ်ချက်များ တောင်းဆိုပါ

သတ်မှတ်ချက် အမျိုးအစား လိုအပ်သည် ဖော်ပြချက်
action string ဟုတ်ကဲ့ start: စွမ်းအား
shutdown: ဧည့်သည်သည်ရပ်တန့်ခြင်းမရှိပါက ရပ်တန့်ရန် ခိုင်းစေသော ချောမွေ့သော ရပ်တန့်ခြင်း
restart: hard power cycle (ရပ်တန့်, ထို့နောက်စတင်)
stop: ယခုအချိန်တွင် restart အဖြစ်တူညီသောစွမ်းအင်စက်ဝိုင်းကိုလုပ်ဆောင်. ဆာဗာ off ကိုထားရန် 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/

ဆာဗာအရွယ်အစားပြန်ပြောင်း

server ကိုအခြားအသက်ဝင်အစီအစဉ်သို့ရွှေ့ပြောင်း. အသစ်အစီအစဉ်လက်ရှိတစ်ခုထက်ပိုမိုသေးငယ်တဲ့ disk space ကိုမရှိသည်နိုင်ပါတယ်, နှင့်တောင်းဆိုချက်ကိုယ်ခန္ဓာ resize ရန် action ကို set ကိုပါဝင်ရမည်. အသစ်အစီအစဉ်အတွက် Hypervisor စွမ်းဆောင်ရည်ကိုဘာမှမစောင့်ရှောက်မီစစ်ဆေးသည်, ဒါကြောင့်ငြင်းပယ်တောင်းဆိုချက် server ကိုပြောင်းလဲပစ်လိုက်တယ်။

ဆာဗာသည်အရွယ်အစားပြောင်းလဲပြီးနောက်ပိုင်းတွင်ပြန်စတင်သောအခါ shutdown လုပ်သည်။ resize မအောင်မြင်ပါကဆာဗာသည်၎င်း၏ယခင်အစီအစဉ်ကိုပြန်ထည့်ပြီး၎င်းကိုလည်ပတ်နေလျှင်ပြန်စတင်သည်။ ဒစ်ဂျစ်တယ်ကြီးထွားမှုသည်ပြန်မလုပ်နိုင်ပါ။

ခွင့်ပြုချက်လိုအပ်သည်: servers:resize

ခန္ဓာကိုယ် ကန့်သတ်ချက်များ တောင်းဆိုပါ

သတ်မှတ်ချက် အမျိုးအစား လိုအပ်သည် ဖော်ပြချက်
action string ဟုတ်ကဲ့ အရွယ်ပြန်ပြောင်းရမည်
new_plan_uuid string ဟုတ်ကဲ့ ပြောင်းရွှေ့ရန် စီမံကိန်း၏ uuid
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"
}

ငြင်းပယ် resize ၏ဥပမာ (409):

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

တုံ့ပြန်မှု အခြေအနေ ကုဒ်များ

200 လုပ်ဆောင်ချက်ကို တန်းစီထားသည်
400 ပျောက်ဆုံးနေ action ကိုသို့မဟုတ် new_plan_uuid, မမှန်ကန်သို့မဟုတ်မလှုပ်ရှားသောစီမံကိန်း, နည်းပါးသော disk နေရာနှင့်အတူစီမံကိန်း, သို့မဟုတ်တစ်ဦး GPU ကိုစီမံကိန်း (GPU ကိုစီမံကိန်းများ API ကိုမှတဆင့် size ကိုမပြောင်းလဲနိုင်)
404 မတွေ့ရှိပါ၊ သို့မဟုတ် အခြားအကောင့်တစ်ခုနှင့် သက်ဆိုင်သည်
409 အရွယ်အစားပြန်ချိန်ခြင်း သိုလှောင်မှုပြောင်းလဲခြင်း လုပ်ဆောင်နေသည်၊ သို့မဟုတ် အစီအစဉ်အသစ်အတွက် hypervisor စွမ်းဆောင်ရည် မလုံလောက်ပါ
503 စွမ်းဆောင်ရည်ကို ချက်ချင်းစစ်ဆေးလို့မရပါ။ ဆာဗာကို မပြောင်းလဲခဲ့ပါ။ နောက်ပိုင်းမှာ ပြန်ကြိုးစားပါ။
ပို့စ် /api/v1/servers/{uuid}/reset-password/

root စကားဝှက်ကိုပြန်ချိန်ပါ

root password အသစ်တစ်ခုကိုဖန်တီး, တုံ့ပြန်မှုနှင့် server ပေါ်တွင်ပြောင်းလဲမှုအတန်းလိုက်ပြန်လာ. အသစ် password ကိုသင်တို့ကိုအီးမေးလ်ပို့ပေးသည်. server ကိုဖြန့်ချိထားရမည်. အဘယ်သူမျှမတောင်းဆိုချက်ကိုယ်ခန္ဓာလိုအပ်သည်.

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 server ပေါ်တွင်အားလုံး IPv4 နှင့် IPv6 အမည်ဝှက်၏ reverse DNS hostname ကိုစာရင်းပြုစု. POST တစ်ခုတည်းသောအမည်ဝှက်အတွက် set ထား. အလွတ် hostname ကိုပို့ခြင်းသည်၎င်း၏ default ကို reverse DNS အမည်ဝှက်ကို reset.

ခွင့်ပြုချက်လိုအပ်သည်: servers:update

ခန္ဓာကိုယ် ကန့်သတ်ချက်များ တောင်းဆိုပါ (POST)

သတ်မှတ်ချက် အမျိုးအစား လိုအပ်သည် ဖော်ပြချက်
ip string ဟုတ်ကဲ့ ဆာဗာသို့ ပေးအပ်ထားသော IPv4 သို့မဟုတ် IPv6 လိပ်စာ
hostname string ဟုတ်ကဲ့ PTR hostname ကို။ စံသတ်မှတ်ချက်သို့ ပြန်ချိန်ဖို့ အလွတ်ထားပါ။
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 မပါ၊ သို့မဟုတ် hostname ကို မသတ်မှတ်နိုင်ဘူး
404 IP လိပ်စာကို ဆာဗာသို့ မခွဲဝေပါ
ပို့စ် /api/v1/servers/{uuid}/exec/

ဆာဗာပေါ်တွင် အမိန့်ကို လုပ်ဆောင်ပါ

QEMU guest agent မှတဆင့် server အတွင်းရှိ shell command ကို run ပြီးပြီးချင်းစောင့်ကြည့်သည်။ server ကို တပ်ဆင်ပြီး လည်ပတ်ရမည်ဖြစ်ပြီး qemu-guest-agent ကို တပ်ဆင်ပြီး လည်ပတ်ရမည်ဖြစ်သည်။

ခွင့်ပြုချက်လိုအပ်သည်: servers:exec

ခန္ဓာကိုယ် ကန့်သတ်ချက်များ တောင်းဆိုပါ

သတ်မှတ်ချက် အမျိုးအစား လိုအပ်သည် ဖော်ပြချက်
command string ဟုတ်ကဲ့ command line ကို / bin / sh -c နှင့်အတူ run, 2000 စာလုံးအထိ
timeout integer ဟုတ်ကဲ့ အမိန့်ပေးချက်အတွက်စောင့်နေသည့်စက္ကန့်၊ ၁ မှ ၃၀၀ (စံ ၃၀)
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
}

command ကိုအချိန်ကုန်ဆုံးချိန်တွင်ပြေးနေလျှင်, တုံ့ပြန်မှု timed_out ကိုမှန်ကန်သောနှင့် exit_code ကို null သတ်မှတ်ထားသည်။

တုံ့ပြန်မှု အခြေအနေ ကုဒ်များ

200 အမိန့်ပေးချက် ပြီးဆုံးသည်
400 ဆာဗာ မဖြန့်ချိဘူး၊ မလည်ပတ်ဘူး၊ သို့မဟုတ် မမှန်တဲ့ သတ်မှတ်ချက်တွေ
409 QEMU ဧည့်သည်အန်ဂျင်နီယာသည် ဆာဗာပေါ်တွင် မလည်ပတ်ပါ
503 ယာယီဆက်သွယ်မှုပြဿနာ။ Retry-After header ပြီးနောက်ထပ်ကြိုးစားပါ။
ဖျက်ရန် /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 ကီးများကိုသိမ်းဆည်း, ထို့နောက်သင်က server ကိုဖန်တီးတဲ့အခါ ssh_key_uuids အဖြစ်သူတို့ရဲ့ uuids ပေးပို့. GET သင့်ရဲ့ကီးများကိုစာရင်း (စာမျက်နှာတစ်ဦးလျှင် 25); POST တစ်ခုကို adds.

ခွင့်ပြုချက်လိုအပ်သည်: ssh-keys:list (GET), ssh-keys:create (POST)

ခန္ဓာကိုယ် ကန့်သတ်ချက်များ တောင်းဆိုပါ (POST)

သတ်မှတ်ချက် အမျိုးအစား လိုအပ်သည် ဖော်ပြချက်
name string ဟုတ်ကဲ့ ကီးကို အသိအမှတ်ပြုရန် အမည်၊ အက္ခရာ ၁၀၀ အထိ
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 Key ကိုအမည်များ. ssh_key_uuids နှင့်အောက်ပါ URL ကိုတွင် uuid ကိုအသုံးပြုပါ; id ssh_key_ids တွင်အလုပ်လုပ်သည်။
fingerprint string ကိရိယာမှတဆင့် လျှို့ဝှက်သော့၏ MD5 လက်ဗွေ
last_used_at datetime | null ဆာဗာအသစ်တွင် ကီးကို နောက်ဆုံး ထည့်သွင်းခဲ့သည်

တုံ့ပြန်မှု အခြေအနေ ကုဒ်များ

201 ကီးထည့်
400 နာမည်မရှိ၊ သို့မဟုတ် အများသုံး ကီးသည် SSH အများသုံး ကီးမဟုတ်ပါ
ရယူပါ ဖျက်ရန် /api/v1/ssh-keys/{uuid}/

SSH Key ကို သိမ်းဆည်းပါ

GET အပေါ်ကနယ်ပယ်များနှင့်အတူတစ်ဦး key ကိုပြန်လာ. DELETE သင့်ရဲ့အကောင့်မှဖယ်ရှားပစ်သည်နှင့်ပြန်လာ 204 အဘယ်သူမျှမကိုယ်ခန္ဓာနှင့်အတူ. တစ်ခု key ကိုဖျက်ပစ်ခြင်းက servers များမှဖယ်ရှားပစ်ခြင်းမရှိပါဒါကအရင်က install လုပ်ထားခဲ့သည်. Keys ကိုတည်းဖြတ်နိုင်ခြင်းမရှိပါ: delete လုပ်ပြီးထပ်မံထည့်သွင်း.

ခွင့်ပြုချက်လိုအပ်သည်: 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"

バックအမ်နှင့် ဓာတ်ပုံများ

backup တစ်ခုပြုလုပ်ခြင်းသည် server လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်