Create DNS zones and manage their records. Zones are served by ns1.vps.org, ns2.vps.org and 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.
Changes are saved and published in one step: if the nameservers refuse a change, the request returns 502 and nothing is saved. A zone cannot be created for a domain another account already manages, a parent or child of another account's zone, or a VPS.org reserved name.
അനുവാദം ആവശ്യമുണ്ട്:
dns:list (GET), dns:create (POST), dns:update (PUT, PATCH, sync), dns:delete (DELETE), dns:*
നിങ്ങളുടെ മേഖലകള് തിരിച്ചുവിടുക, ആദ്യം, പുതിയത്, ഓരോ പേജിലും 25. റെക്കോര്ഡുകള് ഇവിടെ ഉള്പ്പെടുത്തുന്നതല്ല; അവ കിട്ടാന് ഒരു മേഖല കൊണ്ടുവരുക.
| പരാമീറ്റര് | ടൈപ്പ് ചെയ്യുക | ആവശ്യമാണ് | വിവരണം |
|---|---|---|---|
domain |
string | ഇല്ല | കൃത്യമായ ഈ മണ്ഡല പേരു് കൊണ്ട് മേഖല മാത്രം തിരിച്ചു് പോകുക |
page |
integer | ഇല്ല | താളിന്റെ നംബര്, 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
}
]
}
| ഫീള്ഡ് | ടൈപ്പ് ചെയ്യുക | വിവരണം |
|---|---|---|
uuid |
string | മേഖലയുടെ തിരിച്ചറിയല് |
domain |
string | ചെറിയക്ഷരത്തില് സൂക്ഷിച്ച മണ്ഡലത്തിന്റെ പേരു്, |
created_at |
datetime | Creation time (ISO 8601, UTC) |
record_count |
integer | എന്എസ് റെക്കോര്ഡുകള് ഉള്ക്കൊള്ളുന്ന മേഖലയിലുള്ള രേഖകളുടെ എണ്ണം |
| 200 | വിജയം |
| 403 | API അടയാളം ലഭ്യമല്ല അല്ലെങ്കില് ആവശ്യമുളള സൂചനയ്ക്ക് ലഭ്യമല്ല |
Creates a zone and publishes it. The zone starts with three NS records for ns1, ns2 and ns3.vps.org, which are system records and cannot be edited or deleted.
| പരാമീറ്റര് | ടൈപ്പ് ചെയ്യുക | ആവശ്യമാണ് | വിവരണം |
|---|---|---|---|
domain |
string | അതെ | ഉദാഹരണത്തിന്, മണ്ഡലത്തിന്റെ പേരു്. 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 | മേഖല നിര്മ്മിച്ചിരിക്കുന്നു |
| 400 | ലഭ്യമല്ല അല്ലെങ്കില് ഡൊമൈന് നാമം |
ഒരു മേഖല എല്ലാ റെക്കോര്ഡുകളും റെക്കോഡ് അണിയിലായി തിരിച്ചു് പോകുന്നു. മറുപടിയ്ക്ക് മുകളില് ഉളളത് പോലെ രൂപങ്ങളുണ്ട്.
curl -X GET "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 200 | വിജയം |
| 404 | ഇല്ല, അല്ലെങ്കില് മറ്റൊരു പ്രമാണം മാത്രമേ അവര്ക്ക് ലഭിക്കുകയുള്ളൂ. |
മൂന്നു പേര് സേവകന്മാരില് നിന്നും മേഖല നീക്കം ചെയ്യുന്നു, അവയൊന്നും ഇതുവരെ സേവിക്കുന്നില്ലെന്നു് പരിശോധിക്കുകയും മേഖലയും റെക്കോര്ഡ് ചെയ്യാതിരിക്കുകയും ചെയ്യുന്നു. മേഖലയ്ക്കു് ഒരു പേരു് സര്വര് മറുപടി നല്കിയാല്, ആഭിമുഖ്യം നിലച്ചു. വീണ്ടും പ്രവര്ത്തനസജ്ജമാക്കാവുന്നതാണ്.
curl -X DELETE "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 204 | നീക്കം ചെയ്തു. മറുപടിയ്ക്ക് ശരീരം ഇല്ല. |
| 400 | ഒരു പേര് സെര്വര് ഇപ്പോഴും സോണ് സേവനം ചെയ്യുന്നു. മേഖല നീക്കം ചെയ്തിട്ടില്ല; വിശദമായ ഫീള്ഡ് പിശകുകള് പട്ടികയില് ഉള്ക്കൊള്ളുന്നു. |
| 404 | ഇല്ല, അല്ലെങ്കില് മറ്റൊരു പ്രമാണം മാത്രമേ അവര്ക്ക് ലഭിക്കുകയുള്ളൂ. |
GET returns every record in the zone as a plain array (not paginated), sorted by type and name. POST adds a record to the zone and publishes it.
| പരാമീറ്റര് | ടൈപ്പ് ചെയ്യുക | ആവശ്യമാണ് | വിവരണം |
|---|---|---|---|
record_type |
string | അതെ | A, AAAA, CNAME, MX, NS, TXT, SRV, PTR, SOA, CAA |
name |
string | അതെ | മണ്ഡലത്തിനു് പകരം, അല്ലെങ്കില് www. lib. lib ല് പേരുകള് സൂക്ഷിച്ചിട്ടുള്ള പേരു്. |
value |
string | അതെ | രേഖാ വിവരങ്ങള്, ഉദാഹരണത്തിനു്, ഐപി വിലാസം അല്ലെങ്കില് ഹോസ്റ്റ്നാമം. പാറ്റ്വേര്ഡ് ഡോട്ടിനു് ട്രെയിസ്സ് ആവശ്യമില്ലാത്ത ഹോസ്റ്റുകള്ക്ക് ആംഗ്യങ്ങള് ആവശ്യമില്ല; രേഖ പ്രസിദ്ധമാക്കുമ്പോള് രണ്ടും ചേര്ക്കപ്പെടുന്നു. |
ttl |
integer | അതെ | സെക്കന്ഡുകളില് ജീവിക്കാനുള്ള സമയം |
priority |
integer | എം.എസ്. ആര്.വി( SRV) മാത്രം | എം.എക്സും എസ്.ആവിവിയും എല്ലാ തരത്തിനും വേണ്ടതും ആവശ്യമാണു്. SRV- നു് ഭാരവും തുറമുഖവും ലക്ഷ്യവും വെക്കണം. |
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"
}
| ഫീള്ഡ് | ടൈപ്പ് ചെയ്യുക | വിവരണം |
|---|---|---|
uuid |
string | /app/v/1/Rns- recods/അവസാനബിന്ദു ഉപയോഗിക്കുന്ന ഐഡന്റിഫയര്, |
priority |
integer | null | എം.എക്സ്, എസ്. ആര്.വി റെക്കോഡുകള്ക്കുള്ള മുന്ഗണന, അല്ലെങ്കില് ലഭ്യമല്ല |
created_at |
date | സൃഷ്ടി തീയതി (Y- MM-D) മാത്രമേ, ഒരു സമയമില്ലാതെ |
| 200 | പോട്ടെ: മേഖലയുടെ റെക്കോര്ഡുകള് |
| 201 | PST: രേഖ നിര്മ്മിച്ചു |
| 400 | ഉദാഹരണത്തിന്, അപരിചിതമായ ഒരു റെക്കോര്ഡ് തരമോ, ttl അല്ലെങ്കില് MX അല്ലെങ്കില് SRV റെക്കോഡ് പ്രഥമത്തില് നിന്നും പരിഷ്കരിക്കുന്നു |
| 404 | ഇല്ല, അല്ലെങ്കില് മറ്റൊരു പ്രമാണം മാത്രമേ അവര്ക്ക് ലഭിക്കുകയുള്ളൂ. |
മേഖലയും അതിലെ എല്ലാ റെക്കോഡുകളും വീണ്ടും പേരിന്റെ സേവകരിലേക്ക് ആവര്ത്തിച്ചു കളയുന്നു. റെക്കോഡ് മാറ്റങ്ങള് സ്വയം പ്രസിദ്ധീകരിക്കുന്നു, പക്ഷേ പ്രസിഡന്റുകളുടെ പ്രസദ്ധതയും പരാജയവും മൂലക ആവശ്യത്തില് പരാജയപ്പെടുന്നില്ല, അതുകൊണ്ട് DNS വ്വാര്ത്തയില് ഒരു മാറ്റം കാണിക്കാത്തതിനാല് ഇതു ഉപയോഗിയ്ക്കുക. ആവശ്യമില്ലാത്ത ശരീരസഹസ്യമില്ല.
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"
}
നിങ്ങളുടെ മേഖലകളൊക്കെയും തിരിച്ചു്, ഓരോ താളിലും 25 റെക്കോഡ് നല്കുന്നു, മണ്ഡലം, ടൈപ്പ്, പേരു് എന്നിവ നല്കി. Pather റെക്കോഡ് ആവര്ത്തിക്കും, മേഖലയുടെ അവസാന സൂചിക പോലെ ഒരു റെക്കോര്ഡ് സൃഷ്ടിക്കുന്നു, പക്ഷേ മേഖല മേഖലയെ മേഖലയെ മേഖലയായി എടുക്കുന്നു.
| പരാമീറ്റര് | ടൈപ്പ് ചെയ്യുക | ആവശ്യമാണ് | വിവരണം |
|---|---|---|---|
zone |
string | ഇല്ല | ഈ യൂഐഡി ഉള്ള മേഖലയുടെ റെക്കോര്ഡുകള് മാത്രം |
record_type |
string | ഇല്ല | ഇങ്ങനെയുള്ളവയുടെ റെക്കോഡ് മാത്രമേ ഉള്ളു, ഉദാഹരണത്തിനു്, എം.എസ് (കയ്ക്കൊന്നും ഇല്ലാത്ത) |
page |
integer | ഇല്ല | താളിന്റെ നംബര്, 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 | വിജയം: |
| 201 | PST: രേഖ നിര്മ്മിച്ചു |
| 400 | സാധുവായ പിശക്, മേഖല_uid ലഭ്യമല്ല, അല്ലെങ്കില് നിങ്ങളുടെ ഒരു മേഖലയിലുളളതിലുമുളളവ ലഭ്യമല്ല |
GKE ഒരു റെക്കോഡ് നല്കുന്നു. റെക്കോഡ് ചെയ്തതിനു് പകരം റെക്കോഡ് ചെയ്യുന്നു, പേര്, പേരു്, ടിടിഎംഎല് എന്നിവയുടെ സ്ഥാനത്ത് മാറ്റുന്നു. PATCH നിങ്ങള് അയച്ച വയലുകള് മാത്രം. ഡീഫോള്ട്ടുമായി മാത്രമേ നാള്വഴി നീക്കം ചെയ്തു്, ശരീരം ഇല്ലാതെ 204 നല്കുന്നു. മാറ്റങ്ങള് നേര്ക്ക് പ്രസദ്ധീകരിക്കപ്പെടുന്നു. NS റെക്കോഡുകള് സിസ്റ്റത്തില് ഉല്പാദിപ്പിക്കപ്പെട്ടിരിക്കുന്നവ: നീക്കം അല്ലെങ്കില് നീക്കം ചെയ്യുക അല്ലെങ്കില് നീക്കം ചെയ്യുക. 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 | അല്ലെങ്കില് പിറ്റ്ച്: |
| 204 | നീക്കം ചെയ്തു. മറുപടിയ്ക്ക് ശരീരം ഇല്ല. |
| 400 | പരിശോധിക്കുന്നതില് പിശകു് |
| 403 | റെക്കോര്ഡ് ഒരു സിസ്റ്റം റെക്കോര്ഡ് ആണ്, അല്ലെങ്കില് ആവശ്യമായ സൂചനയ്ക്ക് അനുവാദമില്ല |
| 404 | ഇല്ല, അല്ലെങ്കില് മറ്റൊരു പ്രമാണം മാത്രമേ അവര്ക്ക് ലഭിക്കുകയുള്ളൂ. |
ഫീള്ഡ് നാമം ഉപയോഗിച്ച് പ്രശ്നം ഉപയോഗിച്ചു് പരിശോധനയില് തെറ്റുകള് 400 നല്കുന്നു:
{
"priority": ["MX records require a priority value"]
}
Query the VPS.org nameservers directly to confirm a change is live before your registrar delegation or resolver caches catch up:
dig @ns1.vps.org example.com A
dig @ns2.vps.org example.com MX
dig @ns3.vps.org www.example.com