VPS.org API

REST API Documentation

Kugwiritsa ntchito Akaunti

Kupeza nkhani ya akaunti ndi API token. Kuthandiza podziwa zomwe akaunti ndi ufulu zimagwirizana ndi API token.

Mapeto 1 endpoint
Njira Yoyambira /api/v1/account
Pezani /api/v1/account/me/

Kupeza Account & Token Info

Kubwerera ku akaunti ya profile metadata ndi token scope / permissions kwa API token yomwe imagwiritsidwa ntchito mu funso. Izi ndi zothandiza pamene mumayendetsa ma tokens ambiri a API ndipo muyenera kudziwa kuti akaunti yomwe token ili nayo ndi zomwe zilolezo ili nazo.

Kutsimikizira

Amafuna chilolezo cha API chovomerezeka. Chilolezo chilichonse chogwira ntchito chimaweza chilolezo ichi chomaliza ngakhale kuti chili ndi zilolezo zosiyanasiyana.

Chitsanzo cha Pempho

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

Chitsanzo cha Yankho

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

Mayankho a Minda

account object
Kuwala Mtundu Kufotokozera
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
Kuwala Mtundu Kufotokozera
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

Kuyankha Status Codes

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

Zogwiritsa ntchito Zogwiritsa ntchito

Kuzindikira Woyang'anira Token

Poyang'anira ma tokens ambiri a API m'mapulogalamu osiyanasiyana, kugwiritsa ntchito izi endpoint kuti atsimikizire kuti ndi akaunti iti yomwe imakhala ndi token:

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

Kuyesa Kulandira

Pambuyo popanga API zopempha, onetsetsani zimene zilolezo watsopano token ali:

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

Kuyang'ana Kutha Kwa Token

Sankhani ngati token yanu ikuyembekezeka kuchoka:

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

Kulemba kwa Malamulo

Permissions follow the format resource:action. Kugwiritsa ntchito resource:* kwa kulowa kwathunthu kwa chitetezo, kapena *:* kwa kulowa kwathunthu API.

Zolemba Zochita Zopezeka
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/