VPS.org API

Ҳуҷҷатгузории REST API

API-и идоракунии DNS

Минтақаҳо ва сабтҳои DNS-ро барои доменҳои худ ба таври барномавӣ идора кунед.

Нуқтаҳои ниҳоӣ 4 нуқтаи ниҳоӣ
Роҳи асосӣ /api/v1/dns-zones
Тасдиқ Иҷозатномаи ношир лозим аст

Шарҳи умумӣ

DNS API идоракунии пурраи минтақаҳои DNS ва сабтҳоро таъмин мекунад. Ҳамаи минтақаҳо дар серверҳои номҳои VPS.org бо эҷоди худкори файли минтақаи BIND9 ва ҷойгиркунӣ ҷойгир карда шудаанд.

Номи сервер

Хусусиятҳои калидӣ

Тасдиқ

Ҳамаи дархостҳои API- и DNS аслшиносии нишонаи соҳибро талаб мекунанд. Нишонаҳои API- ро аз панели ҳисоб дар /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

Сохтани минтақаи 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 дар минтақа

Иловакунии қайдоти 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 (дастрасии бевосита)

Оператсияҳои CRUD-и пурра дар қайдҳои DNS-и инфиродӣ бо истифодаи UUID-и сабт.

Амалиёти дастрас

Параметрҳои пурсиш (барои 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

Истифодаи асбобҳои онлайн