VPS.org API

Lëscht vun de Lëtzebuerger Filmer

Kont

Kontprofil an API Token Informatiounen zréckzéien. Nützlech fir ze identifizéieren, wéi eng Konten an d'Rechtegkeeten mat engem API Token verbonnen sinn.

Endpunkten Endpunkt
Basiswee /api/v1/account
KRITT /api/v1/account/me/

Kont & Token Informatiounen

Gitt d'Metadaten vum Kontprofil zréck an d'Token-Beräich/Recht fir den API-Token, deen an der Ufro benotzt gouf. Dat ass nëtzlech wann Dir méi API-Token verwaltet an identifizéiere musst, wéi engem Kont e Token gehéiert an wéi eng Rechter et huet.

Authentifikatioun

Besonnesch fir d'Benotzung vun der API. All aktiven Token kann op dësen Endpunkt zougräifen, onofhängeg vum Berechtegungsberäich.

Beispill Ufro

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

Beispill Äntwert

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

Äntwertfelder

account object
Feld Typ Beschreiwung
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
Feld Typ Beschreiwung
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

Antwortstatuscodes

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

Allgemeng Gebrauchsfäll

Token-Eigentum identifizéieren

Wann Dir méi API Token iwwer verschidden Applikatiounen verwalten, benotzt dësen Endpunkt fir ze kontrolléieren, wéi engem Kont e Token gehéiert:

# 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-Rechtevergaangenheet iwwerpréiwen

Kontrolléiert virum API-Uruff, wéi eng Rechter de aktuelle Token huet:

# 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-Verlaf iwwerwaachen

Kontrolléiert ob Äert Token amgaang ass ofzelafen:

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

Referenz fir d'Rechtevergaangenheet

Rechter folgen dem Format resource:action. Verwenden resource:* fir vollen Zougang zu enger Ressource, oder *:* fir vollen API-Accès.

Ressource Verfügbar Aktionen
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/