VPS.org API

Constellation name (optional)

DNS-bestuur-API

Bestuur DNS-sones en -rekords programmaties vir jou domeine.

Eindpunte 4 eindpunte
Basispad /api/v1/dns-zones
Verifikasie Beer Token benodig

Oorsig

The DNS API provides full management of DNS zones and records. All zones are hosted on VPS.org's authoritative nameservers with automatic BIND9 zone file generation and deployment.

Name bediener Infrastruktuur

Sleutelbronne

Verifikasie

Alle Dns API versoeke vereis Beer-bewys geldigheidsverklaring. Genereer API seins van jou rekening paneelbord na /account/developers/ met die volgende regte:

Voorbeeld

Authorization: Bearer vps_abc123def456...
Belangrik: As jy 'n teken verloor, moet jy 'n nuwe een voortbring.
KRY /api/v1/dns-zones/

Lys alle DNS-sones

Onttrek 'n lys van alle Dns sones wat deur die verifieerde gebruiker besit word. Ondersteune filtrering van domein naam.

Navraagparameters

Parameter Tipe Vereis Beskrywing
domain string Nee Filter zones by exact domain name (e.g., example.com)

Voorbeeldversoek

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

Voorbeeldantwoord

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

Antwoordvelde

Veld Tipe Beskrywing
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

Reaksiestatuskodes

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

Kry DNS-sonebesonderhede

Onttrek breedvoerige inligting oor'n spesifieke DNS - sone, insluitende al die verslae.

Padparameters

Parameter Tipe Vereis Beskrywing
uuid string Ja Unique zone identifier

Voorbeeldantwoord

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

Reaksiestatuskodes

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

Skep Dns Zone

Create a new DNS zone for a domain. The zone will be immediately deployed to VPS.org nameservers.

Versoekliggaamparameters

Parameter Tipe Vereis Beskrywing
domain string Ja Domain name (e.g., example.com)

Voorbeeldversoek

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

Voorbeeldantwoord

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

Reaksiestatuskodes

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

Skrap DNS-sone

Skrap permanent 'n DNS-sone en alle geassosieerde rekords. Hierdie aksie kan nie ongedaan gemaak word nie.

Padparameters

Parameter Tipe Vereis Beskrywing
uuid string Ja Unique zone identifier

Reaksiestatuskodes

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

Lys Dns opneem in Zone

Onttrek alle DNS - verslae vir'n spesifieke sone (neste roete).

Padparameters

Parameter Tipe Vereis Beskrywing
uuid string Ja Zone UUID

Voorbeeldversoek

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

Voorbeeldantwoord

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

Skep Dns- opneem in Zone

Voeg'n nuwe DNS - verslag by'n spesifieke sone (neusroete).

Versoekliggaamparameters

Parameter Tipe Vereis Beskrywing
record_type string Ja Record type: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA
name string Ja Record name (@ for root, subdomain, or FQDN)
value string Ja 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)

Voorbeeldversoek

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

Reaksiestatuskodes

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

Bestuur DNS-rekeninge (Direkte toegang)

VolOEDe operasies op individuele DNS - verslae deur middel van rekord UUID.

Beskikbare operasies

Navraag Parameters (vir KRY / api/v1/dns-records/)

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

Voorbeeld: Dateer op TTL van'n rekord

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

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

Beste gebruike

Comment

Algemene patrone

Sekuriteit

Fout met hantering van lêer: %s

Algemene foute

Statuskode Fout Silikon
400 Ongeldige domeinnaam Maak seker dat die domein ná Dns met die naam van byeenkomste gehou word
400 MX-rekord vereis voorkeur Sluit in priority veld vir MX en SRV-rekords
401 Ongeldige API-bewys Kyk vir nuwe pos in hierdie formaat vps_)
403 Ontbrekende toestemming Genereer nuwe teken met benodig dns:* regte
404 Zone/rcord nie gevind nie Bevestig UUID en verseker hulpbron behoort aan u rekening

Voorbeeld Fout antwoord

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

Toets DNS - veranderinge

Bevestig Opneem Propagasie

# 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

Deur middel van Internetgereedskap