Mengambil profil akun dan informasi token API. Berguna untuk mengidentifikasi akun dan hak akses mana yang terkait dengan token API.
Mengembalikan metadata profil akun dan token scope/permissions untuk token API yang dipakai dalam permintaan. Ini berguna ketika Anda mengelola beberapa token API dan perlu mengidentifikasi token mana yang dimiliki dan apa haknya.
Memerlukan token API yang valid. Token aktif apapun dapat mengakses titik akhir ini terlepas dari lingkup ijinnya.
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| Ruas | Jenis | Deskripsi |
|---|---|---|
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| Ruas | Jenis | Deskripsi |
|---|---|---|
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 |
Ketika mengelola beberapa token API di berbagai aplikasi, gunakan titik akhir ini untuk memverifikasi akun mana pemilik 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']}")
Sebelum membuat panggilan API, periksa hak akses token saat ini:
# 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")
Periksa apakah token Anda akan berakhir:
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")
Hak akses mengikuti format resource:action. Gunakan resource:* untuk akses penuh ke sumber daya, atau *:* untuk akses API penuh.
| Sumber Daya | Aksi Tersedia |
|---|---|
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, * |