VPS.org API

Dọkumenti

API Njikwa DNS

Jikwaa mpaghara DNS na ndekọ n'usoro mmemme maka ngalaba gị.

Isi njedebe Isi njedebe anọ
Ụzọ Ntọala /api/v1/dns-zones
Nyocha Nhazi

Nchịkọta

DNS API na-enye nlekọta zuru ezu nke mpagharaogologo DNS na ndekọ. Zonị niile a na-echekwa na VPS.org's authoritative nameservers na-eji usoroiheomume BIND9 nakwa nrụnye mpagharaogologo.

Nameserver Infrastructure

Nkarachọ

Nyocha

Ntụziaka DNS API niile chọrọ nkwenye token bearer. Kewapụta token API site na dasheshọ́ọ̀tụ̀ọ̀ akaụntụ gị na /account/developers/ na ikike ndị a:

Ụdịdịdị

Authorization: Bearer vps_abc123def456...
N'ihe ize ndụ: Token API a gosiri otu oge mgbe a na-ebipụta ha. Chekwaa ha n'ụzọ dị nchebe. Ọ bụrụ na ị hụla token, ị ga-ebubata otu ọfụụ.
Nweta /api/v1/dns-zones/

Depụta mpaghara DNS niile

Weghachi ndesịta paged nke zonu DNS niile nke onye ojieme ahụ ekwenyere na ya bụ. Na-akwado iwepụ nchọgharị site na aha dòmịn.

Paịmatị Ajụjụ

Paramita Ụdị A chọrọ Ndesịta ozi ndị ahụ
domain string Ọ bụghị Filter zones by exact domain name (e.g., example.com)

Arịrịọ Ihe Nlereanya

cURL
Python
JavaScript
curl -X GET "https://admin.vps.org/api/v1/dns-zones/" \
  -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)
print(response.json())
const response = await fetch('https://admin.vps.org/api/v1/dns-zones/', {
  headers: {'Authorization': 'Bearer YOUR_API_TOKEN'}
});

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

Ihe Nlereanya Azịza

[
  {
    "uuid": "abc123-def456-ghi789",
    "domain": "example.com",
    "created_at": "2024-01-15T10:30:00Z",
    "record_count": 12
  },
  {
    "uuid": "xyz789-uvw456-rst123",
    "domain": "myapp.io",
    "created_at": "2024-06-20T14:15:00Z",
    "record_count": 8
  }
]

Ubi Nzaghachi

_Òkè Ụdị Ndesịta ozi ndị ahụ
uuid string Unique zone identifier (used in API requests)
domain string Domain name for this DNS zone
created_at datetime Zone creation timestamp (ISO 8601 format)
record_count integer Total number of DNS records in this zone

Koodu Ọnọdụ Nzaghachi

200 Successfully retrieved DNS zones list
401 Unauthorized - Invalid or missing API token
403 Forbidden - Token lacks dns:list permission
Nweta /api/v1/dns-zones/{uuid}/

Nweta nkọwa okpuru DNS

Weghachi nkọwa gbasara mpaghara DNS pụrụ iche, gụnyere ihenhọrọ niile.

Usoro Ụzọ

Paramita Ụdị A chọrọ Ndesịta ozi ndị ahụ
uuid string Ee Unique zone identifier

Ihe Nlereanya Azịza

{
  "uuid": "abc123-def456-ghi789",
  "domain": "example.com",
  "created_at": "2024-01-15T10:30:00Z",
  "record_count": 5,
  "records": [
    {
      "uuid": "rec-001",
      "record_type": "A",
      "name": "@",
      "value": "192.0.2.1",
      "ttl": 3600,
      "priority": null,
      "created_at": "2024-01-15T10:30:00Z"
    },
    {
      "uuid": "rec-002",
      "record_type": "MX",
      "name": "@",
      "value": "mail.example.com",
      "ttl": 3600,
      "priority": 10,
      "created_at": "2024-01-15T10:32:00Z"
    }
  ]
}

Koodu Ọnọdụ Nzaghachi

200 Successfully retrieved zone details
404 Zone not found or not owned by user
ANYỊ /api/v1/dns-zones/

Kewapụta okpuru DNS

Kewapụta mpaghara DNS ọfụụ maka doomein. A ga-ebuga mpaghara ahụ n'ime nkeji VPS.org nke sava aha.

Rịọ maka paramita ahụ

Paramita Ụdị A chọrọ Ndesịta ozi ndị ahụ
domain string Ee Domain name (e.g., example.com)

Arịrịọ Ihe Nlereanya

cURL
Python
JavaScript
curl -X POST "https://admin.vps.org/api/v1/dns-zones/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"domain": "newdomain.com"}'
import requests

url = "https://admin.vps.org/api/v1/dns-zones/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}
data = {"domain": "newdomain.com"}

response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch('https://admin.vps.org/api/v1/dns-zones/', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({domain: 'newdomain.com'})
});

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

Ihe Nlereanya Azịza

{
  "uuid": "new-zone-uuid",
  "domain": "newdomain.com",
  "created_at": "2026-01-18T16:45:00Z",
  "record_count": 0,
  "records": []
}

Koodu Ọnọdụ Nzaghachi

201 DNS zone created successfully
400 Bad Request - Invalid domain name or zone already exists
403 Forbidden - Token lacks dns:create permission
HICHAPỤ /api/v1/dns-zones/{uuid}/

Hichaa mpaghara DNS

Hichaa zoro DNS na réìks niile dị na ya n'ụzọ zuru ezu. Ihe omume a agaghị akwụsị.

Usoro Ụzọ

Paramita Ụdị A chọrọ Ndesịta ozi ndị ahụ
uuid string Ee Unique zone identifier

Koodu Ọnọdụ Nzaghachi

204 Zone deleted successfully (no response body)
403 Forbidden - Token lacks dns:delete permission
404 Zone not found
Nweta /api/v1/dns-zones/{uuid}/records/

Ndesịta DNS reshióọ̀sọ̀ na ̀zón

Weghachi ihenhọrọ niile DNS maka mpaghara ebe ahụ (nhazi n'ime).

Usoro Ụzọ

Paramita Ụdị A chọrọ Ndesịta ozi ndị ahụ
uuid string Ee Zone UUID

Arịrịọ Ihe Nlereanya

curl -X GET "https://admin.vps.org/api/v1/dns-zones/{uuid}/records/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Ihe Nlereanya Azịza

[
  {
    "uuid": "rec-001",
    "record_type": "A",
    "name": "@",
    "value": "192.0.2.1",
    "ttl": 3600,
    "priority": null,
    "created_at": "2024-01-15T10:30:00Z"
  },
  {
    "uuid": "rec-002",
    "record_type": "MX",
    "name": "@",
    "value": "mail.example.com",
    "ttl": 3600,
    "priority": 10,
    "created_at": "2024-01-15T10:32:00Z"
  }
]
ANYỊ /api/v1/dns-zones/{uuid}/records/

Kewapụta DNS réèfọ́ọ̀ltụ̀ na ̀zón

Tinye DNS réèfọ́ọ̀ltụ̀ ọfụụ n'ụdị mpaghara (n'okporo ụzọ n'ime).

Rịọ maka paramita ahụ

Paramita Ụdị A chọrọ Ndesịta ozi ndị ahụ
record_type string Ee Record type: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA
name string Ee Record name (@ for root, subdomain, or FQDN)
value string Ee Record value (IP address, hostname, text)
ttl integer No Time to live in seconds (default: 3600)
priority integer For MX/SRV Priority (required for MX and SRV records)

Arịrịọ Ihe Nlereanya

cURL
Python
curl -X POST "https://admin.vps.org/api/v1/dns-zones/{uuid}/records/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "record_type": "A",
    "name": "www",
    "value": "192.0.2.1",
    "ttl": 3600
  }'
import requests

url = f"https://admin.vps.org/api/v1/dns-zones/{zone_uuid}/records/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}
data = {
    "record_type": "A",
    "name": "www",
    "value": "192.0.2.1",
    "ttl": 3600
}

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

Koodu Ọnọdụ Nzaghachi

201 DNS record created successfully
400 Bad Request - Invalid parameters or validation error (e.g., MX record missing priority)
GET PUT PATCH DELETE /api/v1/dns-records/{uuid}/

Nhazi DNS Records (Nhazi n'ụzọ nkịtị)

Nrụọrụ CRUD zuru ezu na DNS reshióọ̀gụ̀ ọ̀bụla na-eji reshióọ̀gụ̀ UUID.

Nhazi ndị dịnụ

Paramita ndị ahụ (n'ihi GET /api/v1/dns-records/)

Parameter Ụdị Ndesịta ozi ndị ahụ
zone string Filter records by zone UUID
record_type string Filter by record type (A, AAAA, MX, etc.)

Ụdịdị: Nhazigharị TTL nke rekọ́ọ̀tụ̀ọ̀

curl -X PATCH "https://admin.vps.org/api/v1/dns-records/{rec-uuid}/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"ttl": 1800}'

Supported DNS Record Types

Ụdị Purpose Example Value Priority Required
A Maps domain to IPv4 address 192.0.2.1 Ọ bụghị
AAAA Maps domain to IPv6 address 2001:0db8::1 Ọ bụghị
CNAME Creates alias to another domain example.com Ọ bụghị
MX Mail server for domain mail.example.com Ee
TXT Text record (SPF, DKIM, verification) v=spf1 include:_spf.google.com ~all Ọ bụghị
NS Nameserver delegation ns1.example.com Ọ bụghị
SRV Service location record 10 5060 sip.example.com Ee
CAA Certificate authority authorization 0 issue "letsencrypt.org" Ọ bụghị

Nhazi kacha mma

Nhazi TTL

Ụdị ndị a na-ejikarị

Nchedo

Nhazi ndehie

Ndehie ndị a na-ahụkarị

Koodu Ọnọdụ Ndehie Nhazi
400 Aha домеịnụ ahụ abụghị nke ziri ezi N'aka na dòmịn na-eso n'ụdị aha DNS
400 MX reèfọ́ọ̀ltụ̀ chọrọ n'ịba uru Tinye priority ebe maka MX na SRV reshióọ̀gụ̀
401 Token API adịghị mma Nhazi token ahụ (ga-amalite na vps_)
403 Ikikere ehichapụ Kewapụta token ọfụụ na ihe achọrọ dns:* Ikikere
404 Zọn/rekọ́ọ̀tụ̀ọ̀ ahụ achọpụtaghị Nwere ike ịhụ na UUID nakwa na ọ bụ nke akaụntụ gị

Nkọwa ndehie

{
  "detail": "MX records require a priority value",
  "error_code": "validation_error",
  "field": "priority"
}

Nnwale mgbanwe DNS

Nnwale ntụgharị

# Query A record
dig example.com A

# Query specific nameserver
dig @ns1.vps.org example.com

# Query MX records
dig example.com MX

# Check all records
dig example.com ANY

Ihu ihenlereanya