VPS.org API

REST API dokumentacija

Paskyros API

Gauti paskyros profilį ir API simbolinę informaciją. Naudinga nustatant, kuri sąskaita ir leidimai yra susiję su API simboliu.

Galutiniai taškai 1 vertinamoji baigtis
Bazinis kelias /api/v1/account
GAUTI /api/v1/account/me/

Gauti paskyros & žetonų informaciją

Grąžina paskyros profilio metaduomenis ir simbolių apimtį/atributus API simboliui, naudojamam užklausoje. Tai naudinga, kai tvarkote kelis API simbolius ir reikia nustatyti, kuriai sąskaitai priklauso simbolis ir kokias teises jis turi.

Autentifikavimas

Reikalauja galiojančio API simbolio. Bet kuris aktyvus žetonas gali pasiekti šią vertinamąją baigtį nepriklausomai nuo jo leidimo apimties.

Prašymo pavyzdys

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

Atsakymo pavyzdys

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

Atsakymo laukai

account object
Laukas Tipas Aprašymas
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
Laukas Tipas Aprašymas
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

Atsako būsenos kodai

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

Bendri naudojimo atvejai

Identifikuoti simbolių savininką

Valdant įvairius API simbolius skirtingose taikymo srityse, naudoti šią vertinamąją baigtį patikrinti, kuri sąskaita simbolis priklauso:

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

Tikrinti leidimus

Prieš atlikdami API skambučius, patikrinti, kokias teises dabartinis ženklas turi:

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

Monitoriaus žetonų galiojimo pabaiga

Patikrinkite, ar jūsų žetonas baigsis:

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

Leidimų nuoroda

Leidimai atitinka formatą resource:action. Naudojimas resource:* kad būtų galima visiškai naudotis ištekliumi, arba *:* už pilną API prieigą.

Išteklius Prieinami veiksmai
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/