VPS.org API

РЕСТЕПНА АПИ документација

API за управљање DNS-ом

Програмски управљајте DNS зонама и записима за своје домене.

Крајње тачке 4 крајње тачке
Основна путања /api/v1/dns-zones
Аутентификација неопходно носач токена

Преглед

ДНС АПИ обезбеђује пуно управљање ДНС зонама и записима. Све зоне су домаћине на ауторитетним серверима имена VPS.org са аутоматским стварањем и разм› јештањем фајлова у зони БИНД9.

Инфраструктура сервера имена

Могућности кључева

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

Сви захт› јеви ДНС АПИ захтевају аутентификацију беареровог токена. Генерирајте АПИ токене из табле налога на /account/developers/ са с‹ љедећим дозволама:

Пример

Authorization: Bearer vps_abc123def456...
Важно: АПИ жетони се приказују само једном током стварања. Чувајте их безбедно. Ако изгубите жетон, морате да направите нови.
ДОБИЈ /api/v1/dns-zones/

Листа свих 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}/

Детаљи ДНС зоне

Добавља детаљне информације о одређеној ДНС зони, укључујући и све записе.

Параметри путање

Параметар Тип Обавезно Опис
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/

Направи ДНС зону

Направите нову ДНС зону за домен. Зона ће одмах бити размештена на 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}/

Обриши ДНС зону

Трајно бришите ДНС зону и све придружене записе. Ова радња не може бити опозвана.

Параметри путање

Параметар Тип Обавезно Опис
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/

Наброји ДНС записе у зони

Добавља све ДНС записе за одређену зону (наведену руту).

Параметри путање

Параметар Тип Обавезно Опис
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/

Направи ДНС запис у зони

Додај нови ДНС запис у одређену зону (наведени пут).

Захтевајте параметре тела

Параметар Тип Обавезно Опис
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}/

Управљај ДНС записима (директан приступ)

Потпуни ЦРУД операције на појединачним ДНС записима користећи запис УУИД.

доступне операције

Параметри упита (за ГЕТ / api/ v1/ dns- записе /)

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" Не.

Најбоље праксе

Подешавање ТТЛ‐ а

Уобичајени обрасци

Безб› иједност

Рашчлањивање грешака

Уобичајене грешке

Код статуса Грешка решење
400 Неисправно име домена Осигурајте да домен прати конвенције имена ДНС‐ а
400 ~@ ¦МИкс¦MX¦ запис захт› ијева приоритет Укључи priority поље за МКС и СРВ записе
401 Неисправан АПИ знак Пров› јери формат жетона (мора почети са vps_)
403 Недостаје дозвола Стварање новог жетона са неопходним dns:* дозволе
404 Зона/снимак није нађен Пров› јерите УУИД и осигурајте да ресурс припада вашем налогу

Пример одговора на грешку

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

Проба изм› јена ДНС‐ а

Пров› јери повећање записа

# 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

Коришћење онлајн алатки