VPS.org API

REST API दस्तऐवजीकरण

सर्व्हर API

VPS सर्वर बनवा, तपासणी करा, पावर करा, आकार बदलवा व नष्ट करा. सर्वर uuid द्वारे ओळखले जातात.

शेवटचे बिंदू 15
बेस पाथ /api/v1/servers
मिळवा /api/v1/servers/

सर्व सर्व्हरची यादी करा

तुमच्या खात्यातील सर्वर परत करतो, नविन प्रथम, 25 प्रति पान. काढूण टाकले गेलेले सर्वर समाविष्टीत नाही.

आवश्यक परवानगी: servers:list

क्वेरी पॅरामीटर्स

परिमाण प्रकार आवश्यक वर्णन@ title: window
page integer नाही पान क्रमांक, 1 पासून सुरू होते
page_size integer नाही Results per page (default 25, maximum 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
    }
  ]
}

प्रतिसाद फील्ड

क्षेत्र प्रकार वर्णन@ title: window
uuid string सर्व सर्वर एंडिंग पॉईंट अंतर्गत वापरले जाणारे सर्वर ओळखकर्ता
hostname string सर्वर बनविण्याकरीता तुम्ही निवडलेले यजमाननाव
status string वर्तमान स्थिती. सर्वर स्थिती मुल्य खाली पहा.
error_description string | null स्थिती त्रुटी असल्यास शेवटच्या अपयशाचे तपशील, अन्यथा नॉट
location_name string सर्वर चालविण्याकरीता वापरले जाणारे स्थानचे नाव
os_name string ऑपरेटिंग सिस्टमचे नाव, आवृत्तीशिवाय
plan_name string वाचण्याजोगी योजना सारांश, उदाहरणार्थ 1 vCPU /2GB RAM / 10 GB
ipv4_addresses array IPv4 पत्ता स्ट्रिंग्स प्रमाणे. सर्वर कार्यान्वित होईपर्यंत रिकामे, आणि IPv4 नसून योजनांवर.
ipv6_addresses array IPv6 पत्ता स्ट्रिंग नुरूप. सर्वर कार्यान्वित होईपर्यंत रिकामे.
created_at datetime बनविण्याचे वेळ (ISO 8601, UTC)
deployed boolean प्रॉविडिंग पूर्ण झाल्यानंतर खरे

प्रतिसाद स्थिती कोड

200 सर्व्हर यादी यशस्वीरित्या पुनर्प्राप्त केली.
403 आढळले नाही किंवा अवैध API टोकन, किंवा टोकन करीता आवश्यक परवानगी आढळली नाही
पोस्ट /api/v1/servers/

नवीन सर्व्हर तयार करा

वितरण करीता नविन सर्वरची कतार करते व स्थिती कतारसह लगेच परत पाठवते. पार्श्वभूमीत पुरवठा सुरू राहतो: वितरण सच्चे होईपर्यंत स्थिती अंतबिंदूचा विचार करा. जेव्हा सर्वर तयार होते, त्यास प्रवेश तपशील खाते मालकाला ईमेल केले जातात.

तुमच्या खात्यास संचयीत केलेल्या पेमेंट पद्धतीची आवश्यकता आहे. तुमच्या खात्याचा इतिहास लक्षात घेऊन, सर्व्हर तयार करण्यापूर्वी प्लॅन किंमतीच्या सुमारे एक आठवडा (किंवा कमीत कमी 1 USD) च्या तात्पुरत्या पूर्व-अधिकारित ठेवण्यापूर्वी तुमच्या कार्डवर ठेवले जाऊ शकते.

आवश्यक परवानगी: servers:create

बॉडी पॅरामीटर्सची विनंती करा

परिमाण प्रकार आवश्यक वर्णन@ title: window
hostname string होय किमान ३ अक्षर. फक्त अक्षरे, अंक, हायफन व बिंदू.
location_id integer होय स्थान API पासून सक्रीय स्थानचे id
plan_uuid string होय योजना API पासून सक्रीय योजनाचे uuid
operating_system_version_uuid string होय ऑपरेटिंग सिस्टमच्या आवृत्ती यादीतील सक्रीय नोंदणीचे uuid
ssh_key_uuids array नाही सर्वरवर प्रतिष्ठापीत करण्याकरीता SSH कि API पासून SSH कि UUIDs
ssh_key_ids array नाही SSH किल्लीचे पूर्णांक ids, ssh_key_uuids साठी पर्याय म्हणून. दोन्ही पाठविले असतील तर, ssh_key_ids वापरले जाते.
ssh_key_uuid, ssh_key_id string, integer नाही एकल SSH कि करीता शॉर्टकट
auth_method string नाही गुप्तशब्द, ssh_की किंवा दोन्ही. 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 सर्व सर्वर वस्तुसह बनविले, सर्वर तपशील प्राप्त करा अंतर्गत वर्णन केले गेले आहे. पत्ता व 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 पत्ता व पाच सर्वात नुकत्याच केलेल्या क्रिया सह एक सर्वर परत करतो.

आवश्यक परवानगी: 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"
    }
  ]
}

गूगल प्ले स्टोअर आणि अ‍ॅपल ॲप स्टोअर वरील ॲप्स डाउनलोड करणे सोपे आहे.

प्रतिसाद फील्ड

क्षेत्र प्रकार वर्णन@ title: window
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 पाच पर्यंत शेवटचे क्रिया: id, क्रिया, क्रिया_ प्रदर्शन, वर्णन, वापरकर्ता_ ईमेल, बनविले_ येथे

प्रतिसाद स्थिती कोड

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
}

सर्वर स्थिती मुल्य

मुल्य वर्णन@ title: window
queue An action (deploy, power, resize, restore) is queued or in progress
deploying पुरविले जात आहे. नियंत्रण पटल पासून बनविलेले सर्वर या स्थितीचा वापर करतात; API द्वारे बनविलेले सर्वर ते तयार होईपर्यंत कतार मध्ये राहतात.
on चालविले जात आहे
off पावर बंद केले
error शेवटची क्रिया अपयशी ठरली. error_ description पहा.
suspended_payment अपूर्ण बिलामुळे स्थगित
पोस्ट /api/v1/servers/{uuid}/power/

सर्वर पावर नियंत्रण

पावर क्रिया कतारबद्ध करते. क्रिया पूर्ण होईपर्यंत सर्वरची स्थिती कतारबद्ध करीता बदलविली जाते.

आवश्यक परवानगी: servers:power

बॉडी पॅरामीटर्सची विनंती करा

परिमाण प्रकार आवश्यक वर्णन@ title: window
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

बॉडी पॅरामीटर्सची विनंती करा

परिमाण प्रकार आवश्यक वर्णन@ title: window
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"
}

Example of a refused resize (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/

रूट गुप्तशब्द पुन्हस्थापन करा

नविन रूट गुप्तशब्द बनवितो, प्रतिसाद करीता परत करतो व सर्वर वरील बदल कतारबद्ध करतो. नविन गुप्तशब्द तुम्हाला ईमेल करीता पाठविले जाते. सर्वर कार्यान्वित केले पाहिजे. विनंतीचे बाह्यभाग आवश्यक नाही.

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)

परिमाण प्रकार आवश्यक वर्णन@ title: window
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

बॉडी पॅरामीटर्सची विनंती करा

परिमाण प्रकार आवश्यक वर्णन@ title: window
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)

परिमाण प्रकार आवश्यक वर्णन@ title: window
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
}

प्रतिसाद फील्ड

क्षेत्र प्रकार वर्णन@ title: window
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"

बॅकअप व स्नैपशॉट

बॅकअप किंवा स्नैपशॉट बनविणे ही सर्वर क्रिया आहे: