VPS.org API

ເອກະສານ REST API

API ຂອງເຊີບເວີ

ຈັດການເຊີບເວີ VPS ຂອງທ່ານດ້ວຍໂປຣແກຣມ. ສ້າງ, ຕັ້ງຄ່າ, ຄວບຄຸມ ແລະ ຕິດຕາມກວດກາເຊີບເວີສ່ວນຕົວເສມືນຂອງທ່ານ.

ຈຸດສິ້ນສຸດ 9
ເສັ້ນທາງພື້ນຖານ /api/v1/servers
ຮັບ /api/v1/servers/

ລາຍຊື່ເຊີບເວີທັງໝົດ

ດຶງເອົາລາຍຊື່ເຊີບເວີທັງໝົດໃນບັນຊີຂອງທ່ານ.

ພາລາມິເຕີການສອບຖາມ

ພາລາມິເຕີ ປະເພດ ຕ້ອງມີການ ລາຍລະອຽດ
status ສະຕຣິງ ບໍ່ ກັ່ນຕອງຕາມສະຖານະເຊີບເວີ: ເປີດໃຊ້ງານ, ຢຸດ, ໂຈະໄວ້ຊົ່ວຄາວ
location ສະຕຣິງ ບໍ່ ກັ່ນຕອງຕາມສະຖານທີ່ສູນຂໍ້ມູນ

ຕົວຢ່າງການຮ້ອງຂໍ

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

url = "https://admin.vps.org/api/v1/servers/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}

response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch('https://admin.vps.org/api/v1/servers/', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  }
});

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

$response = curl_exec($ch);
$servers = json_decode($response, true);
curl_close($ch);

ຕົວຢ່າງການຕອບສະໜອງ

{
  "count": 2,
  "results": [
    {
      "id": 12345,
      "name": "web-server-01",
      "hostname": "web01.example.com",
      "status": "active",
      "ip_address": "203.0.113.10",
      "location": "us-west",
      "plan": {
        "id": 1,
        "name": "Standard VPS",
        "vcpus": 2,
        "memory": 4096,
        "storage": 80
      },
      "os": {
        "id": 5,
        "name": "Ubuntu 22.04 LTS"
      },
      "created_at": "2025-01-10T14:30:00Z",
      "updated_at": "2025-01-15T10:20:00Z"
    },
    {
      "id": 12346,
      "name": "db-server-01",
      "hostname": "db01.example.com",
      "status": "active",
      "ip_address": "203.0.113.11",
      "location": "us-east",
      "plan": {
        "id": 2,
        "name": "Performance VPS",
        "vcpus": 4,
        "memory": 8192,
        "storage": 160
      },
      "os": {
        "id": 3,
        "name": "Debian 12"
      },
      "created_at": "2025-01-12T09:15:00Z",
      "updated_at": "2025-01-16T08:45:00Z"
    }
  ]
}

ລະຫັດສະຖານະການຕອບສະໜອງ

200 ດຶງຂໍ້ມູນລາຍຊື່ເຊີບເວີສຳເລັດແລ້ວ
401 ບໍ່ໄດ້ຮັບອະນຸຍາດ - ໂທເຄັນ API ບໍ່ຖືກຕ້ອງ ຫຼື ບໍ່ມີ
ໂພສ /api/v1/servers/

ສ້າງເຊີບເວີໃໝ່

ຕິດຕັ້ງເຊີບເວີ VPS ໃໝ່ດ້ວຍການຕັ້ງຄ່າທີ່ກຳນົດໄວ້.

ຮ້ອງຂໍພາລາມິເຕີຂອງຮ່າງກາຍ

ພາລາມິເຕີ ປະເພດ ຕ້ອງມີການ ລາຍລະອຽດ
name ສະຕຣິງ ແມ່ນແລ້ວ ຊື່ເຊີບເວີ (ຕົວອັກສອນ ແລະ ຕົວເລກ, ອະນຸຍາດໃຫ້ໃຊ້ເຄື່ອງໝາຍຂີດ)
plan_id ຈຳນວນເຕັມ ແມ່ນແລ້ວ ID ຂອງແຜນ VPS
os_id ຈຳນວນເຕັມ ແມ່ນແລ້ວ ID ຂອງລະບົບປະຕິບັດການ
location ສະຕຣິງ ແມ່ນແລ້ວ ລະຫັດສະຖານທີ່ສູນຂໍ້ມູນ
hostname ສະຕຣິງ ບໍ່ ຊື່ໂຮສເຊີບເວີ (FQDN)
ssh_key_id ຈຳນວນເຕັມ ບໍ່ ID ລະຫັດ SSH ທີ່ຈະຕິດຕັ້ງ
backups_enabled ບູລຽນ ບໍ່ ເປີດໃຊ້ການສຳຮອງຂໍ້ມູນອັດຕະໂນມັດ (ຄ່າເລີ່ມຕົ້ນ: false)

ຕົວຢ່າງການຮ້ອງຂໍ

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 '{
    "name": "web-server-02",
    "plan_id": 1,
    "os_id": 5,
    "location": "us-west",
    "hostname": "web02.example.com",
    "backups_enabled": true
  }'
import requests

url = "https://admin.vps.org/api/v1/servers/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}
data = {
    "name": "web-server-02",
    "plan_id": 1,
    "os_id": 5,
    "location": "us-west",
    "hostname": "web02.example.com",
    "backups_enabled": True
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
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({
    name: 'web-server-02',
    plan_id: 1,
    os_id: 5,
    location: 'us-west',
    hostname: 'web02.example.com',
    backups_enabled: true
  })
});

const server = await response.json();
console.log(server);
$data = [
    'name' => 'web-server-02',
    'plan_id' => 1,
    'os_id' => 5,
    'location' => 'us-west',
    'hostname' => 'web02.example.com',
    'backups_enabled' => true
];

$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);

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

ຕົວຢ່າງການຕອບສະໜອງ

{
  "id": 12347,
  "name": "web-server-02",
  "hostname": "web02.example.com",
  "status": "provisioning",
  "ip_address": null,
  "location": "us-west",
  "plan": {
    "id": 1,
    "name": "Standard VPS",
    "vcpus": 2,
    "memory": 4096,
    "storage": 80
  },
  "os": {
    "id": 5,
    "name": "Ubuntu 22.04 LTS"
  },
  "backups_enabled": true,
  "created_at": "2025-01-16T15:30:00Z",
  "updated_at": "2025-01-16T15:30:00Z",
  "message": "Server is being provisioned. This may take 2-5 minutes."
}

ລະຫັດສະຖານະການຕອບສະໜອງ

201 ສ້າງເຊີບເວີສຳເລັດແລ້ວ
400 ຄຳຮ້ອງຂໍບໍ່ຖືກຕ້ອງ - ພາລາມິເຕີບໍ່ຖືກຕ້ອງ
401 ບໍ່ໄດ້ຮັບອະນຸຍາດ - ໂທເຄັນ API ບໍ່ຖືກຕ້ອງ ຫຼື ບໍ່ມີ
402 ຕ້ອງຈ່າຍເງິນ - ເຄຣດິດບໍ່ພຽງພໍ
ຮັບ /api/v1/servers/{server_id}/

ຮັບລາຍລະອຽດເຊີບເວີ

ດຶງຂໍ້ມູນລະອຽດກ່ຽວກັບເຊີບເວີສະເພາະ.

ພາລາມິເຕີເສັ້ນທາງ

ພາລາມິເຕີ ປະເພດ ຕ້ອງມີການ ລາຍລະອຽດ
server_id ຈຳນວນເຕັມ ແມ່ນແລ້ວ ID ເຊີບເວີທີ່ເປັນເອກະລັກ

ຕົວຢ່າງການຮ້ອງຂໍ

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

server_id = 12345
url = f"https://admin.vps.org/api/v1/servers/{server_id}/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}

response = requests.get(url, headers=headers)
print(response.json())
const serverId = 12345;
const response = await fetch(`https://admin.vps.org/api/v1/servers/${serverId}/`, {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  }
});

const server = await response.json();
console.log(server);

ຕົວຢ່າງການຕອບສະໜອງ

{
  "id": 12345,
  "name": "web-server-01",
  "hostname": "web01.example.com",
  "status": "active",
  "ip_address": "203.0.113.10",
  "ipv6_address": "2001:0db8::1",
  "location": "us-west",
  "plan": {
    "id": 1,
    "name": "Standard VPS",
    "vcpus": 2,
    "memory": 4096,
    "storage": 80,
    "bandwidth": 2048
  },
  "os": {
    "id": 5,
    "name": "Ubuntu 22.04 LTS"
  },
  "backups_enabled": true,
  "resource_usage": {
    "cpu_percent": 23.5,
    "memory_used": 2048,
    "disk_used": 35,
    "bandwidth_used": 450
  },
  "created_at": "2025-01-10T14:30:00Z",
  "updated_at": "2025-01-16T15:45:00Z"
}

ລະຫັດສະຖານະການຕອບສະໜອງ

200 ດຶງຂໍ້ມູນລາຍລະອຽດເຊີບເວີສຳເລັດແລ້ວ
401 ບໍ່ໄດ້ຮັບອະນຸຍາດ - ໂທເຄັນ API ບໍ່ຖືກຕ້ອງ ຫຼື ບໍ່ມີ
404 ບໍ່ພົບ - ບໍ່ມີເຊີບເວີ
ໃສ່ /api/v1/servers/{server_id}/

ອັບເດດເຊີບເວີ

ອັບເດດການຕັ້ງຄ່າເຊີບເວີ. ຕ້ອງຕື່ມຂໍ້ມູນໃສ່ທຸກຊ່ອງ.

ພາລາມິເຕີເສັ້ນທາງ

Parameter Type Required Description
server_id integer Yes ID ເຊີບເວີທີ່ເປັນເອກະລັກ

ຮ້ອງຂໍພາລາມິເຕີຂອງຮ່າງກາຍ

ພາລາມິເຕີ ປະເພດ ຕ້ອງມີການ ລາຍລະອຽດ
name ສະຕຣິງ ແມ່ນແລ້ວ ຊື່ເຊີບເວີ
hostname ສະຕຣິງ ແມ່ນແລ້ວ ຊື່ໂຮສເຊີບເວີ (FQDN)
backups_enabled ບູລຽນ ແມ່ນແລ້ວ ເປີດ/ປິດການສຳຮອງຂໍ້ມູນອັດຕະໂນມັດ

ຕົວຢ່າງການຮ້ອງຂໍ

cURL
Python
curl -X PUT "https://admin.vps.org/api/v1/servers/12345/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "web-server-updated",
    "hostname": "web-updated.example.com",
    "backups_enabled": true
  }'
import requests

server_id = 12345
url = f"https://admin.vps.org/api/v1/servers/{server_id}/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}
data = {
    "name": "web-server-updated",
    "hostname": "web-updated.example.com",
    "backups_enabled": True
}

response = requests.put(url, headers=headers, json=data)
print(response.json())

ລະຫັດສະຖານະການຕອບສະໜອງ

200 ອັບເດດເຊີບເວີສຳເລັດແລ້ວ
400 ຄຳຮ້ອງຂໍບໍ່ຖືກຕ້ອງ - ພາລາມິເຕີບໍ່ຖືກຕ້ອງ
404 ບໍ່ພົບ - ບໍ່ມີເຊີບເວີ
ປ້າຍ /api/v1/servers/{server_id}/

ອັບເດດເຊີບເວີບາງສ່ວນ

ອັບເດດຊ່ອງຂໍ້ມູນເຊີບເວີສະເພາະ. ສະເພາະຊ່ອງຂໍ້ມູນທີ່ສະໜອງໃຫ້ເທົ່ານັ້ນທີ່ຈະຖືກອັບເດດ.

ຕົວຢ່າງການຮ້ອງຂໍ

cURL
Python
curl -X PATCH "https://admin.vps.org/api/v1/servers/12345/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "new-server-name"
  }'
import requests

server_id = 12345
url = f"https://admin.vps.org/api/v1/servers/{server_id}/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}
data = {"name": "new-server-name"}

response = requests.patch(url, headers=headers, json=data)
print(response.json())
ລຶບ /api/v1/servers/{server_id}/

ລຶບເຊີບເວີ

ລຶບເຊີບເວີຢ່າງຖາວອນ. ການກະທຳນີ້ບໍ່ສາມາດຍົກເລີກໄດ້.

ຕົວຢ່າງການຮ້ອງຂໍ

cURL
Python
curl -X DELETE "https://admin.vps.org/api/v1/servers/12345/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

server_id = 12345
url = f"https://admin.vps.org/api/v1/servers/{server_id}/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}

response = requests.delete(url, headers=headers)
print(response.status_code)

ລະຫັດສະຖານະການຕອບສະໜອງ

204 ລຶບເຊີບເວີສຳເລັດແລ້ວ
404 ບໍ່ພົບ - ບໍ່ມີເຊີບເວີ
ໂພສ /api/v1/servers/{server_id}/start/

ເລີ່ມເຊີບເວີ

ເປີດເຊີບເວີທີ່ຢຸດເຮັດວຽກ.

ຕົວຢ່າງການຮ້ອງຂໍ

cURL
Python
JavaScript
curl -X POST "https://admin.vps.org/api/v1/servers/12345/start/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

server_id = 12345
url = f"https://admin.vps.org/api/v1/servers/{server_id}/start/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}

response = requests.post(url, headers=headers)
print(response.json())
const serverId = 12345;
const response = await fetch(`https://admin.vps.org/api/v1/servers/${serverId}/start/`, {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  }
});

const result = await response.json();
console.log(result);

ຕົວຢ່າງການຕອບສະໜອງ

{
  "status": "success",
  "message": "Server is starting",
  "server": {
    "id": 12345,
    "name": "web-server-01",
    "status": "starting"
  }
}

ລະຫັດສະຖານະການຕອບສະໜອງ

200 ສົ່ງຄຳສັ່ງເລີ່ມຕົ້ນເຊີບເວີສຳເລັດແລ້ວ
400 ຄຳຮ້ອງຂໍບໍ່ຖືກຕ້ອງ - ເຊີບເວີກຳລັງເຮັດວຽກຢູ່ແລ້ວ
404 ບໍ່ພົບ - ບໍ່ມີເຊີບເວີ
ໂພສ /api/v1/servers/{server_id}/stop/

ຢຸດເຊີບເວີ

ປິດເຊີບເວີທີ່ເຮັດວຽກຢູ່ຢ່າງສຸພາບ.

ຕົວຢ່າງການຮ້ອງຂໍ

cURL
Python
curl -X POST "https://admin.vps.org/api/v1/servers/12345/stop/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

server_id = 12345
url = f"https://admin.vps.org/api/v1/servers/{server_id}/stop/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}

response = requests.post(url, headers=headers)
print(response.json())

ຕົວຢ່າງການຕອບສະໜອງ

{
  "status": "success",
  "message": "Server is stopping",
  "server": {
    "id": 12345,
    "name": "web-server-01",
    "status": "stopping"
  }
}
ໂພສ /api/v1/servers/{server_id}/reboot/

ຣີບູດເຊີບເວີ

ເລີ່ມຕົ້ນເຊີບເວີທີ່ເຮັດວຽກຢູ່ຄືນໃໝ່ຢ່າງລະມັດລະວັງ.

ຕົວຢ່າງການຮ້ອງຂໍ

cURL
Python
curl -X POST "https://admin.vps.org/api/v1/servers/12345/reboot/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

server_id = 12345
url = f"https://admin.vps.org/api/v1/servers/{server_id}/reboot/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}

response = requests.post(url, headers=headers)
print(response.json())

ຕົວຢ່າງການຕອບສະໜອງ

{
  "status": "success",
  "message": "Server is rebooting",
  "server": {
    "id": 12345,
    "name": "web-server-01",
    "status": "rebooting"
  }
}

ລະຫັດສະຖານະການຕອບສະໜອງ

200 ສົ່ງຄຳສັ່ງຣີບູດເຊີບເວີສຳເລັດແລ້ວ
400 ຄຳຮ້ອງຂໍບໍ່ຖືກຕ້ອງ - ເຊີບເວີບໍ່ໄດ້ເຮັດວຽກ
404 ບໍ່ພົບ - ບໍ່ມີເຊີບເວີ