Eine Domain hinzufügen
Fügt dem Workspace eine Domain hinzu und gibt sie mit jedem DNS-Eintrag zurück, den sie braucht. Die Domain startet unverifiziert, mit aktiviertem catch-all, und verifiziert sich von selbst, sobald die Einträge im öffentlichen DNS antworten.
Führt den echten Aufruf gegen Ihren Workspace aus, mit Ihrem eigenen Schlüssel.
POST /domains
Fügt dem Workspace eine Domain hinzu und gibt sie mit jedem DNS-Eintrag zurück, den sie braucht. Die Domain startet unverifiziert, mit aktiviertem catch-all, und verifiziert sich von selbst, sobald die Einträge im öffentlichen DNS antworten.
Die Anfrage
Parameter
domainstringerforderlich- Eine reine Domain wie `acme.com` oder `mail.acme.com`. Sie wird getrimmt und kleingeschrieben, und ein internationaler Name wird in seiner ASCII-Form gespeichert. Ein Schema, ein Pfad oder eine Adresse wird abgelehnt.
Beispiel
Erfordert domains:write und einen Key ohne Adress- oder Domain-Beschränkung, weil eine neue Domain den ganzen Workspace erreicht.
curl -X POST "$OE/domains" -H "$AUTH" -H "Content-Type: application/json" \ -d '{ "domain": "acme.com" }'{ "object": "domain", "id": "b3e1f0a4-6c2d-4e8a-9f17-2d5c8a0b4e6f", "domain": "acme.com", "receiving": { "verified": false, "verifiedAt": null, "catchAll": true, "lastCheckedAt": "2026-09-25T10:00:02.000Z", "error": "No MX records yet. DNS changes can take a few minutes to spread." }, "sending": { "status": "no_identity", "canSend": false, "checkedAt": null, "error": null, "note": "Sending is not set up yet. Publish the signing record listed for this domain, and sending switches on shortly after it answers in DNS." }, "tracking": { "host": null, "status": "none", "active": false, "target": "", "record": null, "checkedAt": null, "verifiedAt": null, "error": null }, "storage": { "host": null, "status": "none", "active": false, "target": "", "record": null, "checkedAt": null, "verifiedAt": null, "error": null }, "addresses": [], "createdAt": "2026-09-25T10:00:00.000Z", "records": [ { "type": "MX", "name": "acme.com", "value": "inbound.mail.example", "priority": 10, "purpose": null, "status": "missing" }, { "type": "TXT", "name": "acme.com", "value": "v=spf1 include:_spf.openemail.uk ~all", "priority": null, "purpose": null, "status": "missing" }, { "type": "TXT", "name": "_openemail-challenge.acme.com", "value": "oe-verify=4f1c9a2b7e8d6053a1c4", "priority": null, "purpose": "Proves you own this domain", "status": "missing" } ], "dmarc": null}Das Beispiel kürzt records. Eine echte Antwort listet jeden Eintrag auf, den die Domain braucht, einschließlich DMARC, der Signatur-CNAMEs und der Return-Path-Einträge, und GET /domains/{id} beschreibt jedes Feld.
Veröffentlichen Sie die Einträge genau wie angegeben und rufen Sie dann POST /domains/{id}/verify auf oder warten Sie: Die Domain wird bei jedem Lesen und durch einen Hintergrunddurchlauf erneut geprüft, und domain.verified wird ausgelöst, sobald sie besteht.
Wann abgelehnt wird
409domain_already_added: Dieser Workspace-Inhaber hat die Domain bereits.409domain_claimed: Ein anderes Konto hat sie.409related_domain_owned: Eine übergeordnete Domain oder eine ihrer Subdomains gehört einem anderen Konto, daher kann sie nicht zwischen beiden aufgeteilt werden.409operator_domain: Die Domain gehört OpenEmail selbst.403domain_allowance_reached: Der Tarif fasst keine weiteren Domains. Die Meldung nennt den Tarif, der mehr fasst.422capability_unsupported: Der Key ist auf bestimmte Adressen oder Domains beschränkt.