API
ドメインを取得する
そのドメイン上に存在するアドレスと、それぞれが有効かどうかを追加で返します。
GETapi.openemail.uk/domains/{id}
実際の呼び出しを、ご自身のキーで自分のワークスペースに対して実行します。
GET /domains/{id}
そのドメイン上に存在するアドレスと、それぞれが有効かどうかを追加で返します。
例
domains:read が必要です。
curl "$OE/domains/b3e1f0a4-6c2d-4e8a-9f17-2d5c8a0b4e6f" -H "$AUTH"{ "object": "domain", "id": "b3e1f0a4-6c2d-4e8a-9f17-2d5c8a0b4e6f", "domain": "acme.com", "receiving": { "verified": true, "verifiedAt": "2026-08-14T10:02:00.000Z", "catchAll": false, "lastCheckedAt": "2026-08-29T06:00:00.000Z", "error": null }, "sending": { "status": "verified", "canSend": true, "checkedAt": "2026-08-29T06:00:00.000Z", "error": null, "note": "Mail from this domain is signed and can be sent." }, "tracking": { "host": "links.acme.com", "status": "active", "active": true, "target": "oelinks3f9a1c7e2b8d4a60.edge.openemail.uk", "record": { "type": "CNAME", "name": "links.acme.com", "value": "oelinks3f9a1c7e2b8d4a60.edge.openemail.uk" }, "checkedAt": "2026-08-29T06:10:00.000Z", "verifiedAt": "2026-08-29T06:10:00.000Z", "error": null }, "storage": { "host": "files.acme.com", "status": "active", "active": true, "target": "oefiles81c40d6b2f7e9a35.edge.openemail.uk", "record": { "type": "CNAME", "name": "files.acme.com", "value": "oefiles81c40d6b2f7e9a35.edge.openemail.uk" }, "checkedAt": "2026-08-29T06:10:00.000Z", "verifiedAt": "2026-08-29T06:10:00.000Z", "error": null }, "addresses": [ { "address": "[email protected]", "enabled": true }, { "address": "[email protected]", "enabled": false } ], "createdAt": "2026-08-14T09:55:11.000Z"}無効化されたアドレスは配信できなくなります。そのアドレス宛のメールは SMTP の時点で拒否されるため、送信者には沈黙ではなくバウンスが返ります。
ここではまだできないこと
未リリースこのリソースが受け付ける書き込みは、カスタムトラッキングドメインとカスタムファイルドメインの 2 つで、どちらも PATCH /domains/{id} から行います。ドメイン設定のそれ以外の部分は、今のところアプリ専用です。
- ドメインの追加と、公開すべき DNS レコードの読み取り。
GETはドメインが未検証であることは報告しますが、どのレコードが欠けているかは報告しません。 receivingやsendingの再チェックの実行。どちらにもエンドポイントはなく、必要もありません。1 時間ごとのスイープが未検証のドメインをすべて自動で再チェックするため、レコードを公開して放っておけばそれで完了です。GET /domainsをポーリングするのではなくdomain.verifiedとdomain.sending_changedを購読すれば、どちらかが変わった瞬間に通知されます。PATCH /domains/{id}がチェックするのはトラッキングドメインとファイルドメインだけです。- アドレスの作成、無効化、ルーティング。共有はすでに実装されています。
POST /members/{userId}/addressesが既存のアドレスをmemberまたはviewerレベルの相手に渡します。このリソースでできないのは、アドレスを新たに存在させることです。
これらはすべてアプリの設定 → ドメインにあります。足りないのは機能ではなく API 面です。