VPS.org API

REST API Documentation

Konto API

Hangi konto profiil ja API märgi info. Kasulik määrata, milline konto ja õigused on seotud API märgiga.

Lõpp-punktid 1 tulemusnäitaja
Baasrada /api/v1/account
SAA /api/v1/account/me/

Konto & märgi info hankimine

Tagastab päringus kasutatava API märgi kontoprofiili metaandmed ja märgi ulatuse/ õigused. See on kasulik, kui hallata mitut API märgist ning teha kindlaks, millisele kontole ja millised õigused sellel on.

Autentimine

Nõuab kehtivat API märgist. Iga aktiivne märgis pääseb sellele tulemusnäitajale ligi sõltumata selle loa ulatusest.

Näidistaotlus

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äidisvastus

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

Vastuseväljad

account object
Väli Tüüp Description
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
Väli Tüüp Description
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 Kas märgi kehtivusaeg on lõppenud. null, kui märgil puudub aegumiskuupäev.

Reageerimisseisundi koodid

200 Successfully retrieved account and token information
403 Vigane, aegunud või puuduv API märgis. API vastab 403, mitte 401, kui autentimine ebaõnnestub.

Sagedased kasutusjuhud

Tuvasta märgi omanik

Mitme API märgi haldamisel erinevates rakendustes kasutage seda näitajat, et kontrollida, millise konto märgi alla kuulub:

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

Kontrolli Tokeni õigusi

Enne API kõnede tegemist kontrolli, millised õigused on aktiivsel märgil:

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

Monitor Tokeni aegumine

Kontrollige, kas teie märgis on lõppemas:

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

Õiguste viide

Õigused vastavalt vormingule resource:action. Kasutamine resource:* täielikult ressursile juurdepääsuks või *:* täieliku API juurdepääsu eest.

Ressurss Saadaolevad toimingud
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/