VPS.org API

REST API Documentation

Λογαριασμός API

Ανακτήστε το προφίλ λογαριασμού και τις πληροφορίες API. Χρήσιμο για τον προσδιορισμό του λογαριασμού και των αδειών που συνδέονται με ένα API.

Τελικά σημεία 1 τελικό σημείο
Βασική διαδρομή /api/v1/account
ΠΑΙΡΝΩ /api/v1/account/me/

Αποκτήστε πληροφορίες λογαριασμού & Token

Επιστρέφει τα μεταδεδομένα προφίλ λογαριασμού και το συμβολικό πεδίο εφαρμογής/αποστολής για το σύμβολο API που χρησιμοποιείται στο αίτημα. Αυτό είναι χρήσιμο όταν διαχειρίζεστε πολλαπλές μάρκες API και πρέπει να προσδιορίσετε σε ποιον λογαριασμό ανήκει ένα σύμβολο και σε ποιες άδειες έχει.

Πιστοποίηση

Απαιτεί ένα έγκυρο σύμβολο API. Κάθε ενεργό σύμβολο μπορεί να έχει πρόσβαση σε αυτό το τελικό σημείο ανεξάρτητα από το πεδίο εφαρμογής της άδειας.

Παράδειγμα Αιτήματος

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

Παράδειγμα απάντησης

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

Πεδία απόκρισης

account object
Πεδίο Τύπος 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
Πεδίο Τύπος 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 Αν το σύμβολο έχει λήξει. Μηδέν όταν το σύμβολο δεν έχει ημερομηνία λήξης.

Κωδικοί κατάστασης απόκρισης

200 Successfully retrieved account and token information
403 Μη έγκυρο, έληξε ή λείπει API. Το API απαντά 403, όχι 401, όταν η εξακρίβωση της ταυτότητας αποτυγχάνει.

Περιπτώσεις κοινής χρήσης

Προσδιορισμός ιδιοκτήτη Token

Κατά τη διαχείριση πολλαπλών σημείων API σε διάφορες εφαρμογές, χρησιμοποιήστε αυτό το τελικό σημείο για να επαληθεύσετε σε ποιον λογαριασμό ανήκει ένα σημείο:

# 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

Πριν κάνετε τις κλήσεις API, ελέγξτε τις άδειες που έχει η τρέχουσα μάρκα:

# 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

Ελέγξτε αν η μάρκα σας πρόκειται να λήξει:

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

Αναφορά αδειών

Οι άδειες ακολουθούν τη μορφή resource:action. Χρήση resource:* για την πλήρη πρόσβαση σε έναν πόρο, ή *:* για πλήρη πρόσβαση API.

Πόροι Διαθέσιμες δράσεις
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/