VPS.org API

REST API دستاویز

ڊي اين ايس مئنيجمينٽ API

پنهنجي ڊومينز لاءِ پروگرام جي لحاظ کان DNS زونز ۽ رڪارڊز کي منظم ڪريو.

آخري نقطا 4 اينڊ پوائنٽس
بنيادي رستو /api/v1/dns-zones
تصديق بيئرر ٽوڪنز جي ضرورت آھي

جائزو

DNS API DNS علائقن ۽ رڪارڊن جو مڪمل انتظام فراهم ڪري ٿو. سڀ علائقا VPS.org جي معتبر نيم سرورز تي خودڪار BIND9 علائقي جي فائل پيدا ڪرڻ ۽ استعمال سان ميزبان ڪيا ويا آهن.

نيم سرورز

خاصيتون

تصديق

سڀني DNS API درخواستن کي بيئرر ٽوڪين تصديق جي ضرورت آھي. API ٽوڪين کي پنھنجي اڪائونٽ ڊش بورڊ تان پيدا ڪريو /account/developers/ ھيءُ اجازتون:

مثال

Authorization: Bearer vps_abc123def456...
Important: 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 زون ٺاهيو

ڊومين لاءِ نئون 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 زون حذف ڪريو

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 نااهل ڊومين جو نالو يقيني بڻايو ته ڊومين DNS لقبن جي معاهدن کي مڃي
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

آن لائن وسيلن جو استعمال