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_xxxxxxxxxxxxxxxxxxxxxxJede 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.deDomain-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/transferDNS-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/recordsWebhook 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/webhooksEndpunkte
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/:domain | Verfügbarkeit, Premium-Status und Preis einer Domain |
| POST | /domains/check | Bulk-Check für bis zu 50 Domains pro Request |
| GET | /domains/suggest | Freie Domainvorschläge zu einem Suchbegriff über alle TLDs |
| POST | /domains/register | Domain registrieren, optional mit Laufzeit und Nameservern |
| POST | /domains/transfer | Domain mit Auth-Code zu uns transferieren |
| GET | /domains | Alle Domains deines Accounts auflisten |
| GET | /domains/:domain | Details, Status und Ablaufdatum einer Domain |
| PATCH | /domains/:domain | Nameserver und Einstellungen ändern |
| PATCH | /domains/:domain/contacts | Inhaber-, Admin-, Tech- und Billing-Kontakt ändern |
| GET | /domains/:domain/authcode | Auth-Code für einen Transfer zu einem anderen Anbieter |
| GET | /domains/:domain/dnssec | DNSSEC-Status abfragen |
| PUT | /domains/:domain/dnssec | DNSSEC-Schlüssel setzen |
| DELETE | /domains/:domain | Domain löschen oder zum Laufzeitende kündigen |
| POST | /domains/:domain/restore | Gelöschte Domain aus der Redemption-Phase wiederherstellen |
| POST | /domains/:domain/trade | Inhaberwechsel 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 | /contacts | Alle Handles auflisten |
| POST | /contacts | Handle für Person oder Organisation anlegen |
| GET | /contacts/:handle | Handle abrufen |
| PATCH | /contacts/:handle | Handle aktualisieren |
| DELETE | /contacts/:handle | Nicht 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/enable | Managed DNS für eine Domain aktivieren |
| GET | /dns/:domain | Alle Records einer Zone abrufen |
| POST | /dns/:domain/records | Record anlegen (A, AAAA, CNAME, MX, TXT, SRV, CAA …) |
| PATCH | /dns/:domain/records/:recordId | Record ändern |
| DELETE | /dns/:domain/records/:recordId | Record löschen |
| GET | /dns/:domain/export | Zone als Zonefile exportieren |
| POST | /dns/:domain/import | Zonefile importieren |
| POST | /dns/zones | Eigenständige Zone für eine externe Domain anlegen |
Webhooks
Statt den Status zu pollen, bekommst du einen HTTP-Request, sobald etwas passiert.
| GET | /webhooks/events | Alle verfügbaren Ereignisse |
| POST | /webhooks | Webhook-URL für ausgewählte Ereignisse registrieren |
| PATCH | /webhooks/:id | Webhook ändern |
| POST | /webhooks/:id/test | Test-Event senden |
| GET | /webhooks/:id/logs | Zustellprotokoll einsehen |
Preise
Öffentliche Endpunkte ohne API-Key — ideal, um deine eigene Preisliste automatisch zu aktualisieren.
| GET | /pricing | Aktuelle Netto-Preise aller TLDs oder einer TLD (?tld=de) |
| GET | /pricing/changes | Preisänderungen der letzten Zeit |
Webhook-Ereignisse
domain.registered— Domain erfolgreich registriertdomain.transferred— Transfer abgeschlossendomain.transfer_failed— Transfer fehlgeschlagendomain.expiry_warning— 30, 7 und 1 Tag vor Ablaufdomain.expired— Domain abgelaufendomain.deleted— Domain gelöschtdomain.restored— Domain wiederhergestelltdomain.updated— Nameserver, DNSSEC oder Kontakte geändertdomain.traded— Inhaberwechsel einer .eu-Domain abgeschlossendomain.held / domain.unheld— .de-Domain auf Hold gesetzt bzw. freigegebenwallet.low_balance— Guthaben unter dem Schwellwertwallet.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.