VPS.org API

REST API dokumentasyon

API ng Account

Bumalik profile ng account at API token impormasyon. Kapaki-pakinabang para sa pagkilala kung aling mga account at mga pahintulot ay nauugnay sa isang API token.

Mga Endpoint 1 endpoint
Landas ng Batayan /api/v1/account
KUMUHA /api/v1/account/me/

Kumuha ng Account & Token Info

Bumalik ang account profile metadata at token saklaw / pahintulot para sa API token na ginagamit sa kahilingan. Ito ay kapaki-pakinabang kapag ikaw ay pamahalaan ang maraming mga API token at kailangan upang makilala kung aling account ang isang token na pag-aari at kung ano ang mga pahintulot na ito ay may.

Pagpapatotoo

Kailangan ng isang wastong API token. Anumang aktibong token ay maaaring ma-access ang endpoint na ito anuman ang saklaw ng pahintulot nito.

Halimbawang Kahilingan

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

Halimbawang Tugon

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

Mga Patlang ng Tugon

account object
Patlang Uri Paglalarawan
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
Patlang Uri Paglalarawan
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

Mga Status Code ng Tugon

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

Karaniwang Gamitin ang mga kaso

Kilalanin ang Token Owner

Kapag pinamamahalaan ang maraming mga API token sa iba’t ibang mga application, gamitin ang endpoint na ito upang suriin kung aling account ang isang token na pag-aari sa:

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

Suriin Token Pahintulot

Bago gumawa ng mga tawag API, suriin kung ano ang mga pahintulot ang kasalukuyang token ay may:

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

Monitor Token Pagkumpleto

Tingnan kung ang iyong token ay malapit nang mag-expire:

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

Permissions Reference

Pahintulot sundin ang format resource:action. Gamitin resource:* para sa kumpletong access sa isang mapagkukunan, o *:* Para sa ibang gamit, tingnan ang API (paglilinaw).

Mga mapagkukunan Available na mga aksyon
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/