VPS.org API

Uxwebhu lwe-REST API

I-API yoLawulo lwe-DNS

Lawula iindawo ze-DNS kwaye urekhode ngokwenkqubo kwiidomeni zakho.

Iindawo zokugqibela Iiphelo ezi-4
Indlela Esisiseko /api/v1/dns-zones
Uqinisekiso I-Token Yothumeli Ifuneka

Isishwankathelo

I-DNS API ibonelela ngolawulo olupheleleyo lweendawo ze-DNS kunye neerecords. Zonke iindawo zibekwe kwi-VPS.org's iiseva zegama eligunyazisiweyo ngokwenza ngokuzenzekelayo i-BIND9 zone file generation kunye nokubekwa.

Igama leseva

Iimpawu eziphambili

Uqinisekiso

Zonke izicelo ze-DNS API zifuna ubungqina be-Bearer token. Yenza i-API tokens kwi-dashboard ye-akhawunti yakho kwi /account/developers/ ngezimvumelwano ezilandelayo:

Umzekelo

Authorization: Bearer vps_abc123def456...
Ebalulekileyo: I-API tokens iboniswe kuphela kabini ngexesha lokudala. Gcina ngokukhuselekileyo. Ukuba ulahlekelwa yi-token, kufuneka udale enye entsha.
FUMANA /api/v1/dns-zones/

Dwelisa Zonke iiNdawo zeDNS

Fumana uluhlu olushicilelweyo lwazo zonke iindawo ze DNS ezikhoyo kumsebenzisi oqinisekisiweyo. Inkxaso yokucoca ngegama lethambeka.

IiParamitha zoMbuzo

Iparamitha Uhlobo Kufuneka Inkcazelo
domain string Akukho nanye Filter zones by exact domain name (e.g., example.com)

Isicelo somzekelo

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);

Impendulo yoMzekelo

[
  {
    "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
  }
]

IiNdawo zeMpendulo

Iindawo Uhlobo Inkcazelo
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

Iikhowudi zeMeko yokuphendula

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

Fumana Iinkcukacha Zommandla we DNS

Fumana ulwazi oluthe kratya malunga nommandla okhankanyiweyo we DNS, kuquka zonke izingeniso.

Iiparameter zeNdlela

Iparamitha Uhlobo Kufuneka Inkcazelo
uuid string Ewe Unique zone identifier

Impendulo yoMzekelo

{
  "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"
    }
  ]
}

Iikhowudi zeMeko yokuphendula

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

Yenza i DNS

Yenza indawo entsha ye DNS yethambeka. Indawo izakubekwa ngokuzenzekelayo kumamkeli wegama angama-VPS.org.

Cela iiParamitha zoMzimba

Iparamitha Uhlobo Kufuneka Inkcazelo
domain string Ewe Domain name (e.g., example.com)

Isicelo somzekelo

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);

Impendulo yoMzekelo

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

Iikhowudi zeMeko yokuphendula

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

Cima i DNS

Cima ngokusisigxina ummandla we DNS kunye nazo zonke iirekhodi ezidityanisiweyo. Esi senzo asikwazi ukubuyiselwa.

Iiparameter zeNdlela

Iparamitha Uhlobo Kufuneka Inkcazelo
uuid string Ewe Unique zone identifier

Iikhowudi zeMeko yokuphendula

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

Uluhlu lweeRekodi ze DNS kwiZiko

Fumana zonke iirekhodi ze DNS zendawo ekhankanyiweyo (umendo obekwe ngokulandelelana).

Iiparameter zeNdlela

Iparamitha Uhlobo Kufuneka Inkcazelo
uuid string Ewe Zone UUID

Isicelo somzekelo

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

Impendulo yoMzekelo

[
  {
    "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"
  }
]
I-POST /api/v1/dns-zones/{uuid}/records/

Yenza i DNS Record kwi Zonke

Yongeza i-record entsha ye-DNS kummandla okhankanyiweyo (umendo obekwe ngokulandelelana).

Cela iiParamitha zoMzimba

Iparamitha Uhlobo Kufuneka Inkcazelo
record_type string Ewe Record type: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA
name string Ewe Record name (@ for root, subdomain, or FQDN)
value string Ewe 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)

Isicelo somzekelo

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())

Iikhowudi zeMeko yokuphendula

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}/

Iifayile ze- DNS

Imisebenzi epheleleyo ye-CRUD kwi-DNS ebhalisiweyo nganye usebenzisa i-UUID yoshicilelo.

Imisebenzi Efumanekayo

Iiparamitha Zombuzo (ukufumana /api/v1/dns-records/)

Parameter Uhlobo Inkcazelo
zone string Filter records by zone UUID
record_type string Filter by record type (A, AAAA, MX, etc.)

Umzekelo: Hlaziya i TTL ye Record

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

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

Iinkqubo ezilungileyo

Uqwalaselo lwe TTL

Iipateni Eziqhelekileyo

Ukhuseleko

Imposiso Yophatho

Imposiso eqhelekileyo

Ikhowudi yeSimo Imposiso I-Solver
400 Igama lethambeka elingasebenziyo Qinisekisa ukuba indawo ilandela i-DNS isebenzisa imithetho yokufaka amagama
400 I-MX record ifuna ukuqala kuqala & Iinketho priority indawo ye-MX ne-SRV
401 I-API token engasebenziyo Khangela ifomati ye-token (imele iqale nge vps_)
403 Iimvume ezilahlekileyo Dala i-token entsha ene-required dns:* Iimvume
404 I-zone/i-record ayifumanekanga Qinisekisa i-UUID kwaye uqiniseke ukuba umthombo uyinxalenye ye-akhawunti yakho

Umzekelo Wempendulo Yemposiso

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

Uvavanyo lwe DNS Iinguqu

Qinisekisa Unikezelo Lwerekhodi

# 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

Ukusebenzisa Izixhobo Zonxibelelwano