VPS.org API

Dọkumenti

API Njikwa DNS

Kewapụta mpaghara DNS nakwa chịkwaa ndesịta ha. Zonị ndị ahụ na-arụ ọrụ site n'ns1.vps.org, ns2.vps.org na ns3.vps.org.

Isi njedebe 13
Ụzọ Ntọala /api/v1/dns-zones, /api/v1/dns-records

Nchịkọta

Zon na-echekwa ndesịta ozi maka ndomainị otu. Ngbanwe ọbụla ị na-eme site na API a na-ewepụ na VPS.org nameservers n'oge na-adịghị anya. Iji rụọ ọrụ na ndomainị site na ebe ndị a, họrọ aha-nhazi ya na registrar gị ka ns1.vps.org, ns2.vps.org na ns3.vps.org.

Ngbanwe ndị ahụ echekwara nakwa egosipụtara n'ime nzọụkwụ otu: ọ bụrụ na ahasaraịvụ na-egbochi mgbanwe, ajụjụ ahụ na-eziga 502 nakwa ọbụla a na-echekwa. Agaghị ejikwa zonu maka ndomainị ọzọ na-elekọtara akaụntụ ọzọ, ọbụla nna mọọbụ nwa nke ọzọ akaụntụ zonu, mọọbụ aha VPS.org echekwara.

Ikikere achọrọ: dns:list (GET), dns:create (POST), dns:update (PUT, PATCH, sync), dns:delete (DELETE), dns:*

Nweta /api/v1/dns-zones/

Depụta mpaghara DNS niile

Na-eziga mpagharaogologo gị, nke ọfụụ mbụ, 25 n'ihuakwụkwọ. Reshióọ̀gụ̀ a na-echekwaghị ebe a; gbanye mpagharaogologo ọfụụ ka ịnabata ha.

Paịmatị Ajụjụ

Paramita Ụdị A chọrọ Ndesịta ozi ndị ahụ
domain string Ọ bụghị Weghachi naanị mpaghara ebe ahụ na aha ndoimena a
page integer Ọ bụghị Nọmba ihuakwụkwọ, na-amalite na 1

Arịrịọ Ihe Nlereanya

cURL
Python
JavaScript
curl -X GET "https://admin.vps.org/api/v1/dns-zones/?domain=example.com" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
import requests

url = "https://admin.vps.org/api/v1/dns-zones/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}

response = requests.get(url, headers=headers, params={"domain": "example.com"})
for zone in response.json()["results"]:
    print(zone["uuid"], zone["domain"], zone["record_count"])
const response = await fetch('https://admin.vps.org/api/v1/dns-zones/?domain=example.com', {
  headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});

const data = await response.json();
console.log(data.results);

Ihe Nlereanya Azịza

{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "uuid": "c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c",
      "domain": "example.com",
      "created_at": "2026-09-06T03:11:48.829693Z",
      "record_count": 5
    }
  ]
}

Ubi Nzaghachi

_Òkè Ụdị Ndesịta ozi ndị ahụ
uuid string Nkọwapụta mpaghara
domain string Aha ndoaịlụ, echekwara na ala
created_at datetime Oge mmegharị ahụ (ISO 8601, UTC)
record_count integer Nkebi nke reshióọ̀gụ̀ na zóòǹ, gụnyeré ihenhọrọ atọ nke NS reshióọ̀gụ̀

Koodu Ọnọdụ Nzaghachi

200 Ńkwádò
403 Ndehie mọọbụ token API adịghị mma, mọọbụ token enweghị ikikembanye achọrọ
ANYỊ /api/v1/dns-zones/

Kewapụta okpuru DNS

Kewapụta zoró na-ebipụta ya. zoró na-amalite na NS réìkì atọ maka ns1, ns2 na ns3.vps.org, nke bụ sistem réìkì na agaghị edezi ya ma ọ bụ wepụ ya.

Rịọ maka paramita ahụ

Paramita Ụdị A chọrọ Ndesịta ozi ndị ahụ
domain string Ee Aha ndoimena, dịka ọmụmaatụ example.com
curl -X POST "https://admin.vps.org/api/v1/dns-zones/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"domain": "example.com"}'

Ihe Nlereanya Azịza

{
  "uuid": "c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c",
  "domain": "example.com",
  "created_at": "2026-09-14T21:02:11.402113Z",
  "records": [
    {
      "uuid": "1f2e3d4c-5b6a-4978-8a9b-0c1d2e3f4a5b",
      "record_type": "NS",
      "name": "@",
      "value": "ns1.vps.org",
      "ttl": 86400,
      "priority": null,
      "created_at": "2026-09-14"
    },
    ...
  ],
  "record_count": 3
}

Koodu Ọnọdụ Nzaghachi

201 E mepụtara mpaghara ebe ahụ
400 Ndesịta aha ndoaịlụ ahụ
Nweta /api/v1/dns-zones/{uuid}/

Nweta nkọwa okpuru DNS

Na-eziga mpaghara ebe otu na-echekwa ihe niile n'ime ihe niile n'ime arịrịọ. Nhazi ahụ nwere ụdị dị ka nke mmezi nhazi n'elu.

curl -X GET "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Koodu Ọnọdụ Nzaghachi

200 Ńkwádò
404 Agaghị achọpụtara ya, mọọbụ ọ bụ nke ọzọ akaụntụ
HICHAPỤ /api/v1/dns-zones/{uuid}/

Hichaa mpaghara DNS

Na-ewepụ mpaghara ebe ahụ site na nameservers atọ niile, na-enyocha na ọ dịghị nke ha na-echekwa ya, wee wepụ mpaghara ebe ahụ na ndesịta ihenhọrọ ya. Ọ bụrụ na nameserver na-eziga ozi maka mpaghara ebe ahụ, ajụjụ ahụ na-akwụsị na mpaghara ebe ahụ a na-echekwa ya ka ị nwee ike ịna-achọ ya ọzọ.

curl -X DELETE "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Koodu Ọnọdụ Nzaghachi

204 Ehichapụla. Nhazi ahụ enweghị ọbụna ọbụ
400 Nameserver na-arụ ọrụ na mpaghara ebe ahụ. Zone ahụ akwụsịghịkwa; mpaghara ebe ahụ na-egosi ndehie ndị ahụ.
404 Agaghị achọpụtara ya, mọọbụ ọ bụ nke ọzọ akaụntụ
Nweta ANYỊ /api/v1/dns-zones/{uuid}/records/

Ndesịta mọọbụ tinyé réèbụ̀ na ̀zón

GET na-ezigaghachi rekọ́ọ̀gụ̀ ọbụla na zonu dịka arọ́ọ̀gụ̀ (enweghị paged), a haziri site na ụdị na aha. POST na-egbakwunyere rekọ́ọ̀gụ̀ na zonu nakwa na-ebipụta ya.

Rịọ maka paramita ahụ (POST)

Paramita Ụdị A chọrọ Ndesịta ozi ndị ahụ
record_type string Ee A, AAAA, CNAME, MX, NS, TXT, SRV, PTR, SOA, CAA
name string Ee @ maka ndòènè onwe ya, mọọbụ léèbụ̀ dịka www. Aha a haziri na ala.
value string Ee Réèfọ́ọ̀ltụ̀ data, dịka ọmụmaatụ adreesị IP mọọbụ aha ónyénwē. Aha ónyénwē ahụ enweghị́ mkpadótà nakwa TXT valiu ndị ahụ enweghị́ mkpadótà; ha abụọ agbakwunyere mgbe réèfọ́ọ̀ltụ̀ ahụ e bipụtara.
ttl integer Ee Oge ka e bido n'ime sekọnd
priority integer MX na SRV naanị N'aka nke ya maka MX na SRV reshióọ̀gụ̀ nakwa émeghị n'aka maka ụdị niile ọzọ. Maka SRV, tinye n'isi, port na nsomebefaịlụ na valiu.

Arịrịọ Ihe Nlereanya

cURL
Python
curl -X POST "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/records/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"record_type": "MX", "name": "@", "value": "mail.example.com", "ttl": 3600, "priority": 10}'
import requests

zone_uuid = "c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c"
url = f"https://admin.vps.org/api/v1/dns-zones/{zone_uuid}/records/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
data = {"record_type": "A", "name": "www", "value": "203.0.113.10", "ttl": 3600}

response = requests.post(url, headers=headers, json=data)
print(response.status_code, response.json())

Ihe Nlereanya Azịza

{
  "uuid": "9d430082-5562-42b4-a0b2-12a6f6c862f9",
  "record_type": "MX",
  "name": "@",
  "value": "mail.example.com",
  "ttl": 3600,
  "priority": 10,
  "created_at": "2026-09-14"
}

Ubi Nzaghachi

_Òkè Ụdị Ndesịta ozi ndị ahụ
uuid string Réèfọ́ọ̀ltụ̀ ngosi, ejirila ya site na /api/v1/dns-records/ endpoints
priority integer | null Nlekọta maka MX na SRV reshióọ̀gụ̀, ọbụla null
created_at date Ọnwa nke mmegharị ahụ (Y-MM-DD), na-enweghị oge

Koodu Ọnọdụ Nzaghachi

200 GET: ndesịta ozi nke mpagharaogologo ahụ
201 Ékètará ndesịta ihenhọrọ ahụ
400 Ndehie nkwenye, dịka ọmụmaatụ ụdị reshiòò a na-amaghị, ttl na-efu, mọọbụ MX mọọbụ SRV reshiòò na-enweghị nlekọta
404 Agaghị achọpụtara ya, mọọbụ ọ bụ nke ọzọ akaụntụ
ANYỊ /api/v1/dns-zones/{uuid}/sync/

Wepụtagharịa mpaghara ebe ahụ

Na-ewepụ mpaghara ebe ahụ na réèlụ̀ ya niile n'ime sava aha ahụ. Ngbanwere réèlụ̀ a na-edebata n'ụzọ nkịtị, mana ịdebata bụ ọrụ kacha mma nakwa nkwụsịghị ọrụ na-emeghị mmehie n'ihe achọrọ, ya mere jiri nke a mgbe mgbanwe ahụ anaghị egosi n'ime nchọgharị DNS. Enweghị mkpado achọrọ.

curl -X POST "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/sync/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "detail": "Zone example.com synced to PowerDNS"
}
Nweta ANYỊ /api/v1/dns-records/

Ndesịta mọọbụ kewapụta reshióọ̀gụ̀ n'etiti mpagharaogologo

GET na-ezigaghachi ndesịta ozi nke mpagharaogologo gị niile, 25 n'ihu, ahazi site na ndozi, ụdị na aha. POST na-ejikwa ndesịta ozi dị ka mpagharaogologo ndesịta ozi n'oche, ma na-eziga mpagharaogologo n'ime ahụ dịka mpagharaogologo_uuid.

Paịmatị Ajụjụ

Paramita Ụdị A chọrọ Ndesịta ozi ndị ahụ
zone string Ọ bụghị Réèfọ́ọ̀ltụ̀ nke zóòǹ na uuid a
record_type string Ọ bụghị Réèbụ̀ nke ụdị a ka ọbụla, dịka ọmụmaatụ MX (n'asụsụ ndị ọzọ)
page integer Ọ bụghị Nọmba ihuakwụkwọ, na-amalite na 1
curl -X GET "https://admin.vps.org/api/v1/dns-records/?zone=c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c&record_type=A" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

curl -X POST "https://admin.vps.org/api/v1/dns-records/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"zone_uuid": "c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c", "record_type": "TXT", "name": "@", "value": "v=spf1 mx -all", "ttl": 3600}'
{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "uuid": "4b8e2c10-7d3f-4a5b-9e6c-1a2b3c4d5e6f",
      "record_type": "A",
      "name": "www",
      "value": "203.0.113.10",
      "ttl": 3600,
      "priority": null,
      "created_at": "2026-09-14"
    }
  ]
}

Koodu Ọnọdụ Nzaghachi

200 Ńkwádò
201 Ékètará ndesịta ihenhọrọ ahụ
400 Ndehie nkwenye, mọọbụ zone_uuid enweghị mọọbụ ọ bụghị otu n'ime zóọ̀nụ̀ gị
Nweta PUT PATCH HICHAPỤ /api/v1/dns-records/{uuid}/

Wepụta, megharịa ma ọ bụ wepụ réèbụ̀

GET na-ezigaghachi resheịtị otu. PUT na-ezigagharị ya na-achọ record_type, aha, uru na ttl. PATCH na-agbanwe naanị ebe ị na-eziga. DELETE na-ewepụ resheịtị na na-ezigaghachi 204 na-enweghị ọbụna body. Ngbanwe ndị ahụ na-ebipụta n'ụzọ. NS resheịtị ndị e mepụtara na mpaghara bụ sistem resheịtị: mmelite mọọbụ ihicha ha na-ezigaghachi 403.

Mgbe ị na-ewepụ n'ihu n'ime MX mọọbụ SRV reshio, zipụ record_type n'ime arịrịọ ahụ. Ụdị PATCH na n'ihu n'ime ma ọ bụ na-enweghị record_type na-ewepụ n'ihu n'ime.
curl -X PATCH "https://admin.vps.org/api/v1/dns-records/4b8e2c10-7d3f-4a5b-9e6c-1a2b3c4d5e6f/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"ttl": 300}'

Koodu Ọnọdụ Nzaghachi

200 GET, PUT mọọbụ PATCH: réèfọ́ọ̀ltụ̀ ahụ
204 Ehichapụla. Nhazi ahụ enweghị ọbụna ọbụ
400 Ndehie nkwenye
403 Réèfọ́ọ̀ltụ̀ bụ sistem réèfọ́ọ̀ltụ̀, mọọbụ token enweghị ikikembanye achọrọ
404 Agaghị achọpụtara ya, mọọbụ ọ bụ nke ọzọ akaụntụ

Nhazi ndehie

Ndehie nkwenye na-eziga 400 na nsogbu a kewara site na aha mpaghara:

{
  "priority": ["MX records require a priority value"]
}

Nnwale mgbanwe DNS

Kwuru VPS.org nameservers n'ụzọ n'ozuzu ya ka i gosi na mgbanwe bụ ndụ tupù ịbanye n'ime ọrụ gị mọọbụ kaadị ebe nchekwa ndị ahụ ga-abịa:

dig @ns1.vps.org example.com A
dig @ns2.vps.org example.com MX
dig @ns3.vps.org www.example.com