VPS সার্ভার তৈরি, পরীক্ষা, শক্তি, আকার পরিবর্তন এবং মুছে ফেলুন। সার্ভার তাদের uuid দ্বারা চিহ্নিত করা হয়।
আপনার অ্যাকাউন্টের সার্ভারগুলি ফিরিয়ে দেয়, সর্বশেষ প্রথমে, প্রতি পৃষ্ঠা ২৫। সার্ভারগুলি যে মুছে ফেলা হচ্ছে অন্তর্ভুক্ত করা হয় না।
অনুমতি প্রয়োজন: servers:list
| পরামিতি | আদর্শ | প্রয়োজনীয় | বর্ণনা |
|---|---|---|---|
page |
integer | না | পৃষ্ঠার সংখ্যা, ১ থেকে আরম্ভ |
page_size |
integer | না | প্রতি পৃষ্ঠার ফলাফল (ডিফল্ট ২৫, সর্বোচ্চ ১০০) |
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 | পড়া যায় এমন পরিকল্পনার সারসংক্ষেপ, উদাহরণস্বরূপ ১ vCPU / ২ GB RAM / ১০ GB |
ipv4_addresses |
array | IPv4 ঠিকানাগুলি স্ট্রিং হিসাবে। সার্ভারটি প্রয়োগ না করা পর্যন্ত এবং IPv4 ছাড়া পরিকল্পনার ক্ষেত্রে ফাঁকা রাখুন। |
ipv6_addresses |
array | IPv6 ঠিকানাগুলি স্ট্রিং হিসাবে। সার্ভার প্রয়োগ না করা পর্যন্ত ফাঁকা রাখা হবে। |
created_at |
datetime | তৈরির সময় (ISO 8601, UTC) |
deployed |
boolean | প্রভিডেন্সিং শেষ হলে সত্য |
| 200 | সার্ভার তালিকা সফলভাবে পুনরুদ্ধার করা হয়েছে |
| 403 | API টোকেন অনুপস্থিত অথবা অবৈধ, অথবা টোকেনের প্রয়োজনীয় অনুমতি অনুপস্থিত |
নতুন সার্ভারকে বিতরণ করার জন্য লাইন করে এবং তা অবিলম্বে অবস্থার লাইন সহ ফিরিয়ে দেয়। প্রদান পটভূমিতে চলতে থাকে: অবস্থার শেষ বিন্দুতে যতক্ষণ না বিতরণ করা হয়েছে তা সত্য হয়। সার্ভার প্রস্তুত হলে, এর লগ-ইন তথ্য অ্যাকাউন্টের মালিককে ই-মেইল করা হয়।
আপনার অ্যাকাউন্টের জন্য একটি সংরক্ষিত পরিশোধের পদ্ধতি প্রয়োজন। আপনার অ্যাকাউন্টের ইতিহাসের উপর নির্ভর করে, সার্ভার তৈরির পূর্বে আপনার কার্ডের উপর প্রকল্পের মূল্যের এক সপ্তাহের অস্থায়ী পূর্ব-অনুমোদন (অন্তত $১) রাখা হতে পারে।
অনুমতি প্রয়োজন: servers:create
| পরামিতি | আদর্শ | প্রয়োজনীয় | বর্ণনা |
|---|---|---|---|
hostname |
string | হাঁ | অন্তত ৩ অক্ষর। শুধুমাত্র অক্ষর, সংখ্যা, হাইফেন এবং ডট। |
location_id |
integer | হাঁ | অবস্থান API থেকে সক্রিয় অবস্থানের আই.ডি. |
plan_uuid |
string | হাঁ | Plans API থেকে সক্রিয় প্ল্যানের uuid |
operating_system_version_uuid |
string | হাঁ | অপারেটিং সিস্টেমের সংস্করণ তালিকায় সক্রিয় এন্ট্রির uuid |
ssh_key_uuids |
array | না | সার্ভারে ইনস্টল করার জন্য SSH কী API থেকে SSH কী-এর UUID |
ssh_key_ids |
array | না | ssh_key_uuids এর বিকল্প হিসেবে SSH কী-এর পূর্ণসংখ্যার id। যদি উভয়ই প্রেরণ করা হয়, তাহলে ssh_key_ids ব্যবহার করা হবে। |
ssh_key_uuid, ssh_key_id |
string, integer | না | একক SSH কী-এর জন্য সংক্ষিপ্তসার |
auth_method |
string | না | পাসওয়ার্ড, ssh_key অথবা উভয়। ডিফল্ট পাসওয়ার্ড, অথবা 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);
২০১ সার্ভার বিস্তারিত জানতে নীচে বর্ণিত পূর্ণ সার্ভার বস্তুর সাথে তৈরি করা হয়েছে । ডিপ্লোমেটেশন শেষ হলে ঠিকানা এবং 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 | আপনার অ্যাকাউন্ট সার্ভার তৈরির সীমায় পৌঁছে গেছে |
একটি সার্ভার এর অবস্থান, পরিকল্পনা, অপারেটিং সিস্টেম, আই. পি. ঠিকানা এবং পাঁচটি সাম্প্রতিক কাজ সঙ্গে ফিরিয়ে আনে ।
অনুমতি প্রয়োজন: 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"
}
]
}
এস- ভি- জি আইকন মারক এবং সংস্করণ তালিকা এখানে সংক্ষিপ্ত করা হয়েছে ।
| ক্ষেত্র | আদর্শ | বর্ণনা |
|---|---|---|
vmid |
integer | null | ভার্চুয়াল মেশিনের সংখ্যা, ডিপ্লোমেট করার সময় নির্ধারিত |
location |
object | অবস্থান অবজেক্ট, অবস্থান API দ্বারা প্রত্যাবর্তিত |
plan |
object | Plans API দ্বারা প্রত্যাবর্তিত Plan অবজেক্ট |
operating_system, operating_system_version |
object | অপারেটিং সিস্টেম এবং ইনস্টলকৃত সংস্করণ, Operating Systems API দ্বারা প্রদত্ত |
ipv4_addresses, ipv6_addresses |
array | ip, gateway, subnet এবং rdns (বিপরীত DNS হোস্টনেম) সহ প্রতিটি ঠিকানাতে একটি অবজেক্ট |
recent_actions |
array | সর্বশেষ পাঁচটি কার্য: 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 |
একটি কাজ (প্রয়োগ, শক্তি, আকার পরিবর্তন, পুনরুদ্ধার) অপেক্ষমান অথবা প্রক্রিয়াধীন |
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"
}
একটি প্রত্যাখ্যাত মাপ পরিবর্তনের উদাহরণ (৪০৯):
{
"error": "Not enough hypervisor capacity for the selected plan; the server was not changed"
}
| 200 | এই কাজটি কলামে রয়েছে |
| 400 | অপরিচিত কাজ অথবা new_plan_uuid, অবৈধ অথবা নিষ্ক্রিয় প্ল্যান, কম ডিস্ক স্থান সহ একটি প্ল্যান, অথবা একটি GPU প্ল্যান (API-র মাধ্যমে GPU প্ল্যানের আকার পরিবর্তন করা সম্ভব নয়) |
| 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 সার্ভারের প্রতিটি IPv4 এবং IPv6 ঠিকানা এর বিপরীত DNS হোস্টনেম তালিকাভুক্ত করে । 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 | আইপি অনুপস্থিত, অথবা হোস্টনেম নির্ধারণ করা যায়নি |
| 404 | IP ঠিকানা এই সার্ভারের জন্য বরাদ্দ করা হয়নি |
QEMU অতিথি এজেন্টের মাধ্যমে সার্ভারের মধ্যে একটি শেল কমান্ড চালায় এবং শেষ হওয়ার জন্য অপেক্ষা করে। সার্ভার অবশ্যই স্থাপন করা এবং চলমান হতে হবে, এবং qemu-guest-agent অবশ্যই ইনস্টল করা এবং অতিথির মধ্যে চলমান হতে হবে।
অনুমতি প্রয়োজন: servers:exec
| পরামিতি | আদর্শ | প্রয়োজনীয় | বর্ণনা |
|---|---|---|---|
command |
string | হাঁ | /bin/sh -c এর সাথে কমান্ড লাইন চালানো, ২০০০ অক্ষরের মধ্যে |
timeout |
integer | না | কমান্ডের জন্য অপেক্ষা করার সেকেন্ড, ১ থেকে ৩০০ (ডিফল্ট ৩০) |
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)
| পরামিতি | আদর্শ | প্রয়োজনীয় | বর্ণনা |
|---|---|---|---|
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
}
| ক্ষেত্র | আদর্শ | বর্ণনা |
|---|---|---|
id, uuid |
integer, string | কী সনাক্তকারী। ssh_key_uuids এবং নিম্নলিখিত URL-এ uuid ব্যবহার করুন; 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/: ব্যাকআপ APIPOST /api/v1/servers/{uuid}/snapshot/: স্ন্যাপশট API