VPS.org API

REST API баримт бичиг

DNS удирдлагын API

Домэйнуудынхаа DNS бүс болон бүртгэлийг программчлалын дагуу удирдах.

Төгсгөлийн цэгүүд 4 төгсгөлийн цэг
Суурийн зам /api/v1/dns-zones
Баталгаажуулалт Нохойны тэмдэгт шаардлагатай

Тойм

DNS API нь DNS бүс болон бүртгэлийн бүрэн удирдлагыг олгодог. Бүх бүсүүд нь VPS.org-ийн нэрийн сервер дээр байрладаг бөгөөд автоматаар BIND9 бүсийн файл үүсгэж, байршуулдаг.

Тоон сервер

Түлхүүр шинж чанарууд

Баталгаажуулалт

Бүх DNS API хүсэлтүүд Bearer token аутентификаци шаардана. API token- ийг өөрийн дансны удирдлагын самбараас үүсгэх боломжтой. /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 үйлдлүүд нь UUID-ийг ашиглан DNS-ийн бичлэг дээр хийгддэг.

Байгаа үйлдлүүд

Асуултын параметрүүд (GET /api/v1/dns-records/)

Parameter Төрөл Тодорхойлолт
zone string Filter records by zone UUID
record_type string Filter by record type (A, AAAA, MX, etc.)

Жишээ: ТТЛ- ийг шинэчлэх

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

Онлайн хэрэгслүүдийг ашиглах