Luo DNS-alueet ja hallinnoi niiden tietueita. Vyöhykkeitä palvelevat ns1.vps.org, ns2.vps.org ja ns3.vps.org.
A zone holds the records for one domain. Every change you make through the API is pushed to the VPS.org nameservers straight away. To serve a domain from these zones, set its nameservers at your registrar to ns1.vps.org, ns2.vps.org and ns3.vps.org.
Muutokset tallennetaan ja julkaistaan yhdessä vaiheessa: jos nimipalvelimet kieltäytyvät muutoksesta, pyyntö palauttaa 502, eikä mitään tallenneta. Aluetta ei voida luoda toiselle jo hallinnoimalle verkkotunnukselle, toisen tilin alueen vanhemmalle tai lapselle tai VPS.org-varatulle nimelle.
Vaadittu lupa:
dns:list (GET), dns:create (POST), dns:update (PUT, PATCH, sync), dns:delete (DELETE), dns:*
Palauttaa vyöhykkeet, uusin ensin, 25 sivua kohti. Rekisteritiedot eivät sisälly tähän; hae yksi alue, jolla ne saadaan.
| Muuttuja | Tyyppi | Pakollinen | Tavaran kuvaus |
|---|---|---|---|
domain |
string | Ei tarvitse. | Palauta vain alue, jolla on täsmälleen tämä verkkotunnus |
page |
integer | Ei tarvitse. | Page number, starting at 1 |
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);
{
"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
}
]
}
| Kenttä | Tyyppi | Tavaran kuvaus |
|---|---|---|
uuid |
string | Alueen tunniste |
domain |
string | Verkkoalueen nimi, tallennettu pieniin kassiin |
created_at |
datetime | Luontiaika (ISO 8601, UTC) |
record_count |
integer | Alueella olevien tietueiden määrä, mukaan lukien kolme NS-rekisteriä |
| 200 | Onnistuminen |
| 403 | Puuttuva tai virheellinen API-tunnus tai postimerkki puuttuu vaaditusta luvasta |
Vyöhyke luo vyöhykkeen ja julkaisee sen. Vyöhyke alkaa kolmella NS-levyllä ns1, ns2 ja ns3.vps.org, jotka ovat järjestelmätallenteita, joita ei voi muokata tai poistaa.
| Muuttuja | Tyyppi | Pakollinen | Tavaran kuvaus |
|---|---|---|---|
domain |
string | Kyllä | Verkkotunnuksen nimi, esimerkiksi.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"}'
{
"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
}
| 201 | Luotu alue |
| 400 | Puuttuva tai virheellinen verkkotunnus |
Palauttaa yhden vyöhykkeen kaikkine tietueineen levysarjaan. Vastaus on saman muotoinen kuin luo vastaus yllä.
curl -X GET "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 200 | Onnistuminen |
| 404 | Ei löytynyt, tai se kuuluu toiselle tilille |
Poistaa alueen kaikilta kolmelta nimipalvelimelta, tarkistaa, ettei kukaan heistä enää palvele sitä, ja poistaa sitten vyöhykkeen ja sen tietueet. Jos nimipalvelija vielä vastaa vyöhykkeeseen, pyyntö epäonnistuu ja vyöhyke pidetään, jotta voit yrittää uudelleen.
curl -X DELETE "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 204 | Reaktiossa ei ole kehoa. |
| 400 | Nimenpalvelin palvelee yhä aluetta. Aluetta ei poistettu, vaan yksityiskohdat luetellaan kentässä. |
| 404 | Ei löytynyt, tai se kuuluu toiselle tilille |
GET palauttaa jokaisen levyn alueella tavallisena levynä (ei sivutettuna), lajittele tyyppien ja nimien mukaan. POST lisää levyn alueelle ja julkaisee sen.
| Muuttuja | Tyyppi | Pakollinen | Tavaran kuvaus |
|---|---|---|---|
record_type |
string | Kyllä | A, AAAA, CNAME, MX, NS, TXT, SRV, PTR, SOA, CAA |
name |
string | Kyllä | @ itse verkkotunnuksen tai esimerkiksi www-tunnuksen kohdalla nimet tallennetaan pieniin. |
value |
string | Kyllä | Levytiedot, esimerkiksi IP-osoite tai isäntänimi. Isännät eivät tarvitse jälkipistettä, eikä TXT-arvoja tarvitse noteerata, vaan molemmat lisätään levyn julkaisun yhteydessä. |
ttl |
integer | Kyllä | Aika elää sekunneissa |
priority |
integer | Vain MX ja SRV | Vaaditaan MX- ja SRV-tallenteita, eikä niitä oteta huomioon kaikissa muissa tyypeissä. SRV:lle paino, portti ja kohde arvossa. |
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())
{
"uuid": "9d430082-5562-42b4-a0b2-12a6f6c862f9",
"record_type": "MX",
"name": "@",
"value": "mail.example.com",
"ttl": 3600,
"priority": 10,
"created_at": "2026-09-14"
}
| Kenttä | Tyyppi | Tavaran kuvaus |
|---|---|---|
uuid |
string | Record-tunniste, jota käytetään /api/v1/dns-tallenteiden/päätetapahtumien avulla |
priority |
integer | null | MX- ja SRV-levyjen prioriteetti, muuten nolla |
created_at |
date | Luontipäivä (V-KK-PP) ilman aikaa |
| 200 | GET: vyöhykkeen tiedot |
| 201 | POST: levy luotu |
| 400 | Validointivirhe, esimerkiksi tuntematon levytyyppi, puuttuva ttl, tai MX- tai SRV-levy ilman prioriteettia |
| 404 | Ei löytynyt, tai se kuuluu toiselle tilille |
Painaa alueen ja kaikki sen levyt nimipalvelijoille uudelleen. Levymuutokset julkaistaan automaattisesti, mutta julkaisu on parasta tehdä, eikä epäonnistu alkuperäinen pyyntö, joten käytä tätä, kun muutos ei näy DNS-hakukokeissa. Pyyntöelintä ei tarvita.
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"
}
GET palauttaa kaikkien vyöhykkeidesi tiedot, 25 sivua kohden, tilattuna verkkotunnuksen, tyypin ja nimen mukaan. POST luo vyöhykkeen kaltaisen tietueen, mutta ottaa vyöhykkeen kehossa vyöhykkeeksi_uuid.
| Muuttuja | Tyyppi | Pakollinen | Tavaran kuvaus |
|---|---|---|---|
zone |
string | Ei tarvitse. | Vain tiedot vyöhykkeestä tällä uuid-otteella |
record_type |
string | Ei tarvitse. | Vain tämäntyyppiset levyt, esimerkiksi MX (tapaus tunnoton) |
page |
integer | Ei tarvitse. | Page number, starting at 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"
}
]
}
| 200 | GET: menestys |
| 201 | POST: levy luotu |
| 400 | Validointivirhe tai zone_uuid puuttuu tai ei ole yksi vyöhykkeesi |
GET palauttaa yhden levyn. PUT korvaa sen ja tarvitsee levy_tyypin, nimen, arvon ja ttl. PASSITUS muuttaa vain lähettämäsi kentät. DELETE poistaa levyn ja palauttaa 204 ilman ruumista. Muutokset julkaistaan saman tien. Alueella luodut NS-tietueet ovat järjestelmätietueita: niiden päivittäminen tai poistaminen palauttaa 403.
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}'
| 200 | GET, PUT tai PASSITUS: levy |
| 204 | Reaktiossa ei ole kehoa. |
| 400 | Validointivirhe |
| 403 | Levy on järjestelmärekisteri, tai postimerkiltä puuttuu vaadittava lupa |
| 404 | Ei löytynyt, tai se kuuluu toiselle tilille |
Validointivirheet palauttavat 400 kentän nimen näppäinongelman kanssa:
{
"priority": ["MX records require a priority value"]
}
Kysy VPS.org-nimeäpalvelijoilta, että muutos on suora lähetys ennen kuin registrar-valtuuskuntasi tai ratkaisijasi saavat kiinni:
dig @ns1.vps.org example.com A
dig @ns2.vps.org example.com MX
dig @ns3.vps.org www.example.com