VPS.org API

Faʻamatalaga o le REST API

API Pulega DNS

Fausia ni itulagi DNS ma faʻatonutonu a latou tusi faʻamaonia. E tautuaina e ns1.vps.org, ns2.vps.org ma ns3.vps.org.

Fa'ai'uga 13
Ala Autu /api/v1/dns-zones, /api/v1/dns-records

Aotelega

O se itulagi e teuina ai le talafaasolopito mo se itulagi. O so o se suiga e te faia i le API e faʻasolosolo i le VPS.org nameservers i le taimi lava e tasi. E tautuaina se itulagi mai i nei itulagi, seti ona igoa 'au'aunaga i lau tagata faʻamaonia i le ns1.vps.org, ns2.vps.org ma le ns3.vps.org.

E teu ma faasalalauina suiga i se auala tasi: afai e le talia e le 'nameservers' se suiga, e toe faʻafoʻi le talosaga i le 502 ma e le teu se mea. E le mafai ona fausia se itulagi mo se 'domain' ua faʻatino e se isi teugatupe, o se matua poʻo se tamaitiiti o se 'zone' o se isi teugatupe, poʻo se igoa e teuina e le VPS.org.

Manaomia le aia tatau: dns:list (GET), dns:create (POST), dns:update (PUT, PATCH, sync), dns:delete (DELETE), dns:*

MAUA /api/v1/dns-zones/

Lisi Sone DNS Uma

Tuʻu mai au itulagi, o le sili ona fou muamua, 25 i le itulau. E le aofia ai iinei talafaasolopito; maua se itulagi e tasi e maua ai.

Fa'asologa o Fesili

Paramita Ituaiga Mana'omia Faʻamatalaga
domain string E leai Toe foʻi atu i le itulagi e naʻo le igoa o le itulagi
page integer E leai Numera o le itulau, amata mai i le 1

Talosaga Fa'ata'ita'i

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

Tali Fa'ata'ita'i

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

Fanua Tali

Aoga Ituaiga Faʻamatalaga
uuid string Faʻailoga itu
domain string igoa o le itumalo, teuina i le upu laiti
created_at datetime Taimi o le faia (ISO 8601, UTC)
record_count integer Numera o tusi faʻamaumauga i le itulagi, e aofia ai ma tusi faʻamaumauga e tolu o NS

Fa'ailoga o Tulaga o Tali

200 Fa'ataunuuina
403 Lelei pe lē talafeagai le tokeni API, po o le tokeni e leai se aia tatau e manaʻomia
POST /api/v1/dns-zones/

Faʻatonu le DNS

Fausia se itu ma faalauiloa. O le itu e amataina ma ni tusi faamaumauga e tolu mo ns1, ns2 ma ns3.vps.org, o tusi faamaumauga o le faiga lea e le mafai ona toe faaleleia pe faaleagaina.

Talosaga mo Fa'atulagaga o le Tino

Paramita Ituaiga Mana'omia Faʻamatalaga
domain string Ioe Le igoa o le itulagi, mo se faataitaiga 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"}'

Tali Fa'ata'ita'i

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

Fa'ailoga o Tulaga o Tali

201 Faʻatonu
400 Lelei le igoa o le 'au'aunaga
MAUA /api/v1/dns-zones/{uuid}/

Faʻataga Faʻamatalaga o le Nofoaga DNS

Tuuina atu se vaega ma uma ona tusitusi i se tusitusi. E tutusa le foliga o le tali ma le tusitusi i luga.

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

Fa'ailoga o Tulaga o Tali

200 Fa'ataunuuina
404 E le maua, po o e fai ma sui o se isi teugatupe
TAPE'E /api/v1/dns-zones/{uuid}/

Suʻe

Toesea le itu mai i le tolu uma o le 'nameservers', siaki pe leai se tasi o latou e tautuaina, ma faʻamama le itu ma ona tusi. Afai e tali pea se 'nameserver' mo le itu, e faʻaleagaina le talosaga ma teu le itu ina ia mafai ai ona e toe taumafai.

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

Fa'ailoga o Tulaga o Tali

204 Faʻaigoaina. E leai se tino i le tali.
400 E toe tautuaina e se 'nameserver' le itulagi. E le' o'o' i le fa'aumaina o le itulagi; o le 'detail' field e lisiina ai le' au' au' i le' au'
404 E le maua, po o e fai ma sui o se isi teugatupe
MAUA POST /api/v1/dns-zones/{uuid}/records/

Faʻavasega poʻo Faʻaopopo faʻamaumauga i se itulagi

GET toe maua uma talafaasolopito i le itulagi o se array masani (le paginated), faavasegaina e ituaiga ma igoa. POST faaopoopo se talafaasolopito i le itulagi ma lomia ai.

Talosaga mo Fa'atulagaga o le Tino (POST)

Paramita Ituaiga Mana'omia Faʻamatalaga
record_type string Ioe A, AAAA, CNAME, MX, NS, TXT, SRV, PTR, SOA, CAA
name string Ioe @ mo le 'upega tafaʻilagi lava ia, po o se igoa faʻailoga pei o www. E teuina igoa i le tusitusi laiti.
value string Ioe O le faamaumauga o le tusitusi, mo se faataitaiga se tuatusi IP po o se igoa o le masini. E le manaomia e igoa o masini se dot i tua ma e le manaomia e tau TXT ni upu faataga; e faaopoopoina i latou uma i le taimi e faaulufaleina ai le tusitusi.
ttl integer Ioe O le taimi e ola ai i sekone
priority integer MX ma SRV E manaʻomia mo MX ma SRV talafaasolopito ma le le amanaiaina mo isi ituaiga. Mo SRV, tuu le mamafa, portu ma le mea e oo mai i le tau.

Talosaga Fa'ata'ita'i

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

Tali Fa'ata'ita'i

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

Fanua Tali

Aoga Ituaiga Faʻamatalaga
uuid string Faailoga faailoga o le tusitusi, e faaaoga e le /api/v1/dns-records/ endpoints
priority integer | null Faʻaiuga mo MX ma SRV tusitusi, afai e leai, leai
created_at date Aso faʻavaeina (Y-MM-DD) ae le o se taimi

Fa'ailoga o Tulaga o Tali

200 GET: o le talafaasolopito o le itulagi
201 POST: faʻatonu na faia
400 Error validation, for example an unknown record type, a missing ttl, or an MX or SRV record without priority
404 E le maua, po o e fai ma sui o se isi teugatupe
POST /api/v1/dns-zones/{uuid}/sync/

Faʻasalalau se itulagi

Fa'aosoina le itu ma uma ona tusitusi i le 'au'aunaga igoa. E fa'asalalauina fa'aautomatika suiga o tusitusi, ae o le fa'asalalauina o le mea sili ona lelei ma e le' ai se fa'afitauli i le talosaga muamua, o lea fa'aaoga lenei pe a le' i fa'aalia se suiga i le DNS. E le mana'omia se tino talosaga.

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"
}
MAUA POST /api/v1/dns-records/

Faʻavasega poʻo le Faʻatūina o Faʻamaumauga i le va o Itulagi

GET toe maua le talafaasolopito o uma au itulagi, 25 i le itulau, faatonuina e le itulagi, ituaiga ma le igoa. POST fausia se talafaasolopito pei o le itulagi talafaasolopito endpoint, ae e ave le itulagi i le tino o le zone_uuid.

Fa'asologa o Fesili

Paramita Ituaiga Mana'omia Faʻamatalaga
zone string E leai Faʻataga o le itulagi ma lenei uuid
record_type string E leai Faʻamaumauga o lenei ituaiga, mo se faataitaiga MX (e le faʻalagolago i le kiona)
page integer E leai Numera o le itulau, amata mai i le 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"
    }
  ]
}

Fa'ailoga o Tulaga o Tali

200 Faʻatonu
201 POST: faʻatonu na faia
400 Faʻafitauli o le faʻamaonia, poʻo le zone_uuid e leʻi maua, poʻo se tasi o au itulagi
MAUA PUT PATCH TAPE'E /api/v1/dns-records/{uuid}/

Faʻataga, Faʻafou poʻo le Faʻasaʻo se Faʻamaumauga

GET toe maua se tusi faamaonia. PUT toe maua ma manaomia record_type, igoa, tau ma ttl. PATCH suia na o le itu e te auina atu. DELETE aveese le tusi faamaonia ma toe maua 204 ma se tino leai. Suiga ua lomia i le taimi lava e tasi. O le tusi faamaonia NS faia ma le itulagi o le tusi faamaonia o le faiga: faafouina po o le aveesea o latou toe maua 403.

Afai e te PATCH le itupa o se MX po o le SRV tusi faʻamaumauga, auina record_type i le tutusa talosaga. O se PATCH tino ma le itupa ae aunoa ma le record_type faamama le itupa.
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}'

Fa'ailoga o Tulaga o Tali

200 GET, PUT po o PATCH: o le talafaasolopito
204 Faʻaigoaina. E leai se tino i le tali.
400 Faʻafitauli o le faʻamaonia
403 O le tusitusi o se tusitusi o le faiga, po o le a le mea e manaʻomia e le tusitusi
404 E le maua, po o e fai ma sui o se isi teugatupe

Faʻamaopoopoga o Faʻafitauli

Faʻamaonia o faʻafitauli e toe foʻi atu i le 400 ma le faʻafitauli e faʻamau i le igoa o le itu:

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

Faʻataʻitaʻiga o suiga DNS

Faʻatalanoa le VPS.org nameservers faʻasolosolo e faʻamaonia ai o se suiga e ola aʻe aʻo leʻi oʻo mai lau faʻatonu o le faʻatonu poʻo le caches o le resolver:

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