VPS.org API

የREST API ሰነድ

የአገልጋዮች ኤፒአይ

የVPS አገልጋዮችዎን በፕሮግራማዊ መንገድ ያስተዳድሩ። ምናባዊ የግል አገልጋዮችዎን ይፍጠሩ፣ ያዋቅሩ፣ ይቆጣጠሩ እና ይቆጣጠሩ።

የመጨረሻ ነጥቦች 9 endpoints
የመሠረት መንገድ /api/v1/servers
አግኝ /api/v1/servers/

ሁሉንም አገልጋዮች ዘርዝር

በመለያዎ ውስጥ ያሉትን ሁሉንም አገልጋዮች ዝርዝር ያግኙ።

የጥያቄ መለኪያዎች

መለኪያ አይነት ያስፈልጋል መግለጫ
status ሕብረቁምፊ አይ በአገልጋይ ሁኔታ አጣራ፡ ንቁ፣ ቆሟል፣ ታግዷል
location ሕብረቁምፊ አይ በመረጃ ማዕከል አካባቢ ያጣሩ

የምሳሌ ጥያቄ

cURL
Python
JavaScript
PHP
curl -X GET "https://admin.vps.org/api/v1/servers/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

url = "https://admin.vps.org/api/v1/servers/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}

response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch('https://admin.vps.org/api/v1/servers/', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  }
});

const servers = await response.json();
console.log(servers);
$ch = curl_init('https://admin.vps.org/api/v1/servers/');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer YOUR_API_TOKEN',
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
$servers = json_decode($response, true);
curl_close($ch);

የምሳሌ ምላሽ

{
  "count": 2,
  "results": [
    {
      "id": 12345,
      "name": "web-server-01",
      "hostname": "web01.example.com",
      "status": "active",
      "ip_address": "203.0.113.10",
      "location": "us-west",
      "plan": {
        "id": 1,
        "name": "Standard VPS",
        "vcpus": 2,
        "memory": 4096,
        "storage": 80
      },
      "os": {
        "id": 5,
        "name": "Ubuntu 22.04 LTS"
      },
      "created_at": "2025-01-10T14:30:00Z",
      "updated_at": "2025-01-15T10:20:00Z"
    },
    {
      "id": 12346,
      "name": "db-server-01",
      "hostname": "db01.example.com",
      "status": "active",
      "ip_address": "203.0.113.11",
      "location": "us-east",
      "plan": {
        "id": 2,
        "name": "Performance VPS",
        "vcpus": 4,
        "memory": 8192,
        "storage": 160
      },
      "os": {
        "id": 3,
        "name": "Debian 12"
      },
      "created_at": "2025-01-12T09:15:00Z",
      "updated_at": "2025-01-16T08:45:00Z"
    }
  ]
}

የምላሽ ሁኔታ ኮዶች

200 የአገልጋይ ዝርዝር በተሳካ ሁኔታ ተመልሷል
401 ያልተፈቀደ - ልክ ያልሆነ ወይም የጠፋ የኤፒአይ ቶከን
ፖስት /api/v1/servers/

አዲስ አገልጋይ ፍጠር

የተወሰነ ውቅር ያለው አዲስ የ VPS አገልጋይ ያሰማሩ።

የጥያቄ አካል መለኪያዎች

መለኪያ አይነት ያስፈልጋል መግለጫ
name ሕብረቁምፊ አዎ የአገልጋይ ስም (ፊደል ቁጥር፣ ሰረዝ ይፈቀዳል)
plan_id ኢንቲጀር አዎ የ VPS ዕቅድ መታወቂያ
os_id ኢንቲጀር አዎ የስርዓተ ክወናው መለያ
location ሕብረቁምፊ አዎ የውሂብ ማዕከል የአካባቢ ኮድ
hostname ሕብረቁምፊ አይ የአገልጋይ አስተናጋጅ ስም (FQDN)
ssh_key_id ኢንቲጀር አይ ለመጫን የSSH ቁልፍ መታወቂያ
backups_enabled ቡሊያን አይ ራስ-ሰር ምትኬዎችን ያንቁ (ነባሪ: ሐሰት)

የምሳሌ ጥያቄ

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 '{
    "name": "web-server-02",
    "plan_id": 1,
    "os_id": 5,
    "location": "us-west",
    "hostname": "web02.example.com",
    "backups_enabled": true
  }'
import requests

url = "https://admin.vps.org/api/v1/servers/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}
data = {
    "name": "web-server-02",
    "plan_id": 1,
    "os_id": 5,
    "location": "us-west",
    "hostname": "web02.example.com",
    "backups_enabled": True
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
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({
    name: 'web-server-02',
    plan_id: 1,
    os_id: 5,
    location: 'us-west',
    hostname: 'web02.example.com',
    backups_enabled: true
  })
});

const server = await response.json();
console.log(server);
$data = [
    'name' => 'web-server-02',
    'plan_id' => 1,
    'os_id' => 5,
    'location' => 'us-west',
    'hostname' => 'web02.example.com',
    'backups_enabled' => true
];

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

$response = curl_exec($ch);
$server = json_decode($response, true);
curl_close($ch);

የምሳሌ ምላሽ

{
  "id": 12347,
  "name": "web-server-02",
  "hostname": "web02.example.com",
  "status": "provisioning",
  "ip_address": null,
  "location": "us-west",
  "plan": {
    "id": 1,
    "name": "Standard VPS",
    "vcpus": 2,
    "memory": 4096,
    "storage": 80
  },
  "os": {
    "id": 5,
    "name": "Ubuntu 22.04 LTS"
  },
  "backups_enabled": true,
  "created_at": "2025-01-16T15:30:00Z",
  "updated_at": "2025-01-16T15:30:00Z",
  "message": "Server is being provisioned. This may take 2-5 minutes."
}

የምላሽ ሁኔታ ኮዶች

201 አገልጋይ በተሳካ ሁኔታ ተፈጥሯል
400 መጥፎ ጥያቄ - ልክ ያልሆኑ መለኪያዎች
401 ያልተፈቀደ - ልክ ያልሆነ ወይም የጠፋ የኤፒአይ ቶከን
402 ክፍያ ያስፈልጋል - በቂ ያልሆኑ ክሬዲቶች
አግኝ /api/v1/servers/{server_id}/

የአገልጋይ ዝርዝሮችን ያግኙ

ስለ አንድ የተወሰነ አገልጋይ ዝርዝር መረጃ ያግኙ።

የመንገድ መለኪያዎች

መለኪያ አይነት ያስፈልጋል መግለጫ
server_id ኢንቲጀር አዎ ልዩ የአገልጋይ መታወቂያ

የምሳሌ ጥያቄ

cURL
Python
JavaScript
curl -X GET "https://admin.vps.org/api/v1/servers/12345/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

server_id = 12345
url = f"https://admin.vps.org/api/v1/servers/{server_id}/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}

response = requests.get(url, headers=headers)
print(response.json())
const serverId = 12345;
const response = await fetch(`https://admin.vps.org/api/v1/servers/${serverId}/`, {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  }
});

const server = await response.json();
console.log(server);

የምሳሌ ምላሽ

{
  "id": 12345,
  "name": "web-server-01",
  "hostname": "web01.example.com",
  "status": "active",
  "ip_address": "203.0.113.10",
  "ipv6_address": "2001:0db8::1",
  "location": "us-west",
  "plan": {
    "id": 1,
    "name": "Standard VPS",
    "vcpus": 2,
    "memory": 4096,
    "storage": 80,
    "bandwidth": 2048
  },
  "os": {
    "id": 5,
    "name": "Ubuntu 22.04 LTS"
  },
  "backups_enabled": true,
  "resource_usage": {
    "cpu_percent": 23.5,
    "memory_used": 2048,
    "disk_used": 35,
    "bandwidth_used": 450
  },
  "created_at": "2025-01-10T14:30:00Z",
  "updated_at": "2025-01-16T15:45:00Z"
}

የምላሽ ሁኔታ ኮዶች

200 የአገልጋይ ዝርዝሮችን በተሳካ ሁኔታ አግኝተናል
401 ያልተፈቀደ - ልክ ያልሆነ ወይም የጠፋ የኤፒአይ ቶከን
404 አልተገኘም - አገልጋይ የለም
ፑት /api/v1/servers/{server_id}/

የዝማኔ አገልጋይ

የአገልጋይ ውቅር ያዘምኑ። ሁሉም መስኮች ያስፈልጋሉ።

የመንገድ መለኪያዎች

Parameter Type Required Description
server_id integer Yes ልዩ የአገልጋይ መታወቂያ

የጥያቄ አካል መለኪያዎች

መለኪያ አይነት ያስፈልጋል መግለጫ
name ሕብረቁምፊ አዎ የአገልጋይ ስም
hostname ሕብረቁምፊ አዎ የአገልጋይ አስተናጋጅ ስም (FQDN)
backups_enabled ቡሊያን አዎ ራስ-ሰር ምትኬዎችን ያንቁ/ያሰናክሉ

የምሳሌ ጥያቄ

cURL
Python
curl -X PUT "https://admin.vps.org/api/v1/servers/12345/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "web-server-updated",
    "hostname": "web-updated.example.com",
    "backups_enabled": true
  }'
import requests

server_id = 12345
url = f"https://admin.vps.org/api/v1/servers/{server_id}/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}
data = {
    "name": "web-server-updated",
    "hostname": "web-updated.example.com",
    "backups_enabled": True
}

response = requests.put(url, headers=headers, json=data)
print(response.json())

የምላሽ ሁኔታ ኮዶች

200 አገልጋይ በተሳካ ሁኔታ ተዘምኗል
400 መጥፎ ጥያቄ - ልክ ያልሆኑ መለኪያዎች
404 አልተገኘም - አገልጋይ የለም
ጠጋኝ /api/v1/servers/{server_id}/

አገልጋይን በከፊል አዘምን

የተወሰኑ የአገልጋይ መስኮችን ያዘምኑ። የቀረቡት መስኮች ብቻ ይዘምናሉ።

የምሳሌ ጥያቄ

cURL
Python
curl -X PATCH "https://admin.vps.org/api/v1/servers/12345/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "new-server-name"
  }'
import requests

server_id = 12345
url = f"https://admin.vps.org/api/v1/servers/{server_id}/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}
data = {"name": "new-server-name"}

response = requests.patch(url, headers=headers, json=data)
print(response.json())
ሰርዝ /api/v1/servers/{server_id}/

አገልጋይ ሰርዝ

አገልጋይን በቋሚነት ሰርዝ። ይህ እርምጃ ሊቀለበስ አይችልም።

የምሳሌ ጥያቄ

cURL
Python
curl -X DELETE "https://admin.vps.org/api/v1/servers/12345/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

server_id = 12345
url = f"https://admin.vps.org/api/v1/servers/{server_id}/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}

response = requests.delete(url, headers=headers)
print(response.status_code)

የምላሽ ሁኔታ ኮዶች

204 አገልጋይ በተሳካ ሁኔታ ተሰርዟል
404 አልተገኘም - አገልጋይ የለም
ፖስት /api/v1/servers/{server_id}/start/

አገልጋይ ጀምር

የቆመ አገልጋይን ያብሩ።

የምሳሌ ጥያቄ

cURL
Python
JavaScript
curl -X POST "https://admin.vps.org/api/v1/servers/12345/start/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

server_id = 12345
url = f"https://admin.vps.org/api/v1/servers/{server_id}/start/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}

response = requests.post(url, headers=headers)
print(response.json())
const serverId = 12345;
const response = await fetch(`https://admin.vps.org/api/v1/servers/${serverId}/start/`, {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  }
});

const result = await response.json();
console.log(result);

የምሳሌ ምላሽ

{
  "status": "success",
  "message": "Server is starting",
  "server": {
    "id": 12345,
    "name": "web-server-01",
    "status": "starting"
  }
}

የምላሽ ሁኔታ ኮዶች

200 የአገልጋይ ጅምር ትዕዛዝ በተሳካ ሁኔታ ተልኳል
400 መጥፎ ጥያቄ - አገልጋይ አስቀድሞ እየሰራ ነው
404 አልተገኘም - አገልጋይ የለም
ፖስት /api/v1/servers/{server_id}/stop/

አቁም አገልጋይ

በደግነት የሚሰራ አገልጋይን አጥፋ።

የምሳሌ ጥያቄ

cURL
Python
curl -X POST "https://admin.vps.org/api/v1/servers/12345/stop/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

server_id = 12345
url = f"https://admin.vps.org/api/v1/servers/{server_id}/stop/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}

response = requests.post(url, headers=headers)
print(response.json())

የምሳሌ ምላሽ

{
  "status": "success",
  "message": "Server is stopping",
  "server": {
    "id": 12345,
    "name": "web-server-01",
    "status": "stopping"
  }
}
ፖስት /api/v1/servers/{server_id}/reboot/

አገልጋይን ዳግም አስነሳ

እየሄደ ያለ አገልጋይን በደግነት እንደገና ያስጀምሩ።

የምሳሌ ጥያቄ

cURL
Python
curl -X POST "https://admin.vps.org/api/v1/servers/12345/reboot/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

server_id = 12345
url = f"https://admin.vps.org/api/v1/servers/{server_id}/reboot/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}

response = requests.post(url, headers=headers)
print(response.json())

የምሳሌ ምላሽ

{
  "status": "success",
  "message": "Server is rebooting",
  "server": {
    "id": 12345,
    "name": "web-server-01",
    "status": "rebooting"
  }
}

የምላሽ ሁኔታ ኮዶች

200 የአገልጋይ ዳግም ማስጀመሪያ ትዕዛዝ በተሳካ ሁኔታ ተልኳል
400 መጥፎ ጥያቄ - አገልጋይ እየሰራ አይደለም
404 አልተገኘም - አገልጋይ የለም