Ga naar inhoud

DNS

OAuth-scopes: lezen vereist dns:read, schrijven vereist dns:write.

DNS-zones

DNS-zones weergeven

Dit is niet account-scoped en retourneert ALLE dns-zones waartoe deze gebruiker toegang heeft.

GET /api/dns_zones

Params (optioneel)
  • page: Integer | paginanummer (standaard: 1)
  • per_page: Integer | records per pagina (standaard: 50, max: 100)
Geretourneerde params
  • dns_zone: Array
    • id: String
    • name: String
    • dnssec: Boolean
    • dnssec_data: Object (nil als dnssec = false)
    • created_at: DateTime
    • updated_at: DateTime
    • account: Object
      • id: String
      • name: String

Een zone bekijken

GET /api/dns_zones/:id

Geretourneerde params
  • dns_zone: Object
    • id: String
    • name: String
    • dnssec: Boolean
    • dnssec_data: Object (nil als dnssec = false)
      • Enabled: Boolean
      • DsRecord: String
      • Digest: String
      • DigestType: String
      • Algorithm: Integer
      • PublicKey: String
      • KeyTag: Integer
      • Flags: Integer
      • DsConfigured: Boolean
    • created_at: DateTime
    • updated_at: DateTime
    • account: Object
      • id: String
      • name: String
    • records: Array
      • id: String
      • record_type: Integer
      • ttl: Integer
      • value: String
      • name: String
      • priority: Integer
      • port: Integer
      • flags: String
      • record_tag: String
      • comment: String
      • site: Object | als een pull zone (record_type == 7)
        • id: String
        • name: String
        • created_at: DateTime
        • updated_at: DateTime
        • primary_domain: String
        • location: String
        • package: String
      • created_at: DateTime
      • updated_at: DateTime
    • nameservers: Array

DNSSEC in-/uitschakelen

PATCH /api/dns_zones/:id

Params
  • dns_zone: Object
    • dnssec: Boolean

Retourneert hetzelfde als show.


Een DNS-zone aanmaken

Account-scope vereist; voeg de X-Auth-Account-header toe met je Account ID — het account van de zone komt uit de account-context van het verzoek. Alleen name wordt geaccepteerd.

POST /api/dns_zones

Params
  • dns_zone: Object
    • name: String
Fouten
  • 400 {"errors":["Missing X-Auth-Account"]} | header afwezig
  • 403 {"errors":["Not Authorized"]} | geen bewerkrechten op het account
  • 422 | zone ongeldig (zie errors-array)

Retourneert hetzelfde als show.


Zone verwijderen

DELETE /api/dns_zones/:id

Retourneert 202.


DNS-querystatistieken

Statistieken over geserveerde queries voor een Bunny DNS-zone, opgemaakt voor grafieken.

GET /api/dns_zones/:id/dns_stats

Params (optioneel)
  • date_from: String | ISO8601-datetime (standaard: 14 dagen geleden)
  • date_to: String | ISO8601-datetime (standaard: nu)
Geretourneerde params
  • total: Integer | totaal aantal geserveerde queries in het venster
  • series: Array<Object> | [{ name: String, data: [[unix_ms, count], ...] }]
  • date_from: String (ISO8601)
  • date_to: String (ISO8601)
Fouten
  • 502 Bad Gateway | zone nog niet ingericht, of upstream Bunny-verzoek mislukt

DNS-records

Beschikbare recordtypes

Het veld record_type is een integer. De beschikbare types zijn:

Waarde Type
0 A (standaard)
1 AAAA
2 CNAME
3 TXT
4 MX
5 Redirect
6 Flatten
7 PullZone
8 SRV
9 CAA
10 PTR
11 Script
12 NS
13 SVCB
14 HTTPS
15 TLSA (alleen-lezen; beheerd door automatisering)

Alle records weergeven

Wordt ook geretourneerd bij het bekijken van een zone.

GET /api/dns_zones/:zone_id/records

Geretourneerde params
  • dns_records: Array
    • id: String
    • record_type: Integer
    • ttl: Integer
    • value: String
    • name: String
    • priority: Integer
    • weight: Integer
    • port: Integer
    • flags: String
    • record_tag: String
    • comment: String
    • site: Object | als een pull zone (record_type == 7)
      • id: String
      • name: String
      • created_at: DateTime
      • updated_at: DateTime
      • primary_domain: String
      • location: String
      • package: String
    • created_at: DateTime
    • updated_at: DateTime

Record bekijken

GET /api/dns_zones/:zone_id/records/:id

Retourneert één dns_record-object met dezelfde velden als een lijstvermelding.

Record aanmaken

POST /api/dns_zones/:zone_id/records

Bij succes wordt het aangemaakte record gerenderd (zelfde vorm als show) met HTTP 200 (niet 201). Ongeldig record → 422 (zie errors-array).

Record bijwerken

PATCH /api/dns_zones/:zone_id/records/:id

name en record_type kunnen niet worden gewijzigd. Retourneert 202.

Params
  • dns_record: Object
    • ttl: Integer
    • value: String
    • priority: Integer
    • weight: Integer
    • port: Integer
    • flags: Integer
    • record_tag: String
    • comment: String

Record verwijderen

DELETE /api/dns_zones/:zone_id/records/:id

Retourneert 202.