VPS.org API

Àwọn Àkọsílẹ̀ API REST

Àwọn Dóméǹ

Ṣàkóso ìforúkọsílẹ̀ domain, ìtúnṣe, àti ìṣètò ní ìlànà.

Àwọn ìparí 6 endpoints
Ipa-ọna Ipilẹ /api/v1/domains
GBÀ /api/v1/domains/

Ṣe àkójọ gbogbo àwọn agbègbè ìkápá

Gba àtòjọ àwọn dómìǹì àti àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn

Àwọn Ìbéèrè Pàtàkì

Àwọn Àtòjọ-ẹ̀yàn Irú Ti a nilo Àwọn Àkọlé
status string _Kò Filter by status: active, pending, expired, locked
search string _Kò Ṣe àwárí àwọn agbègbè ìkànnì nípa orúkọ wọn

Àpẹẹrẹ Ìbéèrè

cURL
Python
JavaScript
curl -X GET "https://admin.vps.org/api/v1/domains/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

url = "https://admin.vps.org/api/v1/domains/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}

response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch('https://admin.vps.org/api/v1/domains/', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  }
});

const domains = await response.json();
console.log(domains);

Àpẹẹrẹ Ìdáhùn

{
  "count": 3,
  "results": [
    {
      "id": 101,
      "domain_name": "example.com",
      "status": "active",
      "registration_date": "2023-01-15T10:30:00Z",
      "expiration_date": "2026-01-15T10:30:00Z",
      "auto_renew": true,
      "locked": true,
      "nameservers": [
        "ns1.vps.org",
        "ns2.vps.org"
      ],
      "privacy_protection": true,
      "dns_managed_by": "vps.org"
    },
    {
      "id": 102,
      "domain_name": "myapp.io",
      "status": "active",
      "registration_date": "2024-06-20T14:15:00Z",
      "expiration_date": "2025-06-20T14:15:00Z",
      "auto_renew": false,
      "locked": false,
      "nameservers": [
        "ns1.cloudflare.com",
        "ns2.cloudflare.com"
      ],
      "privacy_protection": false,
      "dns_managed_by": "external"
    }
  ]
}

Àwọn Kóòdù Ipò Ìdáhùn

200 Àkójọ àwọn agbègbè tí a ti rí gbà ní àṣeyọrí
401 Àìní àṣẹ - Àmì ìdánilójú tí kò tọ́ tàbí tí kò sí mọ́
Àwọn Àkọlé /api/v1/domains/

Forukọsilẹ Aṣẹ Tuntun

Fi orukọ dómìnira tuntun pamọ́. Àwọn ààyè-iṣẹ́ dómìnira nínú ìṣàfihàn àwọn ìṣàfihàn.

Ìbéèrè fún Àwọn Ìwọ̀n Ara

Àwọn Àtòjọ-ẹ̀yàn Irú Ti a nilo Àwọn Àkọlé
domain_name string Bẹ́ẹ̀ni Domain name to register (e.g., "example.com")
years integer _Kò Registration period in years (1-10, default: 1)
auto_renew boolean _Kò Enable automatic renewal (default: true)
privacy_protection boolean _Kò Enable WHOIS privacy protection (default: true)
nameservers array _Kò Custom nameservers (default: VPS.org nameservers)

Àpẹẹrẹ Ìbéèrè

cURL
Python
JavaScript
PHP
curl -X POST "https://admin.vps.org/api/v1/domains/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "domain_name": "mynewdomain.com",
    "years": 2,
    "auto_renew": true,
    "privacy_protection": true
  }'
import requests

url = "https://admin.vps.org/api/v1/domains/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}
data = {
    "domain_name": "mynewdomain.com",
    "years": 2,
    "auto_renew": True,
    "privacy_protection": True
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch('https://admin.vps.org/api/v1/domains/', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    domain_name: 'mynewdomain.com',
    years: 2,
    auto_renew: true,
    privacy_protection: true
  })
});

const domain = await response.json();
console.log(domain);
$data = [
    'domain_name' => 'mynewdomain.com',
    'years' => 2,
    'auto_renew' => true,
    'privacy_protection' => true
];

$ch = curl_init('https://admin.vps.org/api/v1/domains/');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer YOUR_API_TOKEN',
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
$domain = json_decode($response, true);
curl_close($ch);

Àpẹẹrẹ Ìdáhùn

{
  "id": 103,
  "domain_name": "mynewdomain.com",
  "status": "pending",
  "registration_date": "2026-01-16T16:00:00Z",
  "expiration_date": "2028-01-16T16:00:00Z",
  "auto_renew": true,
  "locked": true,
  "nameservers": [
    "ns1.vps.org",
    "ns2.vps.org"
  ],
  "privacy_protection": true,
  "dns_managed_by": "vps.org",
  "total_cost": 24.98,
  "message": "Domain registration initiated. Processing may take 5-10 minutes."
}

Àwọn Kóòdù Ipò Ìdáhùn

201 Domain registration initiated successfully
400 Bad Request - Invalid domain name or domain already registered
401 Àìní àṣẹ - Àmì ìdánilójú tí kò tọ́ tàbí tí kò sí mọ́
402 Payment Required - Insufficient account balance
Àwọn Àmì-ìwé: Domain registration is not instant. Status will change from pending to active within 5-10 minutes. You'll receive an email confirmation when registration completes.
GBÀ /api/v1/domains/{domain_id}/

Àwọn Àlàyé Dómén

Gba àwọn ìròyìn àwọn ìṣàfihàn láti inú dómìnirà kan.

Àwọn Pílámítà Ọ̀nà

Àwọn Àtòjọ-ẹ̀yàn Irú Ti a nilo Àwọn Àkọlé
domain_id integer Bẹ́ẹ̀ni Unique domain ID

Àpẹẹrẹ Ìbéèrè

cURL
Python
JavaScript
curl -X GET "https://admin.vps.org/api/v1/domains/101/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

domain_id = 101
url = f"https://admin.vps.org/api/v1/domains/{domain_id}/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}

response = requests.get(url, headers=headers)
print(response.json())
const domainId = 101;
const response = await fetch(`https://admin.vps.org/api/v1/domains/${domainId}/`, {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  }
});

const domain = await response.json();
console.log(domain);

Àpẹẹrẹ Ìdáhùn

{
  "id": 101,
  "domain_name": "example.com",
  "status": "active",
  "registration_date": "2023-01-15T10:30:00Z",
  "expiration_date": "2026-01-15T10:30:00Z",
  "auto_renew": true,
  "locked": true,
  "nameservers": [
    "ns1.vps.org",
    "ns2.vps.org"
  ],
  "privacy_protection": true,
  "dns_managed_by": "vps.org",
  "registrar": "VPS.org",
  "days_until_expiration": 730,
  "whois_info": {
    "registrant": "Privacy Protected",
    "admin_contact": "Privacy Protected",
    "tech_contact": "Privacy Protected",
    "created_date": "2023-01-15",
    "updated_date": "2025-12-20"
  },
  "dns_records_count": 12
}

Àwọn Kóòdù Ipò Ìdáhùn

200 Successfully retrieved domain details
401 Àìní àṣẹ - Àmì ìdánilójú tí kò tọ́ tàbí tí kò sí mọ́
404 A ko ri - A ko ri agbegbe agbegbe rara
FÚN /api/v1/domains/{domain_id}/

Àwọn Ààtòjọ-ẹ̀yàn

Àwọn ìkúndùǹ dómìnirà bíi ìṣàfarawé àwọn ààtòjútó ìṣàfarawé àwọn àwọn sáà orúkọ, àwọn ààtòjútó ìpamọ́.

Àwọn Pílámítà Ọ̀nà

Àwọn Àtòjọ-ẹ̀yàn Irú Ti a nilo Àwọn Àkọlé
domain_id integer Bẹ́ẹ̀ni Unique domain ID

Ìbéèrè fún Àwọn Ìwọ̀n Ara

Àwọn Àtòjọ-ẹ̀yàn Irú Ti a nilo Àwọn Àkọlé
auto_renew boolean _Kò Enable or disable automatic renewal
privacy_protection boolean _Kò Enable or disable WHOIS privacy
nameservers array _Kò Update nameservers (2-4 nameservers required)
locked boolean _Kò Lock or unlock domain to prevent transfers

Àpẹẹrẹ Ìbéèrè

cURL
Python
JavaScript
curl -X PUT "https://admin.vps.org/api/v1/domains/101/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "auto_renew": false,
    "nameservers": [
      "ns1.cloudflare.com",
      "ns2.cloudflare.com"
    ]
  }'
import requests

domain_id = 101
url = f"https://admin.vps.org/api/v1/domains/{domain_id}/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}
data = {
    "auto_renew": False,
    "nameservers": [
        "ns1.cloudflare.com",
        "ns2.cloudflare.com"
    ]
}

response = requests.put(url, headers=headers, json=data)
print(response.json())
const domainId = 101;
const response = await fetch(`https://admin.vps.org/api/v1/domains/${domainId}/`, {
  method: 'PUT',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    auto_renew: false,
    nameservers: [
      'ns1.cloudflare.com',
      'ns2.cloudflare.com'
    ]
  })
});

const domain = await response.json();
console.log(domain);

Àpẹẹrẹ Ìdáhùn

{
  "id": 101,
  "domain_name": "example.com",
  "status": "active",
  "auto_renew": false,
  "nameservers": [
    "ns1.cloudflare.com",
    "ns2.cloudflare.com"
  ],
  "privacy_protection": true,
  "locked": true,
  "message": "Domain settings updated successfully. Nameserver changes may take up to 24 hours to propagate."
}

Àwọn Kóòdù Ipò Ìdáhùn

200 Domain updated successfully
400 Bad Request - Invalid parameters
401 Àìní àṣẹ - Àmì ìdánilójú tí kò tọ́ tàbí tí kò sí mọ́
404 A ko ri - A ko ri agbegbe agbegbe rara
PARÍPÁRÁ /api/v1/domains/{domain_id}/

Pa Àwọn Ààyè-iṣẹ́ Rẹ̀

Delete a domain from your account. This does not cancel the domain registration - it only removes it from your VPS.org account management.

Àwọn Pílámítà Ọ̀nà

Àwọn Àtòjọ-ẹ̀yàn Irú Ti a nilo Àwọn Àkọlé
domain_id integer Bẹ́ẹ̀ni Unique domain ID

Àpẹẹrẹ Ìbéèrè

cURL
Python
JavaScript
curl -X DELETE "https://admin.vps.org/api/v1/domains/101/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

domain_id = 101
url = f"https://admin.vps.org/api/v1/domains/{domain_id}/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}

response = requests.delete(url, headers=headers)
print(response.status_code)
const domainId = 101;
const response = await fetch(`https://admin.vps.org/api/v1/domains/${domainId}/`, {
  method: 'DELETE',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  }
});

console.log(response.status);

Àwọn Kóòdù Ipò Ìdáhùn

204 Domain removed from account successfully
401 Àìní àṣẹ - Àmì ìdánilójú tí kò tọ́ tàbí tí kò sí mọ́
404 A ko ri - A ko ri agbegbe agbegbe rara
Important: Deleting a domain from your VPS.org account does NOT cancel the registration. The domain will continue to be registered and will auto-renew if enabled. To cancel a domain registration, disable auto-renewal and let it expire.
Àwọn Àkọlé /api/v1/domains/{domain_id}/transfer/

_Gbà Dóméǹ

Ṣẹ̀dà ìjánu-ìjánú domenu sí VPS.org láti inú àwọn àkọsílẹ̀ mìíràn.

Àwọn Pílámítà Ọ̀nà

Àwọn Àtòjọ-ẹ̀yàn Irú Ti a nilo Àwọn Àkọlé
domain_id integer Bẹ́ẹ̀ni Unique domain ID

Ìbéèrè fún Àwọn Ìwọ̀n Ara

Àwọn Àtòjọ-ẹ̀yàn Irú Ti a nilo Àwọn Àkọlé
auth_code string Bẹ́ẹ̀ni EPP/Authorization code from current registrar
auto_renew boolean _Kò Enable auto-renewal after transfer (default: true)

Àpẹẹrẹ Ìbéèrè

cURL
Python
JavaScript
curl -X POST "https://admin.vps.org/api/v1/domains/101/transfer/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "auth_code": "Xy9Kl2Mn#4pQ",
    "auto_renew": true
  }'
import requests

domain_id = 101
url = f"https://admin.vps.org/api/v1/domains/{domain_id}/transfer/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}
data = {
    "auth_code": "Xy9Kl2Mn#4pQ",
    "auto_renew": True
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
const domainId = 101;
const response = await fetch(`https://admin.vps.org/api/v1/domains/${domainId}/transfer/`, {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    auth_code: 'Xy9Kl2Mn#4pQ',
    auto_renew: true
  })
});

const transfer = await response.json();
console.log(transfer);

Àpẹẹrẹ Ìdáhùn

{
  "id": 101,
  "domain_name": "example.com",
  "transfer_status": "pending",
  "transfer_initiated_at": "2026-01-16T16:30:00Z",
  "estimated_completion": "2026-01-23T16:30:00Z",
  "message": "Domain transfer initiated. You should receive a confirmation email from your current registrar. Transfer typically completes within 5-7 days.",
  "next_steps": [
    "Check email for transfer authorization request",
    "Approve transfer with current registrar",
    "Wait for transfer to complete (5-7 days)",
    "Domain will be automatically renewed for 1 year upon completion"
  ]
}

Àwọn Kóòdù Ipò Ìdáhùn

200 Transfer initiated successfully
400 Bad Request - Invalid auth code or domain not eligible for transfer
401 Àìní àṣẹ - Àmì ìdánilójú tí kò tọ́ tàbí tí kò sí mọ́
404 A ko ri - A ko ri agbegbe agbegbe rara
402 Payment Required - Insufficient account balance for transfer fee
Àwọn Ìṣàmúlò-ètò Ìjáde:
  • Àwọn dómìnirà nípa àwọn régístràtì lọ́wọ́lọ́wọ́
  • Ò yẹ kí dómén náà jẹ́ ìgbà kejì jú ọjọ́ 60 lọ
  • Àwọn àyọkà EPP/Àṣìṣe tòò jẹ́ òótọ́
  • Àkọ́lé WHOIS láti jẹ́ ìṣàfarawé fún ìyànṣẹ́
  • Ìjádè náà nínú ìṣàfarawé 1-yógójútó (àwọn owó náà ló)

Àwọn Ìṣàmúlò-ètò

Àwọn TLD̀ Tí A Ǹmọ̀

TLD Àwọn àwọn ààyè-iṣẹ́ Àwọn àwọn ààyè-iṣẹ́ Àwọn Ìjánu-ìṣàfilọ́lẹ̀
.com $12.99 $12.99 $12.99
.net $14.99 $14.99 $14.99
.org $13.99 $13.99 $13.99
.io $39.99 $39.99 $39.99
.dev $14.99 $14.99 $14.99
.app $14.99 $14.99 $14.99
.co $24.99 $24.99 $24.99

Àwọn Ẹ̀yà Ara Tí Ó Wà Nínú Rẹ̀

  • ✓ Àwọn Àwọn Ààyè-iṣẹ́
  • ✓ Ìṣakoso DNS
  • ✓ Àwọn Àmì-ìwé Àìfilọ́lẹ̀
  • ✓ Àwọn Àkọlé
  • ✓ Ìjáde Dóméǹ
  • ✓ Àwọn Àkọlé
  • ✓ Àwọn Ìṣàmúlò-ètò
  • ✓ Àwọn Àwọn Àwọn Àwọn Àwọn Àwọn

Àwọn Ìṣàmúlò-ètò Ìṣàmúlò-ètò

Àìdáràn

Àwọn Àtòjọ-ẹ̀yàn

Àwọn Ìjánu-ìṣàfilọ́lẹ̀