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 Ì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 Ìṣàmúlò-ètò Ìṣàmúlò-ètò

Àìdáràn

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

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