สร้าง, ตรวจสอบ, ใช้พลังงาน, ปรับขนาดและลบเซิร์ฟเวอร์ VPS ของคุณ เซิร์ฟเวอร์จะถูกระบุด้วย uuid ของมัน
แสดงผลการทำงานของเซิร์ฟเวอร์ในบัญชีผู้ใช้ของคุณ โดยให้ใช้เซิร์ฟเวอร์ใหม่ก่อน จำนวน 25 เซิร์ฟเวอร์ต่อหน้า เซิร์ฟเวอร์ที่กำลังถูกลบจะไม่ถูกรวมเข้าไปในรายการ
ต้องการสิทธิ์: servers:list
| พารามิเตอร์ | พิมพ์ | ที่จำเป็น | คำอธิบาย |
|---|---|---|---|
page |
integer | ไม่มี | หมายเลขหน้า เริ่มที่ 1 |
page_size |
integer | ไม่มี | ผลลัพธ์ต่อหน้า (ค่าปริยาย 25, สูงสุด 100) |
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 / 10 GB |
ipv4_addresses |
array | ที่อยู่ IPv4 เป็นข้อความ ว่างจนกว่าจะมีการจัดตั้งเซิร์ฟเวอร์ และในแผนที่ไม่มี IPv4 |
ipv6_addresses |
array | ที่อยู่ IPv6 ในรูปแบบข้อความ ว่างจนกว่าจะมีการจัดตั้งเซิร์ฟเวอร์ |
created_at |
datetime | เวลาที่สร้าง (ISO 8601, UTC) |
deployed |
boolean | ถูกต้องเมื่อการจัดสรรเสร็จสิ้นแล้ว |
| 200 | ดึงรายการเซิร์ฟเวอร์สำเร็จแล้ว |
| 403 | ไม่มีหรือไม่สามารถใช้ API token ได้ หรือ token นั้น ไม่มีสิทธิ์ที่จำเป็น |
ตั้งค่าให้เซิร์ฟเวอร์ใหม่เป็นคิวสำหรับการจัดส่ง และส่งกลับมาพร้อมกับสถานะคิวทันที การจัดส่งจะยังคงดำเนินต่อไปในภายหลัง: ถามสถานะจุดจบจนกว่าจะจัดส่งเป็นจริง เมื่อเซิร์ฟเวอร์พร้อมแล้ว รายละเอียดการล็อกอินจะถูกส่งไปยังเจ้าของบัญชีผู้ใช้ด้วยอีเมล
บัญชีของคุณต้องมีวิธีการชำระเงินที่บันทึกไว้ ขึ้นอยู่กับประวัติบัญชีของคุณ อาจมีการกักเงินก่อนอนุญาตชั่วคราว ประมาณหนึ่งสัปดาห์ ของราคาแพ็คเกจ (อย่างน้อย 1 เหรียญสหรัฐ) บนบัตรของคุณ ก่อนที่เซิร์ฟเวอร์จะถูกสร้าง
ต้องการสิทธิ์: servers:create
| พารามิเตอร์ | พิมพ์ | ที่จำเป็น | คำอธิบาย |
|---|---|---|---|
hostname |
string | ใช่ | ใช้ได้กับตัวอักษรอย่างน้อย3ตัว ใช้ได้กับตัวอักษร, ตัวเลข, เครื่องหมายสั้นๆ และจุดเท่านั้น |
location_id |
integer | ใช่ | หมายเลขของตำแหน่งที่ใช้งานอยู่จาก API สถานที่ |
plan_uuid |
string | ใช่ | uuid ของแผนการที่ทำงานอยู่ จาก API แผนการ |
operating_system_version_uuid |
string | ใช่ | uuid ของรายการที่ใช้งานอยู่ในรายการรุ่นของระบบปฏิบัติการ |
ssh_key_uuids |
array | ไม่มี | UUID ของกุญแจ SSH จาก API ของกุญแจ SSH ที่ต้องติดตั้งบนเซิร์ฟเวอร์ |
ssh_key_ids |
array | ไม่มี | ตัวเลขจำนวนเต็มของกุญแจ SSH ใช้แทน ssh_key_uuids หากทั้งสองตัวถูกส่ง จะใช้ ssh_key_ids |
ssh_key_uuid, ssh_key_id |
string, integer | ไม่มี | ตัวอักษรย่อสำหรับกุญแจ SSH ตัวเดียว |
auth_method |
string | ไม่มี | รหัสผ่าน, กุญแจ ssh หรือทั้งสองอย่าง ค่าปริยายคือ รหัสผ่าน หรือทั้งสองอย่าง เมื่อมีการให้กุญแจ SSH |
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 | บัญชีผู้ใช้ของคุณถึงจำนวนที่จำกัดในการสร้างเซิร์ฟเวอร์ |
คืนค่ากลับมาเป็น เซิร์ฟเวอร์ ด้วยตำแหน่ง แพลน ระบบปฏิบัติการ หมายเลข 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 | รายการของแผนการ ตามที่ API ของแผนการส่งกลับมา |
operating_system, operating_system_version |
object | ระบบปฏิบัติการและรุ่นที่ติดตั้งไว้ ตามที่ API ของระบบปฏิบัติการแสดง |
ipv4_addresses, ipv6_addresses |
array | ตัวอย่างหนึ่งตัวต่อที่อยู่ IP, ช่องทางเข้า, เครือข่ายส่วนขยาย และ rdns (ชื่อเครื่อง DNS แบบกลับตัว) |
recent_actions |
array | การกระทำล่าสุดสูงสุด5ครั้ง: id, action, action_ display, description, user_ email, created_ at |
| 200 | ดึงข้อมูลรายละเอียดเซิร์ฟเวอร์สำเร็จแล้ว |
| 404 | ไม่พบหรือว่าเป็นของบัญชีผู้ใช้อื่น |
การเรียกใช้แบบเบา ๆ เพื่อถามคำถามหลังจากที่คุณสร้าง, ใช้พลังงาน หรือปรับขนาดเซิร์ฟเวอร์
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 |
An action (deploy, power, resize, restore) is queued or in progress |
deploying |
กำลังจัดหา เซิร์ฟเวอร์ที่สร้างจากแผงควบคุม จะใช้สถานะนี้ เซิร์ฟเวอร์ที่สร้างผ่าน API จะคอยอยู่ในคิวจนกว่าจะพร้อมใช้งาน |
on |
กำลังทำงาน |
off |
ปิดการใช้งาน |
error |
การกระทำครั้งสุดท้ายล้มเหลว โปรดดู error_ description |
suspended_payment |
ถูกระงับเพราะไม่มีเงินจ่ายค่าใบแจ้งยอด |
ตั้งค่าการกระทำการใช้งานพลังงานเป็นคิว สถานะของเซิร์ฟเวอร์จะเปลี่ยนเป็นคิวจนกว่าการกระทำจะเสร็จสมบูรณ์
ต้องการสิทธิ์: servers:power
| พารามิเตอร์ | พิมพ์ | ที่จำเป็น | คำอธิบาย |
|---|---|---|---|
action |
string | ใช่ |
start: เปิดเครื่องshutdown: การปิดระบบอย่างมีสไตล์ บังคับให้ปิด หากแขกไม่หยุดrestart: รอบการทำงานของพลังงาน (หยุด แล้วเริ่ม)stop: ปัจจุบันกำลังทำการใช้งานคลื่นไฟฟ้าเหมือนกับการเริ่มใหม่ ใช้ shutdown เพื่อปิดเซิร์ฟเวอร์
|
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 | ไม่พบหรือว่าเป็นของบัญชีผู้ใช้อื่น |
ย้ายเซิร์ฟเวอร์ไปยังแผนการทำงานอื่น ๆ ที่กำลังทำงานอยู่ แผนการทำงานใหม่ จะต้องมีพื้นที่บนแผ่นดิสก์ไม่น้อยกว่าแผนปัจจุบัน และร่างของคำขอจะต้องมีกิจกรรมที่ตั้งไว้เพื่อปรับขนาด ความจุของฮีพไวเซอร์สำหรับแผนการทำงานใหม่ จะถูกตรวจสอบก่อนที่จะมีการจัดคิว ดังนั้น การปฏิเสธคำขอจะทำให้เซิร์ฟเวอร์ไม่เปลี่ยนแปลง
เซิร์ฟเวอร์จะถูกปิดการทำงานในระหว่างการปรับขนาด และจะถูกเริ่มใหม่หลังจากนั้น หากการปรับขนาดล้มเหลว เซิร์ฟเวอร์จะถูกนำกลับไปยังแผนการก่อนหน้า และจะถูกเริ่มใหม่หากมันกำลังทำงานอยู่ การเพิ่มขนาดของแผ่นดิสก์จะไม่สามารถทำซ้ำได้
ต้องการสิทธิ์: 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"
}
ตัวอย่างการปฏิเสธการเปลี่ยนขนาด (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 | ไม่สามารถตรวจสอบความจุได้ในขณะนี้ เซิร์ฟเวอร์ไม่ได้ถูกเปลี่ยนแปลง โปรดลองใหม่อีกครั้งในภายหลัง |
สร้างรหัสผ่านของ 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 | ไม่พบหรือว่าเป็นของบัญชีผู้ใช้อื่น |
GET จะแสดงรายการชื่อเครื่อง DNS แบบกลับตัวของที่อยู่ IPv4 และ IPv6 ทุกที่บนเซิร์ฟเวอร์ POST จะตั้งค่ามันให้เป็นที่อยู่เดียว การส่งชื่อเครื่องที่ว่างไว้ จะทำให้ที่อยู่กลับเป็นชื่อ DNS แบบกลับตัวปริยาย
ต้องการสิทธิ์: servers:update
| พารามิเตอร์ | พิมพ์ | ที่จำเป็น | คำอธิบาย |
|---|---|---|---|
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 ยังไม่ถูกกำหนดให้ใช้กับเซิร์ฟเวอร์นี้ |
เรียกใช้คำสั่งเซลล์ภายในเซิร์ฟเวอร์ผ่านตัวแทนแขก 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 |
ตั้งค่าให้เซิร์ฟเวอร์เป็นคิวเพื่อลบออกอย่างถาวร เซิร์ฟเวอร์จะหายไปจากรายการทันที และจะไม่สามารถเรียกคืนได้
ต้องการสิทธิ์: 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 | ไม่พบหรือว่าเป็นของบัญชีผู้ใช้อื่น |
เก็บกุญแจ SSH สาธารณะไว้ในบัญชีของคุณ แล้วส่งหมายเลข uuids ของมันเป็น ssh_key_uuids เมื่อคุณสร้างเซิร์ฟเวอร์ GET จะแสดงรายการกุญแจของคุณ (25 ต่อหน้า) POST จะเพิ่มกุญแจหนึ่งตัว
ต้องการสิทธิ์: ssh-keys:list (GET), ssh-keys:create (POST)
| พารามิเตอร์ | พิมพ์ | ที่จำเป็น | คำอธิบาย |
|---|---|---|---|
name |
string | ใช่ | ชื่อที่ใช้ระบุกุญแจ สูงสุด 100 อักขระ |
public_key |
string | ใช่ | กุญแจสาธารณะในรูปแบบ OpenSSH ตัวอย่างเช่น เนื้อหาของ id_ ed25519. pub |
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 ที่ใช้ได้ |
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"
การสร้างแฟ้มสำรองข้อมูลหรือภาพถ่ายเป็นสิ่งที่ทำของเซิร์ฟเวอร์ด้วย:
POST /api/v1/servers/{uuid}/backup/: API การสำรองข้อมูลPOST /api/v1/servers/{uuid}/snapshot/: API สแนปช็อต