VPS.org API

Tahirin-kevitra REST API

API Fitantanana DNS

Tantano amin'ny alalan'ny fandaharana ireo faritra sy firaketana DNS ho an'ny sehatrao.

Teboka farany Teboka farany 4
Lalana fototra /api/v1/dns-zones
fanamarinana Tsy maintsy misy ny token'ny mpitondra

Topimaso

Ny API DNS dia manome fitantanana feno ny faritra sy ny raki-tatitra DNS. Ny faritra rehetra dia mipetraka amin'ny mpizara anarana VPS.org manana fahefana miaraka amin'ny famoronana sy fampidirana mandeha ho azy ny rakitra BIND9.

Nameserver Infrastructure

Famaritana fototra

fanamarinana

Mila fanamarinana ny token'ny mpitondra ny fangatahana API DNS rehetra. Mamorona ny token'ny API avy amin'ny tabilao'ny kaontinao ao amin'ny /account/developers/ miaraka amin'ireto alalana manaraka ireto:

Ohatra

Authorization: Bearer vps_abc123def456...
Zava-dehibe: Indray mandeha ihany no aseho mandritra ny famoronana ireo token'ny API. Ataovy azo antoka ny fitahirizana azy ireny. Raha very ny iray amin'ireo token, dia tsy maintsy mamorona iray vaovao ianao.
ALAO /api/v1/dns-zones/

Tanisao ny Faritra DNS rehetra

Maka lisitra misy pejy ahitana ireo faritra DNS rehetra an'ilay mpampiasa voamarina. Mandray an-tànana ny fanivanana araka ny anaran'ny domena.

Paramètres de requête

Mpizahaky ny macro Karazana ilaina Fanoritsoritana
domain string Tsy misy Filter zones by exact domain name (e.g., example.com)

Ohatra amin'ny fangatahana

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

Ohatra amin'ny Valiny

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

Saha Valiny

Field Karazana Fanoritsoritana
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

Kaody momba ny satan'ny valiny

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

Maka ny antsipirian'ny faritra DNS

Maka ny lazan'ny antsipiriany momba ny faritra DNS iray, anisan'izany ny lahatahiry rehetra.

Masontsivana momba ny lalana

Mpizahaky ny macro Karazana ilaina Fanoritsoritana
uuid string ENY Unique zone identifier

Ohatra amin'ny Valiny

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

Kaody momba ny satan'ny valiny

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

Hamorona faritra DNS

Hamorona faritra DNS vaovao ho an'ny domain. Hampitomboina avy hatrany amin'ny mpizara anarana VPS.org io faritra io.

Fangatahana masontsivana momba ny vatana

Mpizahaky ny macro Karazana ilaina Fanoritsoritana
domain string ENY Domain name (e.g., example.com)

Ohatra amin'ny fangatahana

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

Ohatra amin'ny Valiny

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

Kaody momba ny satan'ny valiny

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

Fafao ny faritra DNS

Manafoana tanteraka ny faritra DNS iray sy ireo raki-tatitra mifandraika aminy rehetra. Tsy azo atao ny manafoana io asa io.

Masontsivana momba ny lalana

Mpizahaky ny macro Karazana ilaina Fanoritsoritana
uuid string ENY Unique zone identifier

Kaody momba ny satan'ny valiny

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

Lisitry ny raki-dns anatin'ny faritra

Maka ireo raki-drafitra DNS rehetra ho an'ny faritra voafaritra (lalam-pifandraisana).

Masontsivana momba ny lalana

Mpizahaky ny macro Karazana ilaina Fanoritsoritana
uuid string ENY Zone UUID

Ohatra amin'ny fangatahana

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

Ohatra amin'ny Valiny

[
  {
    "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/

Hamorona raki-drakitra DNS ao anatin'ny faritra

Mampiditra raki-drafitra DNS vaovao ho an'ny faritra voafaritra (lalam-pifandraisana mifamatotra).

Fangatahana masontsivana momba ny vatana

Mpizahaky ny macro Karazana ilaina Fanoritsoritana
record_type string ENY Record type: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA
name string ENY Record name (@ for root, subdomain, or FQDN)
value string ENY 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)

Ohatra amin'ny fangatahana

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

Kaody momba ny satan'ny valiny

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

Manatanteraka ny rakitry ny DNS (Fampiasana mivantana)

Ny fiteny malagasy dia mampiasa ny soratra malagasy sy ny soratra latina.

Asa misy

Mpizondron'ny fangatahana (ho an'ny GET /api/v1/dns-records/)

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

Ohatra: Fanavaozana ny TTL-n'ny tahirin-kevitra iray

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

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

Fomba fanao tsara indrindra

Fandrindrana ny TTL

Fitambarana mahazatra

Fiarovana

Fifehezana ny tsy fetezana

Tsy fetezana mahazatra

Kaody momba ny sata Tsy fetezana Fanesorana
400 Anaran'ny domena diso Manaiky fa manaraka ny fitsipiky ny fanomezana anarana DNS ny domain
400 Mila laharam-pahamehana ny rakitry ny MX Ampidiro priority sehatr'asa ho an'ny takelaka kelin'ny MX sy SRV
401 Token API diso Lamin'ny token'ny fitsapana (tsy maintsy manomboka amin'ny vps_)
403 Tsy misy alalana Mamorona token vaovao misy zavatra ilaina dns:* _Fahazoan-dàlana:
404 Tsy hita ny faritra/fidirana Manaporofo ny UUID ary miantoka fa an'ny kaontinao ilay ressource

Ohatra amin'ny valin'ny tsy fetezana

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

Manandrana ny fanovana DNS

Fanamarinana ny fiparitahan'ny raki-tahiriny

# 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

Fampiasàna fitaovana an-tserasera