VPS.org API

REST API دستاویز

اڪائونٽ

اڪائونٽ پروفائيل ۽ API ٽوڪين جي معلومات حاصل ڪريو. اهو ڄاڻڻ لاءِ فائديمند آهي ته ڪهڙو اڪائونٽ ۽ اجازتون API ٽوڪين سان لاڳاپيل آهن.

آخري نقطا 1 خاتمي جو نقطو
بنيادي رستو /api/v1/account
حاصل ڪريو /api/v1/account/me/

اڪائونٽ ۽ ٽوڪين جي معلومات حاصل ڪريو

درخواست ۾ استعمال ڪيل 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": false
  }
}

جوابي ميدان

account object
ميدان قسم بيان
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
ميدان قسم بيان
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

جوابي حالت جا ڪوڊ

200 Successfully retrieved account and token information
401 Unauthorized - Invalid, expired, or missing API 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']}")

ٽوڪين جي اجازتون جانچيو

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

ٽوڪين جي آخري وقت کي ڏسو

جيڪڏھن توھان جو ٽوڪين ختم ٿيڻ وارو آھي ته چيڪ ڪريو:

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, *
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/