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 գոտիների մասին, ներառյալ բոլոր գրանցումները։

Ուղիի պարամետրեր

Փարամետրի ցուցակ Տեսակ Պարտադիր Ապրանքանիշ
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" Ոչ

Լավագույն գործելակերպ

Տեղադրություն

Հիմնական նկարազարդումներ

Անվտանգություն

Սխալի կառավարում

Հիմնական սխալներ

Կարգավիճակի կոդ Սխալ Լուծում
400 Չափազանց երկար Գտնել DNS անունների սկզբունքները
400 MX գրառումը պահանջում է առաջնահերթություն ներառել priority MX և SRV գրանցումների դաշտ
401 Չափազանց հին API token Չափման նշանի ձևաչափը (պետք է սկսվի 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

Օգտագործել առցանց գործիքները