Domains & DNS¶
Domain management¶
List domains¶
Create domain (with Auto-Detect)¶
POST /api/v1/domains
{
"name": "example.com",
"customer_id": 1,
"dns_provider_id": null // Optional — wird auto-detected
}
When creating, the DNS provider is automatically detected via NS records. If a suitable provider is deposited with the customer, it is automatically assigned.
DNS status Lifecycle¶
Domain erstellt
├── Provider zugewiesen → "managed"
├── Provider erkannt, keine Credentials → "credentials_missing"
└── Kein Provider erkannt → "manual"
↓
Background-Worker prueft alle 5 Min
↓
A-Record zeigt auf xynap IP → "verified" + status="active"
| Status | Importance |
|---|---|
manual |
No provider, manual DNS setup noetig |
managed |
Provider assigned, DNS is automatically managed |
credentials_missing |
Provider recognized but no API-Credentials |
pending_verification |
DNA is denounced |
verified |
DNS correct, domain active |
error |
DNS errors |
Retrieve DNS Instructions¶
Shows which DNS records must be set and prueft live the status:
{
"domain": "example.com",
"dns_status": "manual",
"detected_provider": "hetzner",
"required_records": [
{"type": "A", "name": "@", "content": "46.4.96.105", "status": "ok"},
{"type": "AAAA", "name": "@", "content": "2a01:4f8:140:829d::2", "status": "unknown"},
{"type": "A", "name": "www", "content": "46.4.96.105", "status": "missing"}
],
"verification_status": "1 von 3 Records korrekt"
}
Verify DNS¶
Prueft the A record and setsdns_statustoverifiedif correct.
DNS records¶
# Records einer Domain
GET /api/v1/domains/{id}/records
# Record erstellen
POST /api/v1/domains/{id}/records
{"type": "A", "name": "sub", "content": "1.2.3.4", "ttl": 3600}
# Record aktualisieren
PUT /api/v1/domains/{id}/records/{record_id}
{"content": "5.6.7.8"}
# Record loeschen (nur nicht-managed)
DELETE /api/v1/domains/{id}/records/{record_id}
DNS provider¶
Provider types¶
| Type | API adapter | Credentials |
|---|---|---|
hetzner |
Yes | api_token |
ionos |
Yes | prefix,secret |
cloudflare |
Detection | - |
inwx |
Detection | - |
manual |
No | - |
Services¶
# Provider auflisten
GET /api/v1/dns-providers?customer_id=1
# Provider erstellen
POST /api/v1/dns-providers
{
"customer_id": 1,
"name": "Hetzner Hauptaccount",
"type": "hetzner",
"credentials": {"api_token": "xxx"},
"is_default": true
}
# Verbindung testen
POST /api/v1/dns-providers/{id}/test
# Zonen abrufen
GET /api/v1/dns-providers/{id}/zones
Auto-Detect¶
The platform detects 10 DNS providers using the name server:
Hetzner, IONOS, Cloudflare, INWX, Strato, Netcup, GoDaddy, Namecheap, OVH, Gandi
When detecting an understated provider (Hetzner/IONOS) and existing credentials
the domain is automatically marked asmanaged.