VPS.org API

@ action

API ɗin sabar

Yi halitta, binciki, ƙarfi, canja girma da share masu watsa shirye-shiryenku na VPS. An san masu watsa shirye-shiryen da uuid ɗinsu.

Ƙarshen maki 15
Hanyar Tushe /api/v1/servers
SAMU /api/v1/servers/

Jera Duk Sabo

Mai mayar da masu watsa shirye-shirye a cikin asusunka, mafi sabon farko, 25 a kowace shafi. Ba a haɗa masu watsa shirye-shirye da ake sharewa ba.

Required permission: servers:list

Sigogin Tambaya

Parameters Nau'i Ana buƙata @ action
page integer QDialogButtonBox Page number, starting at 1
page_size integer QDialogButtonBox Farashin kowane shafi (farashin 25, mafi girma 100)

Buƙatar Misali

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";
}

Misalin Amsar

{
  "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
    }
  ]
}

Wuraren Amsawa

@ action Nau'i @ action
uuid string Mai gane masarauta da ake amfani da shi a duk wani maɓallin ƙarshen masarauta
hostname string An zaɓa sunan mai masaukin a lokacin da aka ƙãga aikin mai masaukin
status string halin yanzu. Ka duba kimar halin mai watsawa a kasa.
error_description string | null Bayanai game da ƙarshen rashin nasara idan halin shi ne kuskure, in ba haka ba babu komai
location_name string Sunan wurin da mai karɓa ke tafiyar da shi cikin
os_name string Sunan tsarin aiki, ba tare da sigar ba
plan_name string Bayanin shirin karatu, misali 1 vCPU / 2 GB RAM / 10 GB
ipv4_addresses array Alamomin IPv4 kamar waƙoƙi. Ciki har sai an shigar da mai ba da sabis, da kan shirye-shiryen da ba su da IPv4.
ipv6_addresses array Ana kiran IPv6 kamar wata maɓalli. Babu wani abu sai an shigar da mai ba da sabis.
created_at datetime Lokacin ƙirƙira (ISO 8601, UTC)
deployed boolean True when provisioning has finished

Lambobin Matsayin Amsawa

200 An yi nasarar dawo da jerin sabar
403 An rasa ko kuma an karya tabbacin API, ko kuma tabbacin bai da izinin da ake bukata
QSql /api/v1/servers/

Ƙirƙiri Sabuwar Sabar

Ana yin saurin wani sabon mai masaukin waƙa don shigarwa kuma ana mayar da shi da sauri tare da saurin halin. Ana ci gaba da samarwa a cikin bango: zazzage maɓallin ƙarshen halin har sai an shigar da shi. Idan mai masaukin waƙa ya yi aiki, za'a aika bayanin shiga ta imel zuwa mai asusun.

Your account needs a saved payment method. Depending on your account history, a temporary pre-authorization hold of about one week of the plan price (at least 1 USD) may be placed on your card before the server is created.

Required permission: servers:create

Sigogin Jiki na Neman

Parameters Nau'i Ana buƙata @ action
hostname string Ee At least 3 characters. Letters, digits, hyphens and periods only.
location_id integer Ee Bayanin wurin da ake aiki daga API na Lokaci
plan_uuid string Ee Uuid na wani shirin aiki daga API na Shiryoyi
operating_system_version_uuid string Ee Uuid na wani shigarwa mai aiki a cikin jerin sifofin tsarin aiki
ssh_key_uuids array QDialogButtonBox UUIDs na maɓallan SSH daga API na Maɓallan SSH da za'a shigar a kan mai ba da sabis
ssh_key_ids array QDialogButtonBox Int IDs na maɓallan SSH, kamar wata zaɓa ga ssh_key_uuids. Idan an aika su biyu, za'a yi amfani da ssh_key_ids.
ssh_key_uuid, ssh_key_id string, integer QDialogButtonBox Shorthand for single key SSH
auth_method string QDialogButtonBox kalmar shiga, ssh_key ko kuma duka biyun. Dibauta zuwa kalmar shiga, ko kuma duka biyun idan an bayar da maɓallan SSH.

Buƙatar Misali

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);

Misalin Amsar

201 An halitta da abun mai masaukin da aka bayyana a ƙarƙashin Ka Samu Bayanan Mai Masaukin. An cika adireshin da vmid a lokacin da aikin shigarwa ya ƙare.

{
  "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": []
}

Lambobin Matsayin Amsawa

201 An ƙirƙiri da kuma sanya mai ba da sabis cikin jerin masu amfani da shi
400 Kuskure na tabbatarwa, misali wurin da ba'a amfani da shi ba, shirin ko kuma sigar tsarin aiki
402 %s: Ba a samu wata hanya ta biya ba a cikin fayil, ko kuma an ki yarda da karɓar takardar shaidar
403 An rasa ko kuma an karya tabbacin API, ko kuma tabbacin bai da izinin da ake bukata
429 An kai asusunka ga iyakar samar da mai ba da sabis
SAMU /api/v1/servers/{uuid}/

Nemo Cikakkun Bayanan Sabar

Returns one server with its location, plan, operating system, IP addresses and the five most recent actions.

Required permission: servers:list

curl -X GET "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Misalin Amsar

{
  "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"
    }
  ]
}

An rage jerin sifofin da kuma alamar alamar SVG a nan.

Wuraren Amsawa

@ action Nau'i @ action
vmid integer | null Lambar na'urar da aka yi wa kwafi, an ƙayyade a lokacin shigarwa
location object Abin wurin, kamar yadda API na Lokaci ya mayar da shi
plan object Abin shirin, kamar yadda API na shirin ya mayar da shi
operating_system, operating_system_version object Shirin aiki da sigar da aka shigar, kamar yadda API na Shirin aiki ya mayar da shi
ipv4_addresses, ipv6_addresses array Abu guda a kowace maɓalli da ip, ƙofar shiga, subnet da rdns (mai suna mai watsa DNS)
recent_actions array Zuwa ga ayyukan da suka gabata biyar: ID, aiki, aiki_saukarwa, bayani, mai amfani_da imel, aka halitta_a

Lambobin Matsayin Amsawa

200 An yi nasarar dawo da bayanan sabar
404 An kasa gano shi, ko kuma yana da alaƙa da wani asusu na daban
SAMU /api/v1/servers/{uuid}/status/

Get Server Status

Wani kira mai sauƙi don zabar bayan ka ƙirƙiri, ƙarfi ko canza girman mai ba da sabis.

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
}

Kimar halin mai masaukin

Value @ action
queue An sanya wani aiki (farawa, ƙarfi, canja girma, dawo da) cikin jerin gwano ko kuma yana cikin ci gaba
deploying An yi wa sabis. Maɗaukaka waɗanda aka ƙãga halitta daga fanel na kula suna amfani da wannan halin; maɗaukaka waɗanda aka ƙãga halitta ta hanyar API suna zaune cikin jerin gwano har sai sun yi aiki.
on Running
off Powered off
error An kasa gudanar da aikin ƙarshe. Ka duba bayani_na_kuskure.
suspended_payment Suspended because of unpaid invoices
QSql /api/v1/servers/{uuid}/power/

Control Server Power

Ana yin wata aiki na wutar lantarki a cikin jerin. Halitar mai masaukin yana canja zuwa jerin har sai aikin ya kammala.

Required permission: servers:power

Sigogin Jiki na Neman

Parameters Nau'i Ana buƙata @ action
action string Ee start: power on
shutdown: graceful shutdown, forced off if the guest does not stop
restart: hard power cycle (stop, then start)
stop: %s: Yana gudanar da irin wannan aikin wutar lantarki kamar yadda yake sake farawa. Yi amfani da tsagaita don barin mai ba da sabis ya rufe.

Buƙatar Misali

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())

Misalin Amsar

{
  "message": "Server restart queued"
}

Lambobin Matsayin Amsawa

200 An sanya aikin cikin jerin gwano
400 Aiki mai ɓata ko ba'a goyon baya ba
402 an ki farawa saboda asusun yana da kuɗaɗen da ba a biya ba
404 An kasa gano shi, ko kuma yana da alaƙa da wani asusu na daban
QSql /api/v1/servers/{uuid}/resize/

Resize a Server

Yana motsa masarauta zuwa wani shirin aiki daban. Sabon shirin ba zai iya da kasa da sararin diski fiye da na yanzu ba, kuma jikin tambaya ya kamata ya ƙunshi aiki da aka ƙayyade don canza girma. An yi gwajin ƙarfin Hypervisor ga sabon shirin kafin a sanya wani abu cikin jerin, don haka wata tambaya da aka ƙi za ta bar masarauta ba tare da canzawa ba.

An rufe masarauta yayin da ake canza girmanta kuma aka fara ta daga baya. Idan canza girman ya kasa, an sake sanya masarauta a kan shirinta na baya kuma an fara ta daga baya idan ta kasance tana tafiya. Ba za'a iya dakatar da girman diski ba.

Required permission: servers:resize

Sigogin Jiki na Neman

Parameters Nau'i Ana buƙata @ action
action string Ee Ya kamata a sake girman
new_plan_uuid string Ee UID na shirin da za'a motsa zuwa
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"
}

Misalin sake girman da aka ki (409):

{
  "error": "Not enough hypervisor capacity for the selected plan; the server was not changed"
}

Lambobin Matsayin Amsawa

200 An sanya aikin cikin jerin gwano
400 Aiki mai faɗi ko kuma new_plan_uuid, shirin da ba'a dace ba ko kuma mara aiki, shirin da ke da sarari mai ƙaranci a diski, ko kuma shirin GPU (ba'a iya canza girman shirin GPU ta hanyar API ba)
404 An kasa gano shi, ko kuma yana da alaƙa da wani asusu na daban
409 An riga an yi wani canji na sake girma ko ajiya, ko kuma ba a da damar hypervisor mai yawa ga shirin aiki na sabon
503 An kasa bincika ƙarfin wutar yanzu. An canza masarauta; ka yi kokarin sake a wani lokaci.
QSql /api/v1/servers/{uuid}/reset-password/

Reset Root Password

Generates a new root password, returns it in the response and queues the change on the server. The new password is also emailed to you. The server must be deployed. No request body is needed.

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"
}

Lambobin Matsayin Amsawa

200 An sanya aikin cikin jerin gwano
400 An kasa shigar da mai ba da sabis
404 An kasa gano shi, ko kuma yana da alaƙa da wani asusu na daban
SAMU QSql /api/v1/servers/{uuid}/rdns/

Reverse DNS (PTR)

GET na nuna jerin sunaye na DNS na masu watsawa na kowanne adireshi na IPv4 da IPv6 a kan mai ba da sabis. POST na daidaita shi ga adireshi guda. Aika sunan mai watsawa bacci na sake adireshin zuwa sunan DNS na sauyawa na diff.

Required permission: servers:update

Sigogin Jiki na Neman (POST)

Parameters Nau'i Ana buƙata @ action
ip string Ee Wani adireshin IPv4 ko IPv6 da aka ba wa wannan mai ba da sabis
hostname string QDialogButtonBox Sunan mai masaukin PTR. Ka bar shi bacci don sake saita shi zuwa diff.
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"
}

Ma'aikacin GET:

{
  "rdns": [
    {"ip": "203.0.113.10", "hostname": "mail.example.com"},
    {"ip": "2001:db8:2:dd::f9:6b", "hostname": "mail.example.com"}
  ]
}

Lambobin Matsayin Amsawa

400 %s: IP ba ta da wani abu, ko kuma ba a iya daidaita sunan mai masaukin ba
404 An kasa ba da adireshin IP ga wannan mai ba da sabis
QSql /api/v1/servers/{uuid}/exec/

Run a Command on a Server

Yana tafiyar da umarnin shell cikin mai ba da sabis ta hanyar mai ba da sabis na QEMU kuma yana jira ya ƙare. Mai ba da sabis ya kamata ya kasance an shigar da shi kuma yana tafiyar da shi, kuma qemu-guest-agent ya kamata a shigar da shi kuma ya tafiyar da shi cikin mai ba da sabis.

Required permission: servers:exec

Sigogin Jiki na Neman

Parameters Nau'i Ana buƙata @ action
command string Ee Run command line with /bin/sh -c, up to 2000 characters
timeout integer QDialogButtonBox Sa'o'i da za'a jira umarnin, 1 zuwa 300 (faranci 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
}

Idan umarni na ci gaba da tafiyar da kansa lokacin da lokacin da aka yi wa'adin ya ƙare, to amsa ta yi daidai da timed_out zuwa gaskiya kuma ta yi daidai da exit_code zuwa bacci.

Lambobin Matsayin Amsawa

200 An gama umarni ko kuma an wuce lokaci
400 Mai ba da sabis ba'a shigar da shi ba ko kuma bai yi aiki ba, ko kuma paramita ba'a yarda da su ba
409 Mai ba da shawara na QEMU ba ya tafiyar da shi a kan mai ba da shawara
503 Temporary connection problem. Retry after the Retry-After header.
Goge /api/v1/servers/{uuid}/

Share Sabar

Ana sanya masarauta cikin jerin masu sharewa. Mai karɓa zai ɓace daga jerin da sauri kuma ba za'a iya dawo dashi ba.

Required permission: 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"
}

Lambobin Matsayin Amsawa

202 Accepted: the request was queued
404 An kasa gano shi, ko kuma yana da alaƙa da wani asusu na daban
SAMU QSql /api/v1/ssh-keys/

Maɓallan SSH

Ku rufe maɓallan SSH na jama'a cikin asusunka, sa'an nan kuma ku wuce uuids ɗinsu kamar ssh_key_uuids idan kun yi wani mai ba da sabis. GET na nuna jerin maɓallanku (25 a kowace shafi); POST na ƙara ɗaya.

Required permission: ssh-keys:list (GET), ssh-keys:create (POST)

Sigogin Jiki na Neman (POST)

Parameters Nau'i Ana buƙata @ action
name string Ee Wani suna da za'a gane maɓallin da shi, har zuwa alamu 100
public_key string Ee Maɓallin jama'a cikin sifar OpenSSH, misali, abun cikin id_ed25519.pub

Buƙatar Misali

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"])

Misalin Amsar

{
  "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
}

Wuraren Amsawa

@ action Nau'i @ action
id, uuid integer, string An yi amfani da uuid a cikin ssh_key_uuids da kuma cikin URL na ƙasa; id na aiki a cikin ssh_key_ids.
fingerprint string MD5 Fingerprint na maɓallin, an ƙididdige shi da aikace-aikacen
last_used_at datetime | null Yaushe aka saka maɓallin a kan wani mai ba da sabis na sabon

Lambobin Matsayin Amsawa

201 Key added
400 Sunan da ya ɓace, ko maɓallin jama'a bai zama maɓallin jama'a na SSH mai inganci ba
SAMU Goge /api/v1/ssh-keys/{uuid}/

Get or Delete an SSH Key

GET na mayar da maɓalli guda tare da filayen sama. DELETE na cire shi daga asusunka kuma yana mayar da 204 ba tare da jikinsa ba. Shafe maɓalli ba zai cire shi daga masu watsa shirye-shiryen da aka shigar da shi a kansu ba. Ba za'a iya gyara maɓalli ba: share su kuma ƙara su.

Required permission: 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"

Ajiyayyen da hoton hoto

Creating a backup or a snapshot is also a server action: