VPS.org API

REST API Xuquuqda

Xisaabta

Soo kabsado profile xisaabta iyo API token macluumaad. Faa'iido u leh in la aqoonsado oo ah xisaabta iyo xuquuqda la xiriira API token.

Dhammaadka 1 xaraf
Waddo Saldhig ah /api/v1/account
HEL /api/v1/account/me/

Ka hel macluumaadka xisaabta & Token

Ku soo laabtaan metadata profile xisaabta iyo token scope / xuquuqda ee API token loo isticmaalo codsiga. Tani waa waxtar leh marka aad maamulo API tokens badan oo ay u baahan yihiin in ay aqoonsadaan xisaabta token ku saabsan iyo waxa xuquuqda ay leedahay.

Xaqiijinta

U baahan yahay a API token sax ah. Token kasta oo hawlgalka ah ayaa ka heli kartaa endpoint this xitaa haddii ay tahay xadka ogolaansho.

Codsi Tusaale ah

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

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

response = requests.get(url, headers=headers)
data = response.json()

print(f"Account: {data['account']['email']}")
print(f"Token: {data['token']['name']}")
print(f"Permissions: {data['token']['permissions']}")
const response = await fetch('https://admin.vps.org/api/v1/account/me/', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  }
});

const data = await response.json();
console.log(`Account: ${data.account.email}`);
console.log(`Token: ${data.token.name}`);
console.log(`Permissions:`, data.token.permissions);
$ch = curl_init('https://admin.vps.org/api/v1/account/me/');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer YOUR_API_TOKEN',
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

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

echo "Account: " . $data['account']['email'] . "\n";
echo "Token: " . $data['token']['name'] . "\n";
echo "Permissions: " . implode(', ', $data['token']['permissions']) . "\n";

Jawaabta Tusaale

{
  "account": {
    "email": "john@example.com",
    "first_name": "John",
    "last_name": "Doe",
    "company_name": "Acme Inc.",
    "created_at": "2024-06-15"
  },
  "token": {
    "name": "Production Deploy Key",
    "permissions": [
      "servers:list",
      "servers:create",
      "servers:power",
      "dns:*"
    ],
    "created_at": "2025-01-10T14:30:00Z",
    "last_used_at": "2025-02-11T08:45:12Z",
    "expires_at": null,
    "is_expired": null
  }
}

Goobaha Jawaabta

account object
Isku-darka Nooca Tilmaamaha
email string Account email address
first_name string | null Account holder's first name
last_name string | null Account holder's last name
company_name string | null Company name (if set)
created_at date Account creation date (YYYY-MM-DD)
token object
Isku-darka Nooca Tilmaamaha
name string Name assigned to this API token
permissions array List of permission strings (e.g. servers:list, dns:*). See Authentication docs for permission format.
created_at datetime When the token was created (ISO 8601)
last_used_at datetime | null Last time the token was used for authentication
expires_at datetime | null Token expiration date (null if no expiration)
is_expired boolean | null Haddii token waa dhamaatay. null marka token ma leh taariikhda dhamaadka.

Codsiyada Xaaladda Jawaabta

200 Successfully retrieved account and token information
403 Invalid, dhamaatay ama ka maqan API token. API jawaabo 403, ma 401, marka authentication fashilmaan.

Xaaladaha isticmaalka caadiga ah

Tusaale

Marka aad maamulo API badan oo ka mid ah codsiyada kala duwan, isticmaal endpoint this si aad u hubiso xisaabta a token ku saabsan:

# Check which account this token is associated with
response = requests.get(
    "https://admin.vps.org/api/v1/account/me/",
    headers={"Authorization": f"Bearer {api_token}"}
)
account = response.json()["account"]
print(f"This token belongs to: {account['email']}")

Xaq u lahaanshaha

Ka hor inta aadan sameynin API wicitaanada, hubi waxa idman ee token hadda jira:

# Check token permissions before performing an action
response = requests.get(
    "https://admin.vps.org/api/v1/account/me/",
    headers={"Authorization": f"Bearer {api_token}"}
)
permissions = response.json()["token"]["permissions"]

if "servers:create" in permissions or "servers:*" in permissions:
    # Token has permission to create servers
    create_server()
else:
    print("Token does not have servers:create permission")

Daawo Waqtiga Dhacda

Ka hubi haddii aad token waa in ay dhamaadaan:

from datetime import datetime

response = requests.get(
    "https://admin.vps.org/api/v1/account/me/",
    headers={"Authorization": f"Bearer {api_token}"}
)
token_info = response.json()["token"]

if token_info["expires_at"]:
    expires = datetime.fromisoformat(token_info["expires_at"])
    days_left = (expires - datetime.now()).days
    if days_left < 7:
        print(f"Warning: Token expires in {days_left} days")
else:
    print("Token has no expiration date")

Xuquuqda Soo Celinta

Xuquuqda raac qaabka resource:action. isticmaal resource:* si ay u helaan si buuxda u ah hanti, ama *:* si ay u helaan API buuxda.

Xogta Falanqaynta la heli karo
servers list, create, update, delete, power, backup, snapshot, resize, exec, *
domains list, search, register, update, renew, *
dns list, create, update, delete, *
snapshots list, delete, *
backups list, restore, *
ssh-keys list, create, delete, *
plans list, *
locations list, *
operating-systems list, *
deployments list, create, delete, *
Manage your tokens: Create, edit, and revoke API tokens at admin.vps.org/account/developers/