ドキュメント本文へスキップ
API

1 つのアドレスとしてサインインする

アドレス独自のパスワードがあれば、そのアドレスとして OpenEmail にサインインし、そのアドレスのメールだけを読んだり送ったりできます。

GET/domains/{id}/addresses/{addressId}/login

3件の呼び出しをワークスペースに対して実行します。

GET /domains/{id}/addresses/{addressId}/login

アドレス独自のパスワードがあれば、そのアドレスとして OpenEmail にサインインし、そのアドレスのメールだけを読んだり送ったりできます。

サインインを読み取る

パスワードの設定と同じく、members:write が必要です。アドレスにパスワードがない場合、login は null です。

curl
curl "$OE/domains/b3e1f0a4-6c2d-4e8a-9f17-2d5c8a0b4e6f/addresses/5f0c2b7e-8d41-4a6f-b913-7e2a0c4d9b18/login" -H "$AUTH"
レスポンス
{  "object": "address_login",  "addressId": "5f0c2b7e-8d41-4a6f-b913-7e2a0c4d9b18",  "address": "[email protected]",  "login": {    "userId": "W2xR8tLq5nYc3vKp9mBd7fHs1aJe4gZu",    "name": "Invoices",    "createdAt": "2026-09-20T09:30:00.000Z",    "createdBy": "Ana Lima",    "passwordSetAt": "2026-09-28T14:05:00.000Z",    "passwordSetBy": "Ana Lima",    "lastSignedInAt": "2026-10-01T07:58:12.000Z"  }}

特定のアドレスやドメインに限定されたキーは 422 capability_unsupported で拒否され、メンバーの代わりに動くアプリが扱えるのは、そのメンバーが届くアドレスのサインインだけです。

パスワードを設定する

members:write が必要です。PUT /domains/{id}/addresses/{addressId}/login に { password } を送ると、アドレスにパスワードを設定するか、既存のパスワードを置き換えます。created は、そのサインインが新しいかどうかを示します。

curl
curl -X PUT "$OE/domains/b3e1f0a4-6c2d-4e8a-9f17-2d5c8a0b4e6f/addresses/5f0c2b7e-8d41-4a6f-b913-7e2a0c4d9b18/login" -H "$AUTH" \  -H "Content-Type: application/json" \  -d '{ "password": "'"$INBOX_PASSWORD"'" }'
レスポンス
{  "object": "address_login",  "addressId": "5f0c2b7e-8d41-4a6f-b913-7e2a0c4d9b18",  "address": "[email protected]",  "login": {    "userId": "W2xR8tLq5nYc3vKp9mBd7fHs1aJe4gZu",    "name": "Invoices",    "createdAt": "2026-09-20T09:30:00.000Z",    "createdBy": "Ana Lima",    "passwordSetAt": "2026-09-28T14:05:00.000Z",    "passwordSetBy": "Ana Lima",    "lastSignedInAt": "2026-10-01T07:58:12.000Z"  },  "created": false}

パスワードは 8 文字以上で、小文字、大文字、数字、特殊文字をそれぞれ 1 つ以上含む必要があります。満たさない場合、呼び出しは password に対する 422 invalid_parameter になります。OpenEmail はパスワードを誰にも送らないので、ご自身で渡してください。

パスワードを置き換えると、古いパスワードでサインインしたすべての人がサインアウトされ、その人たちが追加した転送先は削除されます。

すでに OpenEmail アカウントがサインインに使っているアドレスは 409 account_exists で、オフになっているアドレスは 409 address_unavailable で拒否されます。プランにチームメンバーが含まれないワークスペースでは、最初のパスワードが 403 plan_required で拒否されます。

キーやアプリは、1 つのアドレスのサインインが使う可能性のあるすべてのスコープを持っている必要があり、持っていなければ 403 insufficient_authority で拒否されます。

OAuth アクセストークンでこの呼び出しを行うには確認コードが必要です。アプリが直近 60 分以内にコードを確認するまで、呼び出しは 403 step_up_required を返し、何も変更しません。API キーが求められることはありません。コードの求め方と確認方法は「認証」ページにあります。

サインインを削除する

members:write が必要です。DELETE /domains/{id}/addresses/{addressId}/login はパスワードを取り上げ、それを使っていたすべての人をサインアウトさせます。アドレスとそのメールは残ります。

curl
curl -X DELETE "$OE/domains/b3e1f0a4-6c2d-4e8a-9f17-2d5c8a0b4e6f/addresses/5f0c2b7e-8d41-4a6f-b913-7e2a0c4d9b18/login" -H "$AUTH"
レスポンス
{  "object": "address_login",  "addressId": "5f0c2b7e-8d41-4a6f-b913-7e2a0c4d9b18",  "address": "[email protected]",  "deleted": true}

パスワードのないアドレスは 404 になります。

リファレンス