VPS.org API

Dokumentace REST API

Účet API

Získat profil účtu a API token informace. Užitečné pro identifikaci, který účet a oprávnění jsou spojeny s API žetonem.

Koncové body 1 endpoint
Základní cesta /api/v1/account
ZÍSKAT /api/v1/account/me/

Získejte informace o účtu a tokenu

Vrací metadata profilu účtu a žetonový rozsah/povolení pro API žeton použitý v žádosti. To je užitečné, když spravujete více žetonů API a potřebujete určit, ke kterému účtu patří žeton a jaká oprávnění má.

Ověřování

Vyžaduje platný token API. Jakýkoliv aktivní token může přistupovat k tomuto cílovému parametru bez ohledu na rozsah jeho oprávnění.

Příklad žádosti

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

Příklad odpovědi

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

Pole odpovědí

account object
Pole Typ Popis zboží
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
Pole Typ Popis zboží
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 Zda žeton vypršel. Nulová, když žeton nemá datum spotřeby.

Kódy stavu odpovědi

200 Successfully retrieved account and token information
403 Neplatný, platný nebo chybějící API žeton. API odpoví 403, ne 401, když autentizace selže.

Případy společného použití

Identifikovat majitele žetonu

Při správě více žetonů API napříč různými aplikacemi použijte tento cílový parametr k ověření, který účet žeton patří:

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

Ověřit symbolická oprávnění

Před voláním API zkontrolujte, jaká oprávnění má aktuální token:

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

Konec platnosti monitoru

Zkontrolujte, zda váš žeton vyprší:

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

Odkaz na povolení

Povolení se řídí formátem resource:action. Použití resource:* pro plný přístup ke zdroji nebo *:* pro plný přístup API.

Zdroj Dostupné akce
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/