VPS.org API

PENDEKEZO LA MAFUTA

API ya Usimamizi wa DNS

Dhibiti maeneo ya DNS na rekodi kiprogramu kwa vikoa vyako.

Sehemu za Mwisho Sehemu 4 za mwisho
Njia ya Msingi /api/v1/dns-zones
Uthibitishaji Dubu Ahitajiwa

Muhtasari

Maeneo yote yana watu VPS.org walio na jina maarufu kwa ajili ya ujenzi wa BAND9 katika ukanda wa dunia wa BIND9 na vikosi vya kijeshi.

Majina Yasiyo na Maana

Sehemu Kuu

Uthibitishaji

Kila kitu mnachoomba kinahitaji cheti cha kuthibitisha usahihi wa chembe za urithi. /account/developers/ kwa ruhusa zifuatazo:

Mfano

Authorization: Bearer vps_abc123def456...
Jambo la maana: Na ukijipuuza nao, basi wao hawatakudhuru kitu.
PATA /api/v1/dns-zones/

Orodhesha Maeneo Yote ya DNS

Andika orodha ya kanda zote za DNS zilizomilikiwa na mtumiaji aliyethibitishwa.

Vigezo vya Hoja

Penseli Aina Inahitajika Maelezo
domain string Hapana Filter zones by exact domain name (e.g., example.com)

Ombi la Mfano

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

Jibu la Mfano

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

Sehemu za Majibu

Field Aina Maelezo
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

Misimbo ya Hali ya Majibu

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

Tafuta Habari Zaidi Katika Eneo la DNS

Toa habari kamili kuhusu eneo fulani hususa la DNS, kutia ndani rekodi zote.

Vigezo vya Njia

Penseli Aina Inahitajika Maelezo
uuid string Ndiyo Unique zone identifier

Jibu la Mfano

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

Misimbo ya Hali ya Majibu

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

Create DNS Zone

Andaa eneo jipya la DNS kwa ajili ya makazi. Eneo hilo litatumiwa mara moja na watu VPS.org wanaohifadhi majina.

Omba Vigezo vya Mwili

Penseli Aina Inahitajika Maelezo
domain string Ndiyo Domain name (e.g., example.com)

Ombi la Mfano

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

Jibu la Mfano

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

Misimbo ya Hali ya Majibu

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

Delette DNS Zone

Kufuta kabisa eneo la DNS na rekodi zote zinazohusika.

Vigezo vya Njia

Penseli Aina Inahitajika Maelezo
uuid string Ndiyo Unique zone identifier

Misimbo ya Hali ya Majibu

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

Orodha ya Matukio ya DNS huko Zone

Chunguza rekodi zote za DNS kwa ajili ya eneo fulani hususa (lililipotumiwa kwa njia maalumu).

Vigezo vya Njia

Penseli Aina Inahitajika Maelezo
uuid string Ndiyo Zone UUID

Ombi la Mfano

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

Jibu la Mfano

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

Create DNS in Zone

Ongeza rekodi mpya ya DNS kwenye eneo fulani hususa (lililipotumiwa kwa njia fulani).

Omba Vigezo vya Mwili

Penseli Aina Inahitajika Maelezo
record_type string Ndiyo Record type: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA
name string Ndiyo Record name (@ for root, subdomain, or FQDN)
value string Ndiyo 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)

Ombi la Mfano

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

Misimbo ya Hali ya Majibu

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}/

Retection DNS Records (Kinumo cha Mfumo wa Maeneo ya Mbali)

UKOMBOLEO kamili kwenye rekodi moja - moja za DNS kwa kutumia rekodi ya UUID.

Utendaji Upatikanao

Query Paramitas (kwa ajili ya kuikomboa /api/v1/dns-records/)

Parameter Aina Maelezo
zone string Filter records by zone UUID
record_type string Filter by record type (A, AAAA, MX, etc.)

Mfano: Habari Mpya Kuhusu Rekodi

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

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

Mazoea Bora

TTL Confession

Maumbo ya Kawaida

Usalama

Kushughulikia Vibaya

Makosa ya Kawaida

Nambari ya Hali Stock label Suluhisho
400 Jina la eneo hilo Utawala wa bima wafuatia mikusanyiko ya DNS yenye kutaja majina
400 Rekodi ya MX inahitaji kutangulizwa Ambatanisha priority uwanja kwa ajili ya rekodi za MX na SRV
401 Ishara ya APII Muundo wa kadi ya hundi (lazima uanze na vps_)
403 keyboard label Mbegu mpya ya jenea yenye kuhitajiwa dns:* Ruhusa
404 Zone/record haikupatikana Verify UUID na kuhakikisha rasilimali ni za akaunti yako

Itikio Lisilofaa la Mfano

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

Kutahini Mabadiliko ya DNS

Rekodi Yenye Kusadikisha Yatoa Unabii

# 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

Kutumia Vifaa vya Intaneti