VPS.org API

REST API belgelendirmesi

Hesap API

Hesap profili ve API token bilgisini al. API token ile ilişkili hangi hesap ve izinlerin tanımlanmasında yararlı.

Uç noktalar 1 son nokta
Temel Yol /api/v1/account
ELDE ETMEK /api/v1/account/me/

Hesap ve Token Bilgisini Al

İstekte kullanılan API token için hesap profili meta verilerini ve token alanını/permisyonlarını geri verir. Bu, birden fazla API token'ı yönettiğinizde ve bir token'ın hangi hesaba ait olduğunu ve hangi permisyonlara sahip olduğunu belirlemeniz gerektiğinde yararlıdır.

Kimlik doğrulama

Geçerli bir API token'i gerektirir. Herhangi bir aktif token, izin alanından bağımsız olarak bu son noktaya erişim sağlayabilir.

Örnek Talep

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

Örnek Yanıt

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

Yanıt Alanları

account object
Alan Tip Açıklama
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
Alan Tip Açıklama
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

Cevap Durum Kodları

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

Yaygın Kullanım Durumları

Token Sahibini Tanıt

Farklı uygulamalarda birden fazla API token'ı yönettiğinizde, bir token'ın hangi hesaba ait olduğunu doğrulamak için bu son noktayı kullanın:

# 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 İzinlerini Kontrol Et

API çağrıları yapmadan önce, mevcut token'ın hangi izinlere sahip olduğunu kontrol edin:

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

Token' in Geçme Tarihini Gözlet

Tokeninizin süresi dolmaya yakın olup olmadığını kontrol edin:

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

İzin Referansları

İzinler biçime göredir resource:action. Kullan resource:* Bir kaynağa tam erişim için, ya da *:* tam API erişimi için.

Kaynak Kullanabilir Etkinlikler
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/