VPS.org API

REST API sənədləşdirilməsi

DNS İdarəetmə API-si

Domenləriniz üçün DNS zonalarını və qeydlərini proqramlı şəkildə idarə edin.

Son Nöqtələr 4 son nöqtə
Əsas Yol /api/v1/dns-zones
Doğrulama Göndərən Tokeni Gərəklidir

Baxış

DNS API DNS zonaları və qeydləri tam idarə edir. Bütün zonalar VPS.org-in etibarlı ad vericilərində avtomat BIND9 zona faylının yaradılması və işə salınması ilə yerləşir.

Ad Vericiləri

Xüsusiyyətlər

Doğrulama

Bütün DNS API tələbləri Bearer token tanınması tələb edir. Hesabınızdakı dashboard-dan API tokenləri buraya göndərin /account/developers/ Aşağıdakı icazələrlə:

Məsələ

Authorization: Bearer vps_abc123def456...
Mühüm: API tokenləri yaradılarkən yalnız bir dəfə göstərilir. Onları təhlükəsiz saxlayın. Əgər bir token itirsəniz, yenisini yaratmalısınız.
AL /api/v1/dns-zones/

Bütün DNS Zonalarını Siyahıya Alın

Tanınan istifadəçiyə aid bütün DNS zonalarının səhifələnmiş siyahısını əldə et. Domen adı ilə filtrləməni dəstəkləyir.

Sorğu Parametrləri

Parametrlər Növü Tələb olunur İzahat
domain string _Yox Filter zones by exact domain name (e.g., example.com)

Nümunə Sorğu

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);

Nümunə Cavab

[
  {
    "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
  }
]

Cavab Sahələri

Sahə Növü İzahat
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

Cavab Status Kodları

200 Successfully retrieved DNS zones list
401 Unauthorized - Invalid or missing API token
403 Forbidden - Token lacks dns:list permission
AL /api/v1/dns-zones/{uuid}/

DNS Bölgəsi Məlumatlarını Al

Bütün qeydlər daxil olmaqla müəyyən bir DNS zonası haqqında ətraflı məlumat əldə et.

Yol Parametrləri

Parametrlər Növü Tələb olunur İzahat
uuid string Bəli Unique zone identifier

Nümunə Cavab

{
  "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"
    }
  ]
}

Cavab Status Kodları

200 Successfully retrieved zone details
404 Zone not found or not owned by user
POST /api/v1/dns-zones/

DNS Zonası Yarat

Bir domen üçün yeni bir DNS zonası yaradın. Zona dərhal VPS.org ad vericisinə işə salınır.

Əsas Parametrləri Sorğu

Parametrlər Növü Tələb olunur İzahat
domain string Bəli Domain name (e.g., example.com)

Nümunə Sorğu

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);

Nümunə Cavab

{
  "uuid": "new-zone-uuid",
  "domain": "newdomain.com",
  "created_at": "2026-01-18T16:45:00Z",
  "record_count": 0,
  "records": []
}

Cavab Status Kodları

201 DNS zone created successfully
400 Bad Request - Invalid domain name or zone already exists
403 Forbidden - Token lacks dns:create permission
SİLİN /api/v1/dns-zones/{uuid}/

DNS Zonasını Sil

DNS zonasını və bütün əlaqəli qeydləri daimi olaraq sil. Bu əməliyyat geri alına bilməz.

Yol Parametrləri

Parametrlər Növü Tələb olunur İzahat
uuid string Bəli Unique zone identifier

Cavab Status Kodları

204 Zone deleted successfully (no response body)
403 Forbidden - Token lacks dns:delete permission
404 Zone not found
AL /api/v1/dns-zones/{uuid}/records/

DNS qeydlərini zonada göstər

Xüsusi bir zona üçün bütün DNS qeydlərini (gövdələşmiş marşrut) əldə et.

Yol Parametrləri

Parametrlər Növü Tələb olunur İzahat
uuid string Bəli Zone UUID

Nümunə Sorğu

curl -X GET "https://admin.vps.org/api/v1/dns-zones/{uuid}/records/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Nümunə Cavab

[
  {
    "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"
  }
]
POST /api/v1/dns-zones/{uuid}/records/

DNS Qeydini Yarat

Xüsusi bir zonaya yeni bir DNS qeydi əlavə et (gövdələşmiş marşrut).

Əsas Parametrləri Sorğu

Parametrlər Növü Tələb olunur İzahat
record_type string Bəli Record type: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA
name string Bəli Record name (@ for root, subdomain, or FQDN)
value string Bəli 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)

Nümunə Sorğu

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())

Cavab Status Kodları

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 qeydlərini idarə et (düzgün çıxış)

UUID qeydi istifadə edərək fərdi DNS qeydləri üzərində tam CRUD əməliyyatları.

Mövcud əməliyyatlar

Sorğu Parametrləri (GET /api/v1/dns-records/ üçün)

Parameter Növü İzahat
zone string Filter records by zone UUID
record_type string Filter by record type (A, AAAA, MX, etc.)

Məsələn: TTL-ni yenilə

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

Növü Purpose Example Value Priority Required
A Maps domain to IPv4 address 192.0.2.1 _Yox
AAAA Maps domain to IPv6 address 2001:0db8::1 _Yox
CNAME Creates alias to another domain example.com _Yox
MX Mail server for domain mail.example.com Bəli
TXT Text record (SPF, DKIM, verification) v=spf1 include:_spf.google.com ~all _Yox
NS Nameserver delegation ns1.example.com _Yox
SRV Service location record 10 5060 sip.example.com Bəli
CAA Certificate authority authorization 0 issue "letsencrypt.org" _Yox

Ən Yaxşı Əməliyyatlar

TTL Quraşdırması

Əlaqələndir

Təhlükəsizlik

Xəta İdarəetmə

Ən çox rast gəlinən xətalar

Status Kodu Xəta Çözüm
400 Səhv domen adı Domenin DNS adlandırma qaydalarına uyğunluğunu yoxla
400 MX qeydi prioritet tələb edir Daxil Et priority MX və SRV qeydləri üçün sahələr
401 Səhv API tokeni Token formatını yoxla (bu ilə başlamalı) vps_)
403 İmkan yoxdur Yeni tokeni tələb olunanla yarat dns:* _İstifadəçi icazələri
404 Bölgə/rekord tapılmadı UUID-ni yoxla və resursun hesabınıza aid olduğunu yoxla

Xəta cavabı nümunəsi

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

DNS dəyişiklikləri sınanır

Qeyd Yayılmasını Yoxla

# 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

İnternet vasitələri