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": null
  }
}

رسپانس فیلڈز

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 | null اگر ٹوکن ختم ہو گیا ہے تو. null جب ٹوکن کی کوئی ختم ہونے کی تاریخ نہیں ہے.

جوابی حالت کوڈ

200 Successfully retrieved account and token information
403 ناصحیح، ختم ہوچکا یا غائب API ٹوکن. API جواب 403 دیتا ہے، نہ 401، جب توثیق ناکام ہوتی ہے.

عام استعمال کے حالات

ٹوکن مالک کی شناخت کریں

مختلف ایپلیکیشنوں میں متعدد 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, 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/