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 آخری ناکامی کی تفصیلات جب حالت غلطی ہے، ورنہ NULL
location_name string سرور کے مقام کا نام جس میں چلتا ہے
os_name string آپریٹنگ سسٹم کا نام، ورژن کے بغیر
plan_name string پڑھنے کے قابل پلان خلاصہ، مثال کے طور پر 1 vCPU / 2 GB 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/

نیا سرور بنائیں

ڈیبلپمنٹ کے لیے ایک نئے سرور کی قطار لگاتا ہے اور اسے فوراً اسٹیٹس قطار کے ساتھ واپس لاتا ہے. پروویژننگ پس منظر میں جاری ہے: اسٹیٹس انڈیپنٹ پول جب تک ڈیبلپمنٹ صحیح نہیں ہوتا. جب سرور تیار ہوتا ہے، اس کی لاگ ان تفصیلات اکاؤنٹ کے مالک کو ای میل کی جاتی ہیں۔

آپ کے اکاؤنٹ کو محفوظ ادائیگی کا طریقہ چاہیے آپ کے اکاؤنٹ کی تاریخ پر منحصر، سرور بنانے سے پہلے آپ کے کارڈ پر پلان کی قیمت کے ایک ہفتے کے بارے میں ایک عارضی پیش-اجازہ رکھا جا سکتا ہے (کم از کم 1USD).

اجازت لازم ہے: servers:create

جسمانی پیرامیٹرز کی درخواست کریں۔

پرائمری قسم درکار ہے۔ وضاحت
hostname string جی ہاں کم سے کم 3 حروف صرف حروف، اعداد، ہائبن اور دؤر
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_key یا دونوں. خفیہ لفظ، یا دونوں کو دیفالٹ جب 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"
    }
  ]
}

SVG آئکن مارک اپ اور ورژن فہرست یہاں مختصر کی گئی ہے.

رسپانس فیلڈز

شعبہ قسم وضاحت
vmid integer | null ورچوئل مشین نمبر، ڈیبائینگ کے دوران مقرر کیا گیا
location object مقامی اوبجیکٹ، جیسے کہ مقام API سے واپس کیا گیا ہے
plan object پلان اوبجیکٹ، جیسے کہ پلان API سے واپس کیا گیا ہے
operating_system, operating_system_version object آپریٹنگ سسٹم اور انسٹال کردہ ورژن، جیسے آپریٹنگ سسٹم API سے واپس کیا گیا
ipv4_addresses, ipv6_addresses array ہر ای پی، گیٹ وے، سب نیٹ اور rdns کے ساتھ ایک ایجنٹ (دبلی DNS ہوسٹ نام)
recent_actions array پانچ آخری عمل تک: 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: حال میں وہی پاور سائیکل کرتا ہے جیسے دوبارہ شروع کرنا. سرور کو بند چھوڑنے کے لیے بند کرنا استعمال کریں.

مثال کی درخواست

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 جی ہاں اس منصوبے کا 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 ظرفیت اب چیک نہیں کی جاسکتی سرور بدلا نہیں گیا ہے، بعد میں دوبارہ کوشش کریں.
پوسٹ /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/

ریفرل ڈی این ایس (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 مہمان ایجنٹ کے ذریعے شیل کمانڈ چلاتا ہے اور اس کے ختم ہونے کی انتظار کرتا ہے سرور کو پھیلا دیا جانا چاہیے اور چلنا چاہیے اور 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 ہیڈر کے بعد دوبارہ کوشش کریں.
حذف کریں۔ /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 کلیدی شناخت. ssh_key_uuids میں uuid استعمال کریں اور 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"

بک اپ اور سناپ شاٹ

ایک بک اپ یا ایک سناپ شاٹ بنانا بھی سرور عمل ہے: