VPS.org API

REST API sənədləşdirilməsi

Hesab

Hesab profili və API token məlumatını əldə et. Hesab və API token ilə əlaqəli icazələrin müəyyən edilməsi üçün faydalıdır.

Son Nöqtələr 1 son nöqtəsi
Əsas Yol /api/v1/account
AL /api/v1/account/me/

Hesab Mə'lumatını Al

İstəyişin API tokeni üçün hesab profilinin metamə'lumatlarını və token çərçivələrini/hüquqlarını geri qaytarır. Birdən çox API tokenini idarə etdiyiniz və tokenin hansı hesaba aid olduğunu və hansı hüquqlara sahib olduğunu müəyyən etməli olduğunuz zaman bu faydalıdır.

Doğrulama

Müvafiq API token'i tələb edir. Hər hansı aktiv token, icazə sahəsindən asılı olmayaraq bu son nöqtəyə çıxış əldə edə bilər.

Nümunə Sorğu

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

Nümunə Cavab

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

Cavab Sahələri

account object
Sahə Növü İzahat
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
Sahə Növü İzahat
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 Whether the token has expired

Cavab Status Kodları

200 Successfully retrieved account and token information
401 Unauthorized - Invalid, expired, or missing API token

Ən çox istifadə olunan hallar

Token sahibini təsbit et

Bir çox API tokenini müxtəlif tətbiqetmələrdə idarə edərkən, tokenin hansı hesaba aid olduğunu yoxlamaq üçün bu son nöqtəni istifadə edin:

# 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']}")

Token icazələrini yoxla

API zəngləri etməzdən əvvəl, hazırkı tokenin nə icazələri olduğunu yoxlayın:

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

Tokenin Gəlmə Zamanını Gözlə

Tokeninizin vaxtı bitməyə yaxın olub olmadığını yoxlayın:

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

İmkanlar

İmkanlar formata uyğun olmalıdır resource:action. İstifadə et resource:* resursa tam çıxış üçün, ya da *:* tam API girişi üçün.

Mənbə Mövcud Əmrlər
servers list, create, update, delete, power, backup, snapshot, resize, *
domains list, search, update, renew, *
dns list, create, update, delete, *
snapshots list, delete, *
backups list, *
ssh-keys list, create, delete, *
plans list, *
locations list, *
deployments list, create, delete, *
billing list, *
Manage your tokens: Create, edit, and revoke API tokens at admin.vps.org/account/developers/