VPS.org API

Документация

DNS башкаруу API'си

Домендериңиз үчүн DNS зоналарын жана жазууларын программалык түрдө башкарыңыз.

Аяктоо чекиттери 4 акыркы чекит
Базалык жол /api/v1/dns-zones
Аутентификация Токен керек

Жалпы маалымат

DNS API DNS зоналарын жана жазууларды толук башкарууну камсыз кылат. Бардык зоналар VPS.org авторитеттүү ысым серверлеринде автоматтык BIND9 зона файлдарын генерациялоо жана жайгаштыруу менен жайгаштырылат.

Сервердин аты

Ачкыч өзгөчөлүктөрү

Аутентификация

Бардык DNS API суроолору үчүн Bearer token аутентификациясы керек. API tokens from your account dashboard at /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 жазууларын башкаруу (түз кирүү)

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

Интернет аспаптарын колдонуу