VPS.org API

REST API ලේඛන

DNS කළමනාකරණ API

DNS කලාප නිර්මාණය සහ ඔවුන්ගේ වාර්තා කළමනාකරණය. කලාප ns1.vps.org විසින් සේවය, ns2.vps.org හා ns3.vps.org.

අන්ත ලක්ෂ්‍ය 13
පාදක මාර්ගය /api/v1/dns-zones, /api/v1/dns-records

දළ විශ්ලේෂණය

කලාපයක් එක් ඩොමේන් සඳහා වාර්තා පවතී. API හරහා ඔබ සිදු කරන සෑම වෙනස්කමකින් VPS.org nameservers වහාම තල්ලු කරනු ලැබේ. මෙම කලාප වලින් ඩොමේන් සේවය කිරීමට, ns1.vps.org, ns2.vps.org සහ ns3.vps.org ඔබේ ලියාපදිංචිකරු එහි nameservers සකස්.

වෙනස්කම් එක් පියවරක් තුළ සුරැකෙන අතර ප්රකාශයට පත් වේ: නම් සේවාදායකය වෙනස් කිරීමක් ප්රතික්ෂේප නම්, ඉල්ලීම 502 හා කිසිවක් සුරැකෙන ආපසු. කලාපය ඩොමේනයක් සඳහා නිර්මාණය කළ නොහැකි වෙනත් ගිණුමක් දැනටමත් කළමනාකරණය, වෙනත් ගිණුමක් කලාපය මව් හෝ දරුවා, හෝ VPS.org රඳවා නමක්.

අවසර අවශ්‍යයි: dns:list (GET), dns:create (POST), dns:update (PUT, PATCH, sync), dns:delete (DELETE), dns:*

ලබා ගන්න /api/v1/dns-zones/

සියලුම DNS කලාප ලැයිස්තුගත කරන්න

ඔබේ කලාප, නවතම පළමු, පිටුවකට 25 ආපසු. වාර්තා මෙහි ඇතුළත් නොවේ; ඔවුන් ලබා ගැනීමට තනි කලාපයක් ලබා ගන්න.

විමසුම් පරාමිතීන්

පරාමිතීන් වර්ගය අවශ්‍යයි විස්තරය
domain string නෑ මෙම ඩොමේන් නාමය සහිත කලාපය පමණක් ආපසු ලබාදෙන්න
page integer නෑ පිටු අංකය, 1 සිට ආරම්භ වේ

උදාහරණ ඉල්ලීම

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

උදාහරණ ප්‍රතිචාරය

{
  "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 නිර්මාණය කිරීමේ වේලාව (ISO 8601, UTC)
record_count integer කලාපයේ වාර්තා ගණන, NS වාර්තා තුනක් ඇතුළු

ප්‍රතිචාර තත්ව කේත

200 සාර්ථකත්වය
403 අතුරුදන් හෝ වලංගු API ටොකන්, හෝ ටොකන් අවශ්ය අවසර නොමැත
තැපැල් /api/v1/dns-zones/

DNS කලාපය නිර්මාණය කරන්න

කලාපයක් නිර්මාණය හා එය ප්රකාශයට පත් කරයි. කලාපය ns1, ns2 හා ns3.vps.org සඳහා NS වාර්තා තුනක් සමග ආරම්භ වන අතර, පද්ධති වාර්තා වන හා සංස්කරණය හෝ මකා දැමිය නොහැකි වේ.

ඉල්ලීම් ශරීර පරාමිතීන්

පරාමිතීන් වර්ගය අවශ්‍යයි විස්තරය
domain string ඔව් ඩොමේන් නාමය, උදාහරණයක් ලෙස 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 කලාපය නිර්මාණය කල
400 නොමැති හෝ වලංගු ඩොමේන් නාමය
ලබා ගන්න /api/v1/dns-zones/{uuid}/

DNS කලාප විස්තර ලබාගන්න

වාර්තා ආකෘතිය එහි සියලු වාර්තා සමග එක් කලාපයක් ආපසු. ප්රතිචාරය ඉහත නිර්මාණය ප්රතිචාරය ලෙසම හැඩය ඇත.

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

ප්‍රතිචාර තත්ව කේත

200 සාර්ථකත්වය
404 හමු නොවිනි, හෝ එය වෙනත් ගිණුමක් සතුව ඇත
මකන්න /api/v1/dns-zones/{uuid}/

DNS කලාපය මකන්න

නාම සේවාදායක තුනම සිට කලාපය ඉවත්, ඔවුන් කිසිවෙකු තවමත් එය සේවය කරන බව පරීක්ෂා, පසුව කලාපය සහ එහි වාර්තා මකා දමයි. නාම සේවාදායක තවමත් කලාපය සඳහා පිළිතුරු නම්, ඉල්ලීම අසාර්ථක වන අතර ඔබ නැවත උත්සාහ කළ හැකි නිසා කලාපය තබා ඇත.

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 හමු නොවිනි, හෝ එය වෙනත් ගිණුමක් සතුව ඇත
ලබා ගන්න තැපැල් /api/v1/dns-zones/{uuid}/records/

කලාපයේ වාර්තා ලැයිස්තුගත කරන්න හෝ එක් කරන්න

GET වර්ගය හා නම අනුව වර්ග කර, සරල ආකෘතිය (pageted නොවේ) ලෙස කලාපයේ සෑම වාර්තාවක් ලෙස ආපසු. POST කලාපයට වාර්තාවක් එකතු කරන අතර එය ප්රකාශයට පත් කරයි.

ඉල්ලීම් ශරීර පරාමිතීන් (POST)

පරාමිතීන් වර්ගය අවශ්‍යයි විස්තරය
record_type string ඔව් A, AAAA, CNAME, MX, NS, TXT, SRV, PTR, SOA, CAA
name string ඔව් @ වසම සඳහා, හෝ www වැනි ලේබලයක්. නාම කුඩා අකුරු ගබඩා කර ඇත.
value string ඔව් වාර්තා දත්ත, උදාහරණයක් ලෙස IP ලිපිනය හෝ ධාරක නාමය. ධාරක නාම පසුබිම් දොළහක් අවශ්ය නැත හා TXT අගයන් උපුටා ගැනීම් අවශ්ය නැත; වාර්තාව ප්රකාශයට පත් කරන විට දෙකම එකතු කර ඇත.
ttl integer ඔව් ජීවත්වීමට කාලය තත්පර වලින්
priority integer MX හා SRV පමණක් MX සහ SRV වාර්තා සඳහා අවශ්ය හා සෑම වෙනත් වර්ගය සඳහා නොසලකා. SRV සඳහා, අගය බර, වරාය හා ඉලක්කය තබා.

උදාහරණ ඉල්ලීම

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

උදාහරණ ප්‍රතිචාරය

{
  "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 /api/v1/dns-records/ endpoints විසින් භාවිතා කරන වාර්තා හඳුනාගැනීම
priority integer | null MX හා SRV වාර්තා සඳහා ප්‍රමුඛතාව, එසේ නොමැතිනම් ශුන්‍ය
created_at date නිර්මාණය දිනය පමණක් (Y-MM-DD), කාලයක් නොමැතිව

ප්‍රතිචාර තත්ව කේත

200 GET: කලාපයේ වාර්තා
201 POST: වාර්තාව නිර්මාණය
400 වලංගු කිරීමේ දෝෂය, උදාහරණයක් ලෙස නොදන්නා වාර්තා වර්ගය, නැතිවූ ttl හෝ ප්‍රමුඛතාවක් නොමැති MX හෝ SRV වාර්තාවක්
404 හමු නොවිනි, හෝ එය වෙනත් ගිණුමක් සතුව ඇත
තැපැල් /api/v1/dns-zones/{uuid}/sync/

කලාපයක් නැවත ප්‍රකාශයට පත් කරන්න

කලාපය හා නැවත නාම සේවාදායකය වෙත එහි සියලු වාර්තා තල්ලු කරයි. වාර්තා වෙනස්කම් ස්වයංක්රීයව ප්රකාශයට පත් කරනු ලැබේ, නමුත් ප්රකාශයට පත් කිරීම හොඳම උත්සාහය වන අතර අසාර්ථකත්වය මුල් ඉල්ලීම අසාර්ථක නොවේ, වෙනස් DNS lookups දක්වා පෙන්නුම් නොකරන විට මෙම භාවිතා කරන්න. ඉල්ලීම ශරීරය අවශ්ය නොවේ.

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"
}
ලබා ගන්න තැපැල් /api/v1/dns-records/

කලාප හරහා වාර්තා ලැයිස්තුගත කරන්න හෝ නිර්මාණය කරන්න

GET ඔබේ සියලු කලාප වාර්තා, පිටුවකට 25, ඩොමේන්, වර්ගය හා නම විසින් නියෝග, ආපසු. POST කලාප වාර්තා අවසන් ස්ථානයක් මෙන් වාර්තාවක් නිර්මාණය කරන නමුත් zone_uuid ලෙස ශරීරයේ කලාපය ගනී.

විමසුම් පරාමිතීන්

පරාමිතීන් වර්ගය අවශ්‍යයි විස්තරය
zone string නෑ මෙම uuid සහිත කලාපයේ වාර්තා පමණක්
record_type string නෑ මෙම වර්ගයේ වාර්තා පමණක්, උදාහරණයක් ලෙස MX (අකුරු සංවේදී නොවේ)
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 POST: වාර්තාව නිර්මාණය
400 වලංගු කිරීමේ දෝෂය, හෝ zone_uuid අතුරුදහන් හෝ ඔබේ කලාප වලින් එකක් නොවේ
ලබා ගන්න PUT PATCH මකන්න /api/v1/dns-records/{uuid}/

වාර්තාවක් ලබා ගන්න, යාවත්කාලීන කරන්න හෝ මකන්න

GET එක් වාර්තාවක් ආපසු. PUT එය වෙනුවට හා record_type, නම, අගය හා TTL අවශ්යතා. පැච් ඔබ යැවීමට ක්ෂේත්ර පමණක් වෙනස්. DELETE වාර්තාව ඉවත් හා කිසිදු ශරීරය සමග 204 ආපසු. වෙනස්කම් ඉක්මනින් ප්රකාශයට පත් කරනු ලැබේ. කලාපය සමග නිර්මාණය NS වාර්තා පද්ධති වාර්තා වේ: යාවත්කාලීන හෝ මකා දැමීම ඔවුන් ආපසු 403.

ඔබ MX හෝ SRV වාර්තාව ප්රමුඛතාවය පැච් විට, එම ඉල්ලීම record_type යැවීමට. ප්රමුඛතාවය සමග පැච් ශරීරය නමුත් record_type තොරව ප්රමුඛතාවය පැහැදිලි කරයි.
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 හෝ පැච්: වාර්තාව
204 මකන්න. ප්‍රතිචාරයට ශරීරයක් නැත.
400 වලංගු කිරීමේ දෝෂය
403 වාර්තාව පද්ධති වාර්තාවක් හෝ ටොකනයට අවශ්ය අවසර නොමැත
404 හමු නොවිනි, හෝ එය වෙනත් ගිණුමක් සතුව ඇත

දෝෂ හැසිරවීම

වලංගු දෝෂ ක්ෂේත්ර නාමය විසින් keyed ගැටලුව සමග 400 ආපසු:

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

DNS වෙනස්කම් පරීක්ෂා කිරීම

වෙනස් කිරීම ඔබේ ලියාපදිංචි නියෝජිතයා හෝ විසඳුම් කැච් අල්ලා ගැනීමට පෙර සජීවී බව තහවුරු කිරීමට VPS.org nameservers කෙලින්ම විමසන්න:

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