VPS.org API

REST API փաստաթղթավորում

Հաշիվ

Վերցրեք հաշվի պրոֆիլը և API token- ի տեղեկատվությունը։ Հնարավոր է օգտակար լինել API token- ի հետ կապված հաշիվների և թույլտվությունների հայտնաբերման համար։

Վերջնակետեր 1 վերջնական կետ
Հիմնական ուղի /api/v1/account
ՍՏԱՆԱԼ /api/v1/account/me/

Գրանցման և տոկոսադրույքի տեղեկատվություն

Վերադարձնում է հաշվի պրոֆիլի մետա տվյալները և API-ի թույլտվությունները, որոնք օգտագործվել են խնդրանքում։ Սա օգտակար է, երբ դուք կառավարում եք մի քանի API թույլտվություններ և պետք է որոշեք, թե որ հաշվին է պատկանում թույլտվությունը և ինչ թույլտվություններ ունի այն։

Նույնականացում

Պահանջվում է ճիշտ API տոկելը։ Բոլոր ակտիվ տոկելը կարող է հասնել այս վերջնական կետին՝ անկախ թույլտվությունների շրջանակից։

Օրինակի հարցում

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

Օրինակ պատասխան

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

Պատասխանի դաշտեր

account object
Տեղամասեր Տեսակ Ապրանքանիշ
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
Տեղամասեր Տեսակ Ապրանքանիշ
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 Ըստ էության, արդյո՞ք տոկոսը ժամկետանց է։ null, եթե տոկոսը չի ունենում ժամկետանց ժամկետ։

Պատասխանի վիճակի կոդեր

200 Successfully retrieved account and token information
403 Անօրինական, ժամկետանց կամ բացակայող API token: API-ն պատասխանում է 403, ոչ թե 401, երբ ավանդականացումը ձախողվում է:

Հիմնական օգտագործման դեպքեր

Ինտերֆեյս

Երբ կառավարում եք մի քանի API token- ներ տարբեր ծրագրերում, օգտագործեք այս վերջնական կետը՝ ստուգելու համար, թե որ հաշվին է պատկանում token- ը:

# 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 իրավունքները

API կոչեր անելու նախքան, ստուգեք թե որն է ընթացիկ տոկենի իրավունքը:

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

Տեսախցիկի տոկոսադրույքի ժամկետը

Ստուգեք, թե արդյոք ձեր տոկոսը վերջանում է:

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

Հղում իրավունքների մասին

Օգտագործման իրավունքները հետևում են ձևաչափին resource:action. Օգտագործել resource:* ռեսուրս հասնելու համար կամ *:* ամբողջական API մուտք

ռեսուրս Գոյություն ունեցող գործողություններ
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/