Àkótán Àkótán
The DNS API provides full management of DNS zones and records. All zones are hosted on VPS.org's authoritative nameservers with automatic BIND9 zone file generation and deployment.
Àwọn Ààyè-iṣẹ́ Àwọn Ààtòjọ-ẹ̀yàn
ns1.vps.org (38.248.6.195) - À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
ns2.vps.org (38.248.6.196) - Àwọn àwọn ìṣàmúlò-ètò ìpele-kè
ns3.vps.org (38.248.6.197) - Àwọn àwọn ìṣàmúlò-ètò ìpele-kè
Àwọn Àbùdá Ìjánu-ìṣàmúlò-ètò
Ìṣàfilọ́lẹ̀ àti ìṣàfilọ́lẹ̀ àwọn fáìlì ìjánu-ìṣàmúlò-ètò BIND9
Àwọn ìjánu-ìjánu pẹ̀lú ìṣàfarawé ìṣàfarawé TSIG (ìṣàfarawé ọ̀tún-ọ̀tún)
Àwọn ìṣàfihàn fún gbogbo iru àwọn àkọlé DNS nlà (A, AAAA, CNAME, MX, TXT, NS, SRV, CAA)
Ìfihàn orúkọ dóà náà àti ìṣàfihàn ààyè-iṣẹ́ ààyè-iṣẹ́ UUID-dárá
Àwọn ìṣàmúlò-ètò àìṣàfilọ́lẹ̀ àwọn àkọlé àwọn ìṣàmúlò-ètò
Ìjẹ́rìísí
Àwọn ìtàn API DNS gbogbò ní ìṣàfihàn tókè Béréẹ̀. Ṣẹ̀dà tókè API láti inú àwọn àtòjọ-ẹ̀yàn kọ̀ǹpútà rẹ̀ ní /account/developers/ Àwọn ìwọ̀n àwọn ìṣẹ̀dà àwọn ìkúndùǹ yìí:
dns:list - Wó àwọn ààyè-iṣẹ́ àti àwọn ìṣàmúlò-ètò DNS
dns:create - Ṣẹ̀dà àwọn ààyè-iṣẹ́ tuntun
dns:update - Ṣàfikún àwọn ààyè-iṣẹ́ àti àwọn ìwé-ẹ̀rí tí wa
dns:delete - Pa àwọn ààyè-iṣẹ́ àti àwọn ààyè-iṣẹ́
dns:* - Àwọn ìṣàmúlò-ètò ìṣàfarawé DNS
Àwọn Ààyè-iṣẹ́
Authorization: Bearer vps_abc123def456...
Àwọn àwọn àwọn àwọn àwọn àwọn àwọn Àwọn tókènì API ní a fi hàn nígbà kan nígbà ìṣàfarawé. Fi hàn hàn nípa ìdára. Tó pàtókènì kù, ò ní ìṣàfarawé kan tuntun.
Ṣe àkójọ gbogbo àwọn agbègbè DNS
Gba àtòjọ àwọn ojú-ìwé àwọn ààyè-iṣẹ́ DNS láti inú àwọn òǹlò tí a fọwọ́sì. Ǹ̀fà ìṣàfihàn láti inú orúkọ dóméènì.
Àwọn Ìbéèrè Pàtàkì
Àwọn Àtòjọ-ẹ̀yàn
Irú
Ti a nilo
Àwọn Àkọlé
domain
string
_Kò
Filter zones by exact domain name (e.g., example.com)
Àpẹẹrẹ Ìbéèrè
curl -X GET "https://admin.vps.org/api/v1/dns-zones/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
_Ṣẹ̀dà
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())
_Ṣẹ̀dà
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);
_Ṣẹ̀dà
Àpẹẹrẹ Ìdáhùn
[
{
"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
}
]
Àwọn Ààyè Ìdáhùn
Àwọn Ààyè-iṣẹ́
Irú
Àwọn Àkọlé
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
Àwọn Kóòdù Ipò Ìdáhùn
200
Successfully retrieved DNS zones list
401
Unauthorized - Invalid or missing API token
403
Forbidden - Token lacks dns:list permission
Wa àwọn ìròyìn Zò́ǹ DNS
Gba àwọn ìròyìn àwọn ìdájú ààyè-iṣẹ́ ààyè-iṣẹ́ DNS kan, àti àwọn àkọsílẹ̀ gbogbó.
Àwọn Pílámítà Ọ̀nà
Àwọn Àtòjọ-ẹ̀yàn
Irú
Ti a nilo
Àwọn Àkọlé
uuid
string
Bẹ́ẹ̀ni
Unique zone identifier
Àpẹẹrẹ Ìdáhùn
{
"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"
}
]
}
Àwọn Kóòdù Ipò Ìdáhùn
200
Successfully retrieved zone details
404
Zone not found or not owned by user
Ṣẹ̀dà Ààyè-iṣẹ́ DNS
Ṣẹ̀dà ààyè-iṣẹ́ DNS tuntun fún dómìnirà kan. Ààyè-iṣẹ́ náà á fi pamọ́ sí àwọn ààyè-iṣẹ́ VPS.org.
Ìbéèrè fún Àwọn Ìwọ̀n Ara
Àwọn Àtòjọ-ẹ̀yàn
Irú
Ti a nilo
Àwọn Àkọlé
domain
string
Bẹ́ẹ̀ni
Domain name (e.g., example.com)
Àpẹẹrẹ Ìbéèrè
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"}'
_Ṣẹ̀dà
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())
_Ṣẹ̀dà
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);
_Ṣẹ̀dà
Àpẹẹrẹ Ìdáhùn
{
"uuid": "new-zone-uuid",
"domain": "newdomain.com",
"created_at": "2026-01-18T16:45:00Z",
"record_count": 0,
"records": []
}
Àwọn Kóòdù Ipò Ìdáhùn
201
DNS zone created successfully
400
Bad Request - Invalid domain name or zone already exists
403
Forbidden - Token lacks dns:create permission
Pa Ààyè-iṣẹ́ DNS Rẹ̀
Pa ààyè-iṣẹ́ DNS kù ní pàtó àti àwọn àtòjọ-ẹ̀yàn tó dàjú. Àtòjọ-ẹ̀yàn yìí kò lè pà.
Àwọn Pílámítà Ọ̀nà
Àwọn Àtòjọ-ẹ̀yàn
Irú
Ti a nilo
Àwọn Àkọlé
uuid
string
Bẹ́ẹ̀ni
Unique zone identifier
Àwọn Kóòdù Ipò Ìdáhùn
204
Zone deleted successfully (no response body)
403
Forbidden - Token lacks dns:delete permission
404
Zone not found
Àtòjọ àwọn àkọlé DNS nínú Ààyè-iṣẹ́
Gba àwọn àtòjọ-ẹ̀yàn DNS fún ààyè-iṣẹ́ kan (àgbègbè àìdálẹ̀).
Àwọn Pílámítà Ọ̀nà
Àwọn Àtòjọ-ẹ̀yàn
Irú
Ti a nilo
Àwọn Àkọlé
uuid
string
Bẹ́ẹ̀ni
Zone UUID
Àpẹẹrẹ Ìbéèrè
curl -X GET "https://admin.vps.org/api/v1/dns-zones/{uuid}/records/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Àpẹẹrẹ Ìdáhùn
[
{
"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"
}
]
Ṣẹ̀dà àwọn àyọkà DNS nínú ààyè-iṣẹ́
Fi àtòjọ-ẹ̀yàn DNS tuntun sí ààyè-iṣẹ́ kan (àwọn ìṣàmúlò-ètò àìdáràn).
Ìbéèrè fún Àwọn Ìwọ̀n Ara
Àwọn Àtòjọ-ẹ̀yàn
Irú
Ti a nilo
Àwọn Àkọlé
record_type
string
Bẹ́ẹ̀ni
Record type: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA
name
string
Bẹ́ẹ̀ni
Record name (@ for root, subdomain, or FQDN)
value
string
Bẹ́ẹ̀ni
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)
Àpẹẹrẹ Ìbéèrè
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
}'
_Ṣẹ̀dà
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())
_Ṣẹ̀dà
Àwọn Kóòdù Ipò Ìdáhùn
201
DNS record created successfully
400
Bad Request - Invalid parameters or validation error (e.g., MX record missing priority)
Ṣàrà àwọn àkọlé DNS (Àtòjọ-ẹ̀yàn)
Àwọn iṣẹ́ CRUD ìparí nípa àwọn àkọlé DNS fún ẹnikẹ́ni nípa ìṣàfarawe UUID àkọlé.
Àwọn Ìṣàmúlò-ètò Tí Wá
GET /api/v1/dns-records/{uuid}/ - Retrieve record details
PUT /api/v1/dns-records/{uuid}/ - Full update (all fields required)
PATCH /api/v1/dns-records/{uuid}/ - Partial update (only changed fields)
DELETE /api/v1/dns-records/{uuid}/ - Delete record
Query Parameters (for GET /api/v1/dns-records/)
Parameter
Irú
Àwọn Àkọlé
zone
string
Filter records by zone UUID
record_type
string
Filter by record type (A, AAAA, MX, etc.)
Àwọn Àwọn Àkọlé
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
Irú
Purpose
Example Value
Priority Required
A
Maps domain to IPv4 address
192.0.2.1
_Kò
AAAA
Maps domain to IPv6 address
2001:0db8::1
_Kò
CNAME
Creates alias to another domain
example.com
_Kò
MX
Mail server for domain
mail.example.com
Bẹ́ẹ̀ni
TXT
Text record (SPF, DKIM, verification)
v=spf1 include:_spf.google.com ~all
_Kò
NS
Nameserver delegation
ns1.example.com
_Kò
SRV
Service location record
10 5060 sip.example.com
Bẹ́ẹ̀ni
CAA
Certificate authority authorization
0 issue "letsencrypt.org"
_Kò
Àwọn Ìṣàmúlò-ètò Tí O darà
Àtòjọ-ẹ̀yàn
Àwọn ààyè-iṣẹ́ (ìdárá): 3600-86400 àwọn ìṣísẹ̀ (1-24 àwọn àgójọpọ̀)
Àwọn àgbéwọlé 300-600 àwọn ìsàlẹ̀-ilà (5-10 àwọn àkókò) - Fi TTL sípò láti sé ìyipadà àwọn àwọn ìṣàmúlò-ètò
Àwọn Ìṣàmúlò-ètò 300-1800 àwọn ìṣísẹ̀ (5-30 àwọn àkókò) fún ìṣàyẹwo ààyè-iṣẹ́
Àwọn ìṣàmúlò-ètò àìpẹ̀
Àwọn ààyè-iṣẹ́ àìṣàfilọ́lẹ̀ Lo àwọn àkọlé A/AAAA, kò jẹ́ CNAME
Àwọn àwọn àgbéwọlé Lè ló àwọn àtòjọ-ẹ̀yàn CNAME láti fi pamọ́ sí àwọn àkọlé àwọn ìṣàmúlò-ètò
Àwọn Àmì-ìwé Fi àwọn ìwọ̀n àwọn ìṣàmúlò-ètò àìdálẹ̀ àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn àwọn
_Àmì-àṣírí: Kò lè jẹ́ pé àwọn irúfẹ́ àwọn àkọlé mìíràn fún àwọn orúkọ mìíràn
Àìdáràn
Àwọn Àkọlé Àwọn ìwé-ẹ̀rí àwọn CÀ tí a lè fi àwọn ìwé-ẹ̀rí pamọ́
SPF/DKIM/DMARC: Àtòjọ-ẹ̀yàn ìṣàfarawé ìṣàfarawé àwọn àmì-ìwé láti dáwọ́ lágbára ìṣàfarawé
Àwọn ìṣàmúlò-ètò àìṣe: Àwọn àkọlé DNS ìṣàfarawé nígbà kan, yọ àwọn àgbéwọlé tí a kò lò
Ìṣàmúlò-ètò Àṣìṣe
Àwọn Àṣìṣe Àwọn Àwọn Àṣìṣe
Kóòdù Ipò
Àṣìṣe
Àwọn Àwọn Àwọn Àwọn
400
Orúkọ dóméǹ kò tọ́
Fi àwọn àwọn ìṣàmúlò-ètò DNS pamọ́
400
Àtòjọ-ẹ̀yàn MX ní ìjánu-ìjánù
Àwọn àwọn àwọn àwọn àwọn priority ààyè fún àwọn àkọlé MX àti SRV
401
Àwọn àwọn àyọkà API àìdálẹ̀
Àwọn ìgúnrégé tókè ìṣàmúlò-ètò (ò yẹ ki o bẹrẹ láti inú vps_)
403
Àwọn ìkúndùǹ tí kò wa
Ṣẹ̀dà tókè ìṣàfarawé àwọn ìṣàmúlò-ètò tuntun dns:* Àwọn ìkúndùǹ
404
Àwọn ààyè-iṣẹ́/àwọn ààyè-iṣẹ́ kò ri
Ṣàyẹwo UUID àti ìròyìn àwọn ààyè-iṣẹ́ tí a fi pamọ́ sí àwọn kándà rẹ
Àwọn Àwọn Àṣìṣe
{
"detail": "MX records require a priority value",
"error_code": "validation_error",
"field": "priority"
}
Àwọn Àyipada DNS
Àwọn àkọlé àwòrán
# 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
Lo Àwọn Àtúntò Àìlẹ̀
whatsmydns.net: Check global DNS propagation
dnschecker.org: Multi-location DNS lookup
mxtoolbox.com: Email-related DNS testing