ایجاد، بررسی، قدرت، تغییر اندازه و حذف کارگزارهای VPS خود. کارگزارها توسط uuidشان شناسایی میشوند.
کارسازهای موجود در حساب شما را با اولی جدیدتر و ۲۵ در هر صفحه برمیگرداند. کارسازهایی که حذف میشوند ، شامل نمیشوند.
مجوز مورد نیاز: servers:list
| Parameter | نوع | مورد نیاز | Description |
|---|---|---|---|
page |
integer | No | شماره صفحه، از ۱ شروع میشود |
page_size |
integer | No | نتایج در هر صفحه) پیشفرض ۲۵ ، حداکثر ۱۰۰ ( |
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
}
]
}
| میدان | نوع | Description |
|---|---|---|
uuid |
string | شناسۀ کارگزار که در هر نقطه پایانی کارگزار دیگر استفاده میشود |
hostname |
string | نام میزبانی که هنگام ایجاد کارساز انتخاب کردید |
status |
string | وضعیت جاری. مقادیر وضعیت کارساز را در زیر ببینید. |
error_description |
string | null | جزئیات آخرین شکست وقتی وضعیت خطا است، در غیر این صورت صفر |
location_name |
string | نام محلی که کارساز در آن اجرا میشود |
os_name |
string | نام سیستم عامل، بدون نسخه |
plan_name |
string | خلاصه قابل خواندن از برنامه، برای مثال ۱ vCPU / ۲ گیگابایت RAM / ۱۰ گیگابایت |
ipv4_addresses |
array | آدرس IPv4 به صورت رشته. تا زمانی که کارساز نصب شود و در طرحهایی که IPv4 ندارند خالی است. |
ipv6_addresses |
array | نشانی IPv6 به صورت رشته. تا زمانی که کارساز پراکنده شود خالی است. |
created_at |
datetime | زمان ایجاد) ISO 8601 ، UTC ( |
deployed |
boolean | درست هنگامی که فراهمسازی پایان یافت |
| 200 | لیست سرورها با موفقیت بازیابی شد |
| 403 | نشان API مفقود یا نامعتبر، یا نشان اجازه مورد نیاز را ندارد |
صف کارساز جدید برای پراکندگی را ایجاد میکند و بلافاصله با صف وضعیت آن را برمیگرداند. فراهمسازی در پسزمینه ادامه مییابد: نقطه پایانی وضعیت را پرس و جو کنید تا زمانی که پراکندگی درست باشد. هنگامی که کارساز آماده است ، جزئیات ورود آن به صاحب حساب ارسال میشود.
حساب شما نیازمند یک روش پرداخت ذخیرهشده است. بسته به تاریخچه حساب شما، ممکن است قبل از ایجاد کارگزار، یک پیشاجازهی موقت حدود یک هفته از قیمت برنامه (حداقل ۱ دلار آمریکا) روی کارت شما قرار گیرد.
مجوز مورد نیاز: servers:create
| Parameter | نوع | مورد نیاز | Description |
|---|---|---|---|
hostname |
string | بله | حداقل ۳ کاراکتر. فقط حروف، اعداد، خطوط و نقطه. |
location_id |
integer | بله | شناسهی یک مکان فعال از API مکانها |
plan_uuid |
string | بله | uuid یک نقشه فعال از API نقشهها |
operating_system_version_uuid |
string | بله | uuid یک مدخل فعال در فهرست نسخههای یک سیستم عامل |
ssh_key_uuids |
array | No | UUIDهای کلیدهای SSH از API کلیدهای SSH برای نصب در کارساز |
ssh_key_ids |
array | No | شناسههای عدد صحیح کلیدهای SSH، به عنوان جایگزین ssh_key_uuids. اگر هر دو فرستاده شوند، ssh_key_ids استفاده میشود. |
ssh_key_uuid, ssh_key_id |
string, integer | No | میانبر برای کلید تکی SSH |
auth_method |
string | No | رمز عبور، کلید_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 با شیء کامل کارساز که در Get Server Details توصیف شدهاست ایجاد شدهاست. آدرسها و 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 | حساب شما به حداکثر حد ایجاد کارساز رسیده است |
یک سرور را با مکان، برنامه، سیستم عامل، آدرس 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"
}
]
}
در این نسخه از مرورگر، مرورگرهای وب و مرورگرهای وبگردی به صورت پیشفرض در نظر گرفته شدهاند.
| میدان | نوع | Description |
|---|---|---|
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 | تا پنج آخرین عمل: شناسه ، عمل ، نمایش_عمل ، توصیف ، ایمیل_کاربر ، ایجاد_شده |
| 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
}
| مقدار | Description |
|---|---|
queue |
یک عمل) پراکنده کردن، قدرت، تغییر اندازه، بازگرداندن (در صف یا در حال انجام است |
deploying |
در حال فراهم کردن. کارسازهای ایجاد شده از پنل کنترل از این وضعیت استفاده میکنند؛ کارسازهای ایجاد شده از طریق API تا زمانی که آماده باشند در صف باقی میمانند. |
on |
در حال اجرا |
off |
خاموش شده |
error |
آخرین عمل شکست خورد. به error_description مراجعه کنید. |
suspended_payment |
به خاطر فاکتورهاي پرداخت نشده تعليق شده |
صف کردن یک کنش قدرت. وضعیت کارساز تا زمانی که کنش تکمیل شود به صف تغییر میکند.
مجوز مورد نیاز: servers:power
| Parameter | نوع | مورد نیاز | Description |
|---|---|---|---|
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
| Parameter | نوع | مورد نیاز | Description |
|---|---|---|---|
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 | ظرفیت در حال حاضر نمیتواند بررسی شود. کارساز تغییر نکرد. بعداً دوباره سعی کنید. |
تولید یک گذرواژه ریشۀ جدید ، بازگرداندن آن در پاسخ و صف کردن تغییر در کارساز. گذرواژه جدید همچنین به شما با رایانامه ارسال میشود. کارساز باید پراکنده شود. بدنۀ درخواست نیازی نیست.
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
| Parameter | نوع | مورد نیاز | Description |
|---|---|---|---|
ip |
string | بله | یک نشانی IPv4 یا IPv6 که به این کارگزار اختصاص داده شده است |
hostname |
string | No | نام میزبان 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
| Parameter | نوع | مورد نیاز | Description |
|---|---|---|---|
command |
string | بله | خط فرمان با /bin/sh -c اجرا میشود، تا ۲۰۰۰ کاراکتر |
timeout |
integer | No | ثانیه برای منتظر ماندن برای فرمان، ۱ تا ۳۰۰) پیشفرض ۳۰ ( |
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 کلیدهای شما را فهرست میکند (۲۵ کلید در هر صفحه)؛ POST یکی را اضافه میکند.
مجوز مورد نیاز: ssh-keys:list (GET), ssh-keys:create (POST)
| Parameter | نوع | مورد نیاز | Description |
|---|---|---|---|
name |
string | بله | یک نام برای شناسایی کلید ، تا ۱۰۰ کاراکتر |
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
}
| میدان | نوع | Description |
|---|---|---|
id, uuid |
integer, string | شناسههای کلید. از uuid در ssh_key_uuids و در نشانی وب زیر استفاده کنید؛ id در ssh_key_ids کار میکند. |
fingerprint |
string | اثر انگشت MD5 کلید، محاسبه شده توسط پلت فرم |
last_used_at |
datetime | null | آخرین باری که کلید در کارساز جدید نصب شد |
| 201 | کلید افزوده شد |
| 400 | نام گم شده، یا کلید عمومی یک کلید عمومی SSH معتبر نیست |
GET یک کلید را با حوزههای بالا برمیگرداند. 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"
ایجاد یک پشتیبان یا یک عکس هم یک عمل کارساز است:
POST /api/v1/servers/{uuid}/backup/: API پشتیبانگیریPOST /api/v1/servers/{uuid}/snapshot/: API اسنپشاتها