Direct naar de inhoud

De DNSense API gebruiken met een API-sleutel

Dennis Postma20 oktober 2026
Leestijd4 minuten
Handleidingen

Maak een API-sleutel, roep de DNSense API aan vanuit een script en houd de sleutel veilig. Met curl-voorbeelden voor zones opvragen en een record toevoegen.

DNSense handleiding-cover: een API-sleutel die één keer wordt getoond

Hetzelfde record met de hand aan dertig zones toevoegen is werk dat een script beter doet. DNSense heeft daar een API voor, en met een API-sleutel logt een script in zonder je wachtwoord.

Wat een sleutel kan

Een sleutel werkt als jij. Hij bereikt de zones, domeinen en koppelingen van het team waarin je werkt en kan doen wat je rol toestaat. Wijzigingen ermee komen in de zonegeschiedenis en de auditlog, net als alle andere.

Eén grens: een sleutel kan je login, tweestapsverificatie en API-sleutels niet beheren. Daarvoor moet je zelf in de app zijn ingelogd, zodat een gelekte sleutel geen nieuwe sleutels kan maken en zichzelf niet kan verlengen.

Een sleutel aanmaken

  1. Open Account en zoek API keys.
  2. Klik op Create key en geef hem de naam van de plek waar hij draait, zoals CI pipeline.
  3. Kopieer het geheim. DNSense toont het één keer.

Bewaar het in je wachtwoordmanager of in de secret store van je CI. Zet het nooit in een repository.

Een verzoek doen

Stuur het geheim mee als Bearer-token. Vraag de zones op die je kunt bereiken:

curl -H "Authorization: Bearer <jouw sleutel>" https://api.dnsense.io/zones

Voeg een A-record toe aan een zone:

curl -X POST https://api.dnsense.io/zones/<zone-id>/records \
  -H "Authorization: Bearer <jouw sleutel>" \
  -H "Content-Type: application/json" \
  -d '{"record": {"name": "shop", "type": "A", "content": "198.51.100.7", "ttl": 3600}}'

DNSense zet de wijziging in de wachtrij en voert hem uit bij de provider die de zone beheert. Een lege of ontbrekende name is de apex van de zone. Vraagt je team om goedkeuring voor wijzigingen, dan wacht deze erop, net als vanuit de app.

De volledige lijst met endpoints en de velden per endpoint staat op https://api.dnsense.io/docs.

Houd sleutels klein en gescheiden

Maak één sleutel per taak. Als de pipeline wordt opgeheven, verwijder je zijn sleutel en gaat er niets anders stuk. De lijst toont wanneer elke sleutel is aangemaakt en voor het laatst gebruikt, dus een sleutel die al maanden niemand gebruikt, valt snel op.

  • Disable pauzeert een sleutel. Schakel hem weer in als je hem nodig hebt.
  • Rotate geeft een nieuw geheim uit en trekt het oude direct in. Doe dit als iemand die het geheim kende vertrekt en pas aan waar de sleutel wordt gebruikt.
  • Delete verwijdert de sleutel definitief.

Aanmaken, vernieuwen, uitschakelen en verwijderen komen allemaal in de auditlog.

Als een verzoek mislukt

  • 401: de sleutel is fout, uitgeschakeld of verwijderd. Controleer de header en de sleutellijst.
  • 403: je rol staat het niet toe. Een sleutel heeft nooit meer rechten dan jij.
  • 400: een veld ontbreekt of is ongeldig. De melding noemt het veld.