DNS অঞ্চল তৈরি করুন এবং তাদের রেকর্ড পরিচালনা করুন। ns1.vps.org, ns2.vps.org এবং ns3.vps.org দ্বারা অঞ্চল পরিসেবা করা হয়।
একটি জোন একটি ডোমেইনের জন্য রেকর্ড রাখে। API-র মাধ্যমে আপনি যে কোন পরিবর্তন করেন তা VPS.org নেম সার্ভারে সরাসরি প্রবেশ করানো হয়। এই জোন থেকে একটি ডোমেইন পরিষেবা দিতে, আপনার রেজিস্ট্রার-এ এর নেম সার্ভার ns1.vps.org, ns2.vps.org এবং ns3.vps.org-এ নির্ধারণ করুন।
পরিবর্তন এক ধাপেই সংরক্ষণ এবং প্রকাশ করা হয়: যদি নাম সার্ভার পরিবর্তন প্রত্যাখ্যান করে, অনুরোধটি ৫০২ ফিরিয়ে দেয় এবং কিছুই সংরক্ষণ করা হয় না। অন্য অ্যাকাউন্ট দ্বারা পরিচালিত ডোমেইনের জন্য একটি জোন তৈরি করা যাবে না, অন্য অ্যাকাউন্টের জোনের পিতামাতা বা সন্তান, অথবা একটি VPS.org সংরক্ষিত নাম।
অনুমতি প্রয়োজন:
dns:list (GET), dns:create (POST), dns:update (PUT, PATCH, sync), dns:delete (DELETE), dns:*
আপনার অঞ্চলগুলি ফিরিয়ে দেয়, নতুন প্রথম, প্রতি পৃষ্ঠা ২৫ । রেকর্ড এখানে অন্তর্ভুক্ত করা হয় না; তাদের পেতে একটি একক অঞ্চল আনা হয় ।
| পরামিতি | আদর্শ | প্রয়োজনীয় | বর্ণনা |
|---|---|---|---|
domain |
string | না | শুধুমাত্র এই ডোমেইন নামের সাথে জোন ফিরিয়ে দাও |
page |
integer | না | পৃষ্ঠার সংখ্যা, ১ থেকে আরম্ভ |
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 টোকেন অনুপস্থিত অথবা অবৈধ, অথবা টোকেনের প্রয়োজনীয় অনুমতি অনুপস্থিত |
একটি জোন তৈরি করে এবং এটি প্রকাশ করে। জোনটি 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 | অপ্রয়োজনীয় অথবা অবৈধ ডোমেইন নাম |
একটি রেকর্ড অ্যারে- এ একটি অঞ্চলের সব রেকর্ডের সাথে ফিরিয়ে দেয় । উত্তরের আকৃতি উপরের তৈরি করার উত্তরের মতই ।
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 জোনে প্রত্যেক রেকর্ড একটি সাধারণ অ্যারে (পেজ করা নয়) হিসাবে ফিরিয়ে দেয়, ধরন এবং নাম দ্বারা সজ্জিত। 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 -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 রেকর্ডের জন্য অগ্রাধিকার, অন্যথা null |
created_at |
date | শুধুমাত্র নির্মাণের তারিখ (Y-MM-DD), সময় ছাড়া |
| 200 | GET: জোনের রেকর্ড |
| 201 | POST: রেকর্ড তৈরি করা হয়েছে |
| 400 | বৈধতা পরীক্ষায় ত্রুটি, উদাহরণস্বরূপ অজানা রেকর্ড ধরন, একটি ttl অনুপস্থিত, অথবা অগ্রাধিকার ছাড়া একটি MX অথবা SRV রেকর্ড |
| 404 | পাওয়া যায়নি, অথবা এটি অন্য অ্যাকাউন্টের অন্তর্ভুক্ত |
জোন এবং এর সমস্ত রেকর্ড পুনরায় নেম সার্ভারে প্রেরণ করে । রেকর্ড পরিবর্তন স্বয়ংক্রিয়ভাবে প্রকাশ করা হয়, কিন্তু প্রকাশ করা সবচেয়ে ভাল চেষ্টা এবং ব্যর্থতা মূল অনুরোধ ব্যর্থ হয় না, তাই এটি ব্যবহার করো যখন একটি পরিবর্তন ডিএনএস অনুসন্ধান দেখায় না । কোন অনুরোধের শরীরের প্রয়োজন নেই ।
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 আপনার সমস্ত জোনের রেকর্ড ফিরিয়ে দেয়, প্রতি পৃষ্ঠাতে ২৫টি, ডোমেইন, ধরন এবং নাম অনুযায়ী সাজানো। POST জোন রেকর্ডের শেষ বিন্দুর মত একটি রেকর্ড তৈরি করে, কিন্তু বডিতে জোনকে zone_uuid হিসেবে নেয়।
| পরামিতি | আদর্শ | প্রয়োজনীয় | বর্ণনা |
|---|---|---|---|
zone |
string | না | শুধুমাত্র এই uuid সহ জোনের রেকর্ড |
record_type |
string | না | শুধুমাত্র এই ধরনের রেকর্ড, উদাহরণস্বরূপ MX (case insensitive) |
page |
integer | না | পৃষ্ঠার সংখ্যা, ১ থেকে আরম্ভ |
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: সফলতা |
| 201 | POST: রেকর্ড তৈরি করা হয়েছে |
| 400 | বৈধতা পরীক্ষায় ত্রুটি, অথবা zone_uuid অনুপস্থিত অথবা আপনার জোনের মধ্যে একটি নয় |
GET একটি রেকর্ড ফিরিয়ে দেয়। PUT এটি প্রতিস্থাপন করে এবং record_type, name, value এবং ttl প্রয়োজন হয়। PATCH শুধুমাত্র আপনি পাঠানো ক্ষেত্র পরিবর্তন করে। DELETE রেকর্ড অপসারণ করে এবং কোন বডি ছাড়া ২০৪ ফিরিয়ে দেয়। পরিবর্তনগুলো অবিলম্বে প্রকাশিত হয়। 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 | GET, PUT অথবা PATCH: রেকর্ড |
| 204 | মুছে ফেলা হয়েছে । উত্তরে কোন বডি নেই । |
| 400 | বৈধতা পরীক্ষায় ত্রুটি |
| 403 | রেকর্ডটি একটি সিস্টেম রেকর্ড, অথবা টোকেনে প্রয়োজনীয় অনুমতি অনুপস্থিত |
| 404 | পাওয়া যায়নি, অথবা এটি অন্য অ্যাকাউন্টের অন্তর্ভুক্ত |
Validation errors return 400 with the problem keyed by field name:
{
"priority": ["MX records require a priority value"]
}
আপনার রেজিস্ট্রার ডেলিগেটেশন বা রিসোলার ক্যাশে পেছনে ফেলার আগে পরিবর্তনটি সরাসরি নিশ্চিত করার জন্য VPS.org নেম সার্ভারকে সরাসরি অনুসন্ধান করুন:
dig @ns1.vps.org example.com A
dig @ns2.vps.org example.com MX
dig @ns3.vps.org www.example.com