VPS.org API

REST API دستاویزی

DNS مینجمنٹ API

اپنے ڈومینز کے لیے پروگرام کے مطابق DNS زونز اور ریکارڈز کا نظم کریں۔

اینڈ پوائنٹس 4 اختتامی نکات
بنیاد کا راستہ /api/v1/dns-zones
تصدیق بیئر ٹوکن ضروری ہے

جائزہ

ڈی این ایس API ڈی این ایس زونز اور ریکارڈز کا مکمل انتظام فراہم کرتا ہے. تمام زونز خودکار BIND9 زون فائیل پیداوار اور نشر کے ساتھ VPS.org کے معتبر نام سرور پر ہوسٹ کیے جاتے ہیں.

نام سرور

کلیدی خصوصیات

تصدیق

تمام DNS API درخواستوں کو Bearer Token توثیق کی ضرورت ہے۔ آپ کے اکاؤنٹ کی ڈیش بورڈ سے API Tokens پیدا کریں /account/developers/ نیچے دیئے گئے اجازتوں کے ساتھ:

مثال

Authorization: Bearer vps_abc123def456...
اہم: API ٹوکنز پیدائش کے دوران صرف ایک بار دکھائے جاتے ہیں انہیں محفوظ طور پر محفوظ رکھیں اگر آپ کو ایک ٹوکن کھو جائے تو آپ کو ایک نیا پیدا کرنا ہوگا
حاصل کریں۔ /api/v1/dns-zones/

تمام DNS زونز کی فہرست بنائیں

توثیق شدہ صارف کے مالک تمام DNS زونز کی صفحہ بندی ہوئی فہرست واپس لیں۔ ڈومین نام کے مطابق فلٹرنگ کی حمایت کرتا ہے۔

سوال کے پیرامیٹرز

پرائمری قسم درکار ہے۔ وضاحت
domain string نہیں Filter zones by exact domain name (e.g., example.com)

مثال کی درخواست

cURL
Python
JavaScript
curl -X GET "https://admin.vps.org/api/v1/dns-zones/" \
  -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)
print(response.json())
const response = await fetch('https://admin.vps.org/api/v1/dns-zones/', {
  headers: {'Authorization': 'Bearer YOUR_API_TOKEN'}
});

const zones = await response.json();
console.log(zones);

مثال کا جواب

[
  {
    "uuid": "abc123-def456-ghi789",
    "domain": "example.com",
    "created_at": "2024-01-15T10:30:00Z",
    "record_count": 12
  },
  {
    "uuid": "xyz789-uvw456-rst123",
    "domain": "myapp.io",
    "created_at": "2024-06-20T14:15:00Z",
    "record_count": 8
  }
]

رسپانس فیلڈز

شعبہ قسم وضاحت
uuid string Unique zone identifier (used in API requests)
domain string Domain name for this DNS zone
created_at datetime Zone creation timestamp (ISO 8601 format)
record_count integer Total number of DNS records in this zone

رسپانس اسٹیٹس کوڈز

200 Successfully retrieved DNS zones list
401 Unauthorized - Invalid or missing API token
403 Forbidden - Token lacks dns:list permission
حاصل کریں۔ /api/v1/dns-zones/{uuid}/

DNS زون تفصیلات حاصل کریں

ایک مخصوص DNS زون کے بارے میں تفصیلی معلومات حاصل کریں، تمام ریکارڈز شامل ہیں.

راستے کے پیرامیٹرز

پرائمری قسم درکار ہے۔ وضاحت
uuid string جی ہاں Unique zone identifier

مثال کا جواب

{
  "uuid": "abc123-def456-ghi789",
  "domain": "example.com",
  "created_at": "2024-01-15T10:30:00Z",
  "record_count": 5,
  "records": [
    {
      "uuid": "rec-001",
      "record_type": "A",
      "name": "@",
      "value": "192.0.2.1",
      "ttl": 3600,
      "priority": null,
      "created_at": "2024-01-15T10:30:00Z"
    },
    {
      "uuid": "rec-002",
      "record_type": "MX",
      "name": "@",
      "value": "mail.example.com",
      "ttl": 3600,
      "priority": 10,
      "created_at": "2024-01-15T10:32:00Z"
    }
  ]
}

رسپانس اسٹیٹس کوڈز

200 Successfully retrieved zone details
404 Zone not found or not owned by user
پوسٹ /api/v1/dns-zones/

DNS زون بنائیں

ڈومین کے لئے نیا ڈی این ایس زون بنائیں. زون فوراً VPS.org نام سرور پر پھیلا دیا جائے گا.

جسمانی پیرامیٹرز کی درخواست کریں۔

پرائمری قسم درکار ہے۔ وضاحت
domain string جی ہاں Domain name (e.g., example.com)

مثال کی درخواست

cURL
Python
JavaScript
curl -X POST "https://admin.vps.org/api/v1/dns-zones/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"domain": "newdomain.com"}'
import requests

url = "https://admin.vps.org/api/v1/dns-zones/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}
data = {"domain": "newdomain.com"}

response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch('https://admin.vps.org/api/v1/dns-zones/', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({domain: 'newdomain.com'})
});

const zone = await response.json();
console.log(zone);

مثال کا جواب

{
  "uuid": "new-zone-uuid",
  "domain": "newdomain.com",
  "created_at": "2026-01-18T16:45:00Z",
  "record_count": 0,
  "records": []
}

رسپانس اسٹیٹس کوڈز

201 DNS zone created successfully
400 Bad Request - Invalid domain name or zone already exists
403 Forbidden - Token lacks dns:create permission
حذف کریں۔ /api/v1/dns-zones/{uuid}/

DNS زون حذف کریں

ڈی این ایس زون اور اس سے متعلق تمام ریکارڈوں کو ہمیشہ کے لیے حذف کریں۔ یہ عمل واپس نہیں لیا جاسکتا۔

راستے کے پیرامیٹرز

پرائمری قسم درکار ہے۔ وضاحت
uuid string جی ہاں Unique zone identifier

رسپانس اسٹیٹس کوڈز

204 Zone deleted successfully (no response body)
403 Forbidden - Token lacks dns:delete permission
404 Zone not found
حاصل کریں۔ /api/v1/dns-zones/{uuid}/records/

زون میں DNS ریکارڈس کی فہرست

ایک مخصوص زون کے لئے تمام DNS ریکارڈس حاصل کریں (نسٹڈ روٹ).

راستے کے پیرامیٹرز

پرائمری قسم درکار ہے۔ وضاحت
uuid string جی ہاں Zone UUID

مثال کی درخواست

curl -X GET "https://admin.vps.org/api/v1/dns-zones/{uuid}/records/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

مثال کا جواب

[
  {
    "uuid": "rec-001",
    "record_type": "A",
    "name": "@",
    "value": "192.0.2.1",
    "ttl": 3600,
    "priority": null,
    "created_at": "2024-01-15T10:30:00Z"
  },
  {
    "uuid": "rec-002",
    "record_type": "MX",
    "name": "@",
    "value": "mail.example.com",
    "ttl": 3600,
    "priority": 10,
    "created_at": "2024-01-15T10:32:00Z"
  }
]
پوسٹ /api/v1/dns-zones/{uuid}/records/

زون میں DNS ریکارڈ بناؤ

ایک مخصوص زون (نسٹڈ روٹ) میں ایک نیا ڈی این ایس ریکارڈ شامل کریں.

جسمانی پیرامیٹرز کی درخواست کریں۔

پرائمری قسم درکار ہے۔ وضاحت
record_type string جی ہاں Record type: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA
name string جی ہاں Record name (@ for root, subdomain, or FQDN)
value string جی ہاں Record value (IP address, hostname, text)
ttl integer No Time to live in seconds (default: 3600)
priority integer For MX/SRV Priority (required for MX and SRV records)

مثال کی درخواست

cURL
Python
curl -X POST "https://admin.vps.org/api/v1/dns-zones/{uuid}/records/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "record_type": "A",
    "name": "www",
    "value": "192.0.2.1",
    "ttl": 3600
  }'
import requests

url = f"https://admin.vps.org/api/v1/dns-zones/{zone_uuid}/records/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}
data = {
    "record_type": "A",
    "name": "www",
    "value": "192.0.2.1",
    "ttl": 3600
}

response = requests.post(url, headers=headers, json=data)
print(response.json())

رسپانس اسٹیٹس کوڈز

201 DNS record created successfully
400 Bad Request - Invalid parameters or validation error (e.g., MX record missing priority)
GET PUT PATCH DELETE /api/v1/dns-records/{uuid}/

DNS ریکارڈس کا انتظام کریں (براہ راست رسائی)

UUID ریکارڈ استعمال کر کے انفرادی DNS ریکارڈز پر مکمل CRUD آپریشنز.

دستیاب آپریشنز

سوالات کے پیرامیٹر (GET /api/v1/dns-records/ کے لیے)

Parameter قسم وضاحت
zone string Filter records by zone UUID
record_type string Filter by record type (A, AAAA, MX, etc.)

مثال: ریکارڈ کا TTL اپڈیٹ کریں

curl -X PATCH "https://admin.vps.org/api/v1/dns-records/{rec-uuid}/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"ttl": 1800}'

Supported DNS Record Types

قسم Purpose Example Value Priority Required
A Maps domain to IPv4 address 192.0.2.1 نہیں
AAAA Maps domain to IPv6 address 2001:0db8::1 نہیں
CNAME Creates alias to another domain example.com نہیں
MX Mail server for domain mail.example.com جی ہاں
TXT Text record (SPF, DKIM, verification) v=spf1 include:_spf.google.com ~all نہیں
NS Nameserver delegation ns1.example.com نہیں
SRV Service location record 10 5060 sip.example.com جی ہاں
CAA Certificate authority authorization 0 issue "letsencrypt.org" نہیں

بہترین عمل

TTL تنظیم

عام نمونے

محفوظ

غلطی ہینڈلنگ

عام غلطیاں

اسٹیٹس کوڈ غلطی حل
400 ناممکن ڈومین نام ڈی این ایس نامی کنوانشنز کے مطابق ڈومین کو یقینی بناؤ
400 MX ریکارڈ کو ترجیح کی ضرورت ہے شامل کریں priority MX اور SRV ریکارڈز کے لیے فیلڈ
401 ناصحیح API ٹوکن ٹوکن فارمیٹ چکیں (اس سے شروع ہونا چاہیے vps_)
403 اجازت گم ہوگئی لازمی کے ساتھ نیا ٹوکن پیدا کریں dns:* اجازتیں
404 زون/ریکارڈ نہیں ملا UUID کی تصدیق کریں اور اس بات کی یقین کریں کہ وسائل آپ کے اکاؤنٹ کا تعلق رکھتا ہے

مثالی غلطی کا جواب

{
  "detail": "MX records require a priority value",
  "error_code": "validation_error",
  "field": "priority"
}

DNS تبدیلیوں کا امتحان

ریکارڈ پراپگنڈیشن کی تصدیق کریں

# Query A record
dig example.com A

# Query specific nameserver
dig @ns1.vps.org example.com

# Query MX records
dig example.com MX

# Check all records
dig example.com ANY

آن لائن اوزار استعمال کريں