문서로 건너뛰기
API

주소 하나로 로그인

주소에 자체 비밀번호가 있으면 누군가 그 주소로 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자 이상이어야 하고 소문자, 대문자, 숫자, 특수 문자를 하나씩 포함해야 하며, 그렇지 않으면 호출은 password에 대한 422 invalid_parameter입니다. OpenEmail은 비밀번호를 아무에게도 보내지 않으므로 직접 전달하세요.

비밀번호를 교체하면 이전 비밀번호로 로그인한 모든 사람이 로그아웃되고, 그들이 추가한 전달 대상이 제거됩니다.

OpenEmail 계정이 이미 로그인에 쓰는 주소는 409 account_exists로, 꺼져 있는 주소는 409 address_unavailable로 거부됩니다. 요금제에 팀 멤버가 포함되지 않은 워크스페이스에서는 첫 비밀번호가 403 plan_required로 거부됩니다.

키나 앱은 주소 하나의 로그인이 쓸 수 있는 모든 스코프를 보유해야 하며, 그렇지 않으면 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입니다.

레퍼런스