VPS.org API

Tài liệu API REST

Tài khoản

Nhập thông tin hồ sơ tài khoản và biểu tượng API. Có ích cho việc xác định tài khoản và quyền hạn nào được liên kết với biểu tượng API.

Điểm cuối 1 điểm kết thúc
Đường cơ sở /api/v1/account
LẤY /api/v1/account/me/

Lấy thông tin tài khoản và biểu tượng

Trả lại siêu dữ liệu hồ sơ tài khoản và phạm vi/ quyền của token cho token API được dùng trong yêu cầu. Điều này hữu ích khi bạn quản lý nhiều token API và cần xác định tài khoản mà token thuộc về và quyền của nó.

Xác thực

Cần một token API hợp lệ. Bất kỳ token hoạt động nào cũng có thể truy cập điểm cuối này bất kể phạm vi quyền của nó.

Ví dụ về yêu cầu

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

Ví dụ về câu trả lời

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

Các trường phản hồi

account object
Địa điểm Kiểu Mô tả
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
Địa điểm Kiểu Mô tả
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

Mã trạng thái đáp ứng

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

Tình huống sử dụng phổ biến

Nhận dạng chủ của biểu tượng

Khi quản lý nhiều token API trên các ứng dụng khác nhau, dùng điểm kết thúc này để kiểm tra tài khoản mà token thuộc về:

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

Xác thực quyền truy cập biểu tượng

Trước khi gọi API, kiểm tra quyền của token hiện tại:

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

Kiểm tra thời hạn của biểu tượng

Kiểm tra xem mã của bạn sắp hết hạn không:

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

Truy cập quyền

Quyền theo định dạng resource:action. Dùng resource:* cho quyền truy cập đầy đủ vào một tài nguyên, hoặc *:* cho quyền truy cập đầy đủ API.

Nguồn Hành động có sẵn
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/