API-Dokumentation - Domain-API für Reseller: REST statt EPP

Domains prüfen, registrieren, transferieren und DNS verwalten — mit JSON über HTTPS und einem API-Key im Header. Keine EPP-Bibliothek, keine dauerhafte TLS-Session, keine XML-Schemata.

Grundlagen

Alle Endpunkte liegen unter https://domain-reseller-api.de/api/v1. Du authentifizierst dich mit deinem API-Key als Bearer-Token; den Key erzeugst du nach der kostenlosen Registrierung im Dashboard.

Authorization: Bearer drapi_xxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxx

Jede Antwort ist JSON mit einem success-Flag, den Nutzdaten in data und bei Fehlern einer Meldung in error, dazu passende HTTP-Statuscodes. Das Rate-Limit liegt bei 1000 Requests pro Minute, für Domain-Checks bei 500 pro Minute.

Sandbox

Mit dem Header x-sandbox: true oder dem Pfad-Präfix /api/v1/sandbox/… läuft jeder Request in der Sandbox: keine echten Registrierungen, keine Abbuchungen, keine DNS-Änderungen. So testest du deine Integration komplett, bevor sie live geht.

Beispiele

Domain-Check

Ein GET liefert Verfügbarkeit, Premium-Status und die Netto-Preise für Registrierung, Verlängerung und Transfer.

curl -H "Authorization: Bearer $DRAPI_KEY" \
  https://domain-reseller-api.de/api/v1/domains/check/example.de

Domain-Transfer

Domain und Auth-Code vom bisherigen Anbieter übergeben — den Abschluss meldet der Webhook domain.transferred.

curl -X POST -H "Authorization: Bearer $DRAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain": "example.com", "authCode": "Xy7!pQ2#", "contacts": {"owner": "HANDLE-123"}}' \
  https://domain-reseller-api.de/api/v1/domains/transfer

DNS-Record anlegen

Records legst du einzeln an; @ steht für die Zone selbst.

curl -X POST -H "Authorization: Bearer $DRAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type": "A", "name": "@", "content": "203.0.113.10", "ttl": 3600}' \
  https://domain-reseller-api.de/api/v1/dns/example.de/records

Webhook registrieren

Eine URL, beliebig viele Ereignisse.

curl -X POST -H "Authorization: Bearer $DRAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/hooks/domains", "events": ["domain.registered", "domain.expiry_warning"]}' \
  https://domain-reseller-api.de/api/v1/webhooks

Endpunkte

Die Übersicht zeigt die wichtigsten Endpunkte, Pfade relativ zu /api/v1. Alle Felder, Antwortschemata und Fehlercodes stehen in der OpenAPI-Referenz.

Domains

Verfügbarkeit prüfen, registrieren, transferieren, verlängern und löschen — der komplette Lifecycle einer Domain.

GET/domains/check/:domainVerfügbarkeit, Premium-Status und Preis einer Domain
POST/domains/checkBulk-Check für bis zu 50 Domains pro Request
GET/domains/suggestFreie Domainvorschläge zu einem Suchbegriff über alle TLDs
POST/domains/registerDomain registrieren, optional mit Laufzeit und Nameservern
POST/domains/transferDomain mit Auth-Code zu uns transferieren
GET/domainsAlle Domains deines Accounts auflisten
GET/domains/:domainDetails, Status und Ablaufdatum einer Domain
PATCH/domains/:domainNameserver und Einstellungen ändern
PATCH/domains/:domain/contactsInhaber-, Admin-, Tech- und Billing-Kontakt ändern
GET/domains/:domain/authcodeAuth-Code für einen Transfer zu einem anderen Anbieter
GET/domains/:domain/dnssecDNSSEC-Status abfragen
PUT/domains/:domain/dnssecDNSSEC-Schlüssel setzen
DELETE/domains/:domainDomain löschen oder zum Laufzeitende kündigen
POST/domains/:domain/restoreGelöschte Domain aus der Redemption-Phase wiederherstellen
POST/domains/:domain/tradeInhaberwechsel einer .eu-Domain (Trade)
POST/domains/:domain/hold.de-Domain auf Hold setzen oder freigeben

Kontakte (Handles)

Inhaber- und Admin-Daten legst du einmal als Handle an und verwendest sie bei beliebig vielen Domains. Die Organisation ist nur bei den Typen organization und role Pflicht — Privatpersonen (person) legst du ohne an, die Hausnummer ist optional. Per PATCH entfernst du beide mit einem leeren String.

GET/contactsAlle Handles auflisten
POST/contactsHandle für Person oder Organisation anlegen
GET/contacts/:handleHandle abrufen
PATCH/contacts/:handleHandle aktualisieren
DELETE/contacts/:handleNicht mehr verwendetes Handle löschen

Managed DNS

DNS-Zonen auf unseren Anycast-Nameservern — für eigene Domains oder als eigenständige Zone für Domains bei anderen Anbietern.

POST/dns/:domain/enableManaged DNS für eine Domain aktivieren
GET/dns/:domainAlle Records einer Zone abrufen
POST/dns/:domain/recordsRecord anlegen (A, AAAA, CNAME, MX, TXT, SRV, CAA …)
PATCH/dns/:domain/records/:recordIdRecord ändern
DELETE/dns/:domain/records/:recordIdRecord löschen
GET/dns/:domain/exportZone als Zonefile exportieren
POST/dns/:domain/importZonefile importieren
POST/dns/zonesEigenständige Zone für eine externe Domain anlegen

Webhooks

Statt den Status zu pollen, bekommst du einen HTTP-Request, sobald etwas passiert.

GET/webhooks/eventsAlle verfügbaren Ereignisse
POST/webhooksWebhook-URL für ausgewählte Ereignisse registrieren
PATCH/webhooks/:idWebhook ändern
POST/webhooks/:id/testTest-Event senden
GET/webhooks/:id/logsZustellprotokoll einsehen

Preise

Öffentliche Endpunkte ohne API-Key — ideal, um deine eigene Preisliste automatisch zu aktualisieren.

GET/pricingAktuelle Netto-Preise aller TLDs oder einer TLD (?tld=de)
GET/pricing/changesPreisänderungen der letzten Zeit

Webhook-Ereignisse

  • domain.registered — Domain erfolgreich registriert
  • domain.transferred — Transfer abgeschlossen
  • domain.transfer_failed — Transfer fehlgeschlagen
  • domain.expiry_warning — 30, 7 und 1 Tag vor Ablauf
  • domain.expired — Domain abgelaufen
  • domain.deleted — Domain gelöscht
  • domain.restored — Domain wiederhergestellt
  • domain.updated — Nameserver, DNSSEC oder Kontakte geändert
  • domain.traded — Inhaberwechsel einer .eu-Domain abgeschlossen
  • domain.held / domain.unheld — .de-Domain auf Hold gesetzt bzw. freigegeben
  • wallet.low_balance — Guthaben unter dem Schwellwert
  • wallet.deposit — Guthaben aufgeladen

Preise per API

Der Domain-Check liefert den Preis immer mit. Eine Übersicht aller Endungen findest du in der Preisliste, zum Beispiel für .de, .com, .eu, .net, .org, .at.

API-Key in unter zwei Minuten

Kostenlos registrieren, ohne Grundgebühr und ohne Mindestabnahme.