اکاؤنٹ کی پروفا ئل اور API ٹوکن معلومات واپس لیں۔ یہ جاننے کے لیے مفید ہے کہ کون سا اکاؤنٹ اور اجازتیں ایک API ٹوکن سے وابستہ ہیں.
درخواست میں استعمال شدہ API ٹکنوں کے لیے اکاؤنٹ کی پروفائل میٹا ڈیٹا اور ٹوکن اسکوپ/حقائق واپس کرتا ہے۔ یہ اس وقت مفید ہوتا ہے جب آپ متعدد API ٹکنوں کا انتظام کرتے ہیں اور یہ جاننے کی ضرورت ہوتی ہے کہ ایک ٹوکن کس اکاؤنٹ سے تعلق رکھتا ہے اور اس کے پاس کیا حقوق ہیں۔
ایک معتبر API ٹوکن کی ضرورت ہے۔ کوئی بھی فعال ٹوکن اس انتہا پوائنٹ تک رسائی حاصل کر سکتا ہے، اس کی اجازت کے دائرے سے بے پرواہ۔
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, * |