Krijo zona DNS dhe menazho regjistrat e tyre. Zonat shërbehen nga ns1.vps.org, ns2.vps.org dhe ns3.vps.org.
Një zonë mban regjistrat për një domene. Çdo ndryshim që bën nëpërmjet API shtyhet drejt serverëve të emrave VPS.org menjëherë. Për të shërbyer një domene nga këto zona, vendos serverët e emrave në regjistrin tënd në ns1.vps.org, ns2.vps.org dhe ns3.vps.org.
Ndryshimet ruhen dhe publikohen në një hap: nëse serverat e emrave refuzojnë një ndryshim, kërkesa kthen 502 dhe asgjë nuk ruhet. Një zonë nuk mund të krijohet për një domeni që menaxhohet tashmë nga një llogari tjetër, një prindër ose fëmijë i zonës së një llogarie tjetër, ose një emër i rezervuar VPS.org.
Të drejta të nevojshme:
dns:list (GET), dns:create (POST), dns:update (PUT, PATCH, sync), dns:delete (DELETE), dns:*
Kthen zonat tuaja, më të reja në fillim, 25 për faqe. Regjistrimet nuk përfshihen këtu; merr një zonë të vetme për t'i marrë ato.
| Parametrat | Lloji | E detyrueshme | Përshkrimi |
|---|---|---|---|
domain |
string | Jo. | Kthe vetëm zonën me saktësisht këtë emër domeni |
page |
integer | Jo. | Numri i faqes, duke filluar nga 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
}
]
}
| Fusha | Lloji | Përshkrimi |
|---|---|---|
uuid |
string | Identifikuesi i zonës |
domain |
string | Emri i domain, i ruajtur me shkronja të vogla |
created_at |
datetime | Ora e krijimit (ISO 8601, UTC) |
record_count |
integer | Numri i regjistrave në zonë, duke përfshirë tre regjistrat NS |
| 200 | Suksesi |
| 403 | Token i munguar apo i pavlefshëm API, ose token nuk ka të drejtat e kërkuara |
Krijon një zonë dhe e publikon atë. Zona fillon me tre regjistra NS për ns1, ns2 dhe ns3.vps.org, të cilët janë regjistra të sistemit dhe nuk mund të ndryshohen apo eleminohen.
| Parametrat | Lloji | E detyrueshme | Përshkrimi |
|---|---|---|---|
domain |
string | Po | Emri i domain, për shembull 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"}'
{
"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 | Zonë e krijuar |
| 400 | Mungon ose është i pavlefshëm emri i domain |
Kthen një zonë me të gjitha regjistrat e saj në një array regjistrash. Përgjigjia ka të njëjtën formë si përgjigjia e krijimit më lart.
curl -X GET "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 200 | Suksesi |
| 404 | Nuk u gjet ose i përket një llogarie tjetër |
Hiq zonën nga të tre serverët e emrave, kontrollo që asnjëri prej tyre nuk i shërben ende, dhe pastaj elemino zonën dhe regjistrat e saj. Nëse një server emri ende përgjigjet për zonën, kërkesa dështon dhe zona mbahet në mënyrë që të mund të provosh përsëri.
curl -X DELETE "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 204 | Përgjigja nuk ka trup. |
| 400 | Një server emri ende i shërben zonës. Zona nuk është eleminuar; fusha e hollësishme liston gabimet. |
| 404 | Nuk u gjet ose i përket një llogarie tjetër |
GET kthen çdo rekord në zonë si një array të thjeshtë (jo të faqesuar), të renditur sipas llojit dhe emrit. POST shton një rekord në zonë dhe e publikon atë.
| Parametrat | Lloji | E detyrueshme | Përshkrimi |
|---|---|---|---|
record_type |
string | Po | A, AAAA, CNAME, MX, NS, TXT, SRV, PTR, SOA, CAA |
name |
string | Po | @ për domenin vetë, ose një etiketë si www. Emrat ruhen me shkronja të vogla. |
value |
string | Po | Të dhënat e regjistrit, për shembull një adresë IP ose emri i host. Emrat e host nuk kanë nevojë për një pikë pas tyre dhe vlerat TXT nuk kanë nevojë për cot; të dyja shtohen kur regjistri publikohet. |
ttl |
integer | Po | Koha për të jetuar në sekonda |
priority |
integer | Vetëm MX dhe SRV | E nevojshme për të dhënat MX dhe SRV dhe injorohet për çdo lloj tjetër. Për SRV, vendos peshën, portën dhe objektivin në vlerë. |
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"
}
| Fusha | Lloji | Përshkrimi |
|---|---|---|
uuid |
string | Identifikuesi i regjistrit, përdorur nga /api/v1/dns-records/ endpoints |
priority |
integer | null | Prioriteti për rekordet MX dhe SRV, përndryshe null |
created_at |
date | Vetëm data e krijimit (Y-MM-DD), pa kohë |
| 200 | GET: regjistrat e zonës |
| 201 | POST: rekordi u krijua |
| 400 | Gabim validimi, për shembull një lloj i panjohur rekordi, një ttl që mungon, ose një rekord MX ose SRV pa përparësi |
| 404 | Nuk u gjet ose i përket një llogarie tjetër |
Shpie zonën dhe të gjitha regjistrat e saj tek serverat e emrave përsëri. Ndryshimet në regjistrat publikohen automatikisht, por publikimi është përpjekja më e mirë dhe një dështim nuk dështon kërkesën fillestare, kështu që përdoret kjo kur një ndryshim nuk shfaqet në kërkimet DNS. Nuk nevojitet trup kërkese.
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 kthen regjistrat e të gjitha zonave tuaja, 25 për faqe, të renditura sipas domenit, llojit dhe emrit. POST krijon një regjistrim si përfundimi i regjistrave të zonës, por merr zonën në trup si zone_uuid.
| Parametrat | Lloji | E detyrueshme | Përshkrimi |
|---|---|---|---|
zone |
string | Jo. | Vetëm regjistrat e zonës me këtë uuid |
record_type |
string | Jo. | Vetëm të dhënat e këtij lloji, për shembull MX (nuk i dallojnë gërmat e mëdha e të vogla) |
page |
integer | Jo. | Numri i faqes, duke filluar nga 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: sukses |
| 201 | POST: rekordi u krijua |
| 400 | Gabim validimi, ose zone_uuid mungon ose nuk është një nga zonat tuaja |
GET kthen një rekord. PUT e zëvendëson atë dhe kërkon record_type, emri, vlera dhe ttl. PATCH ndryshon vetëm fushat që dërgoni. DELETE heq rekordin dhe kthen 204 pa trup. Ndryshimet publikohen menjëherë. Regjistrimet NS të krijuara me zonën janë regjistra të sistemit: përditësimi apo eleminimi i tyre kthen 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 ose PATCH: rekordi |
| 204 | Përgjigja nuk ka trup. |
| 400 | Gabim validimi |
| 403 | Regjistri është një regjistër sistemi ose token nuk ka të drejtat e kërkuara |
| 404 | Nuk u gjet ose i përket një llogarie tjetër |
Gabimet e validimit kthejnë 400 me problemin e kyçur nga emri i fushës:
{
"priority": ["MX records require a priority value"]
}
Kërko serverat e emrave VPS.org drejtpërsëdrejti për të konfirmuar një ndryshim para se të delegohet registrari apo cache e zgjidhjes të arrijë:
dig @ns1.vps.org example.com A
dig @ns2.vps.org example.com MX
dig @ns3.vps.org www.example.com