メンバーを削除
DELETE /fapi/v1/organizations/{org_id}/memberships/{membership_id} · 環境のサインインホストから呼び出します
組織からメンバーを削除します。メンバーシップは removed になり、ユーザーのこの組織に対するセッションとトークンは取り消されます。ユーザーのアカウントや他の組織には影響しません。
Origin が完全一致する認証済みユーザーの __Host-idp_session Cookie、または自社アプリのフロント API アクセストークン(Authorization: DPoP <token> と DPoP 証明書を使用します。フロント API アクセストークンを参照してください)が必要です。ユーザーは組織のアクティブなメンバーであり、idp_members:remove 権限を持っている必要があります。メンバーではないユーザーには 404 not_found を返します。権限を持たないメンバーには 403 insufficient_permissions を返します。
メンバーの削除は機密性の高い操作です。ユーザーは過去 5 分以内にサインインしている必要があります。そうでない場合は、WWW-Authenticate に max_age=300 を指定した 401 step_up_required を返します。maxAge: 300 を指定してユーザーに再度サインインしてもらい、リクエストを再試行してください。この確認は、組織の情報を読み取る前に行われます。
- ここで自分のメンバーシップを削除することはできません(
403 insufficient_permissions)。 - 特権ロールを持つメンバーを削除できるのは、管理者ロールを持つメンバーのみです(
403 role_not_assignable)。 - 最後のアクティブな管理者は削除できません(
409 last_org_admin)。
@keenauth/js を使用する場合: await keenauth.organizations.removeMember(orgId, membershipId)。
リクエスト
ヘッダー:
| ヘッダー | 必須 | 説明 |
|---|---|---|
Idp-Client |
はい | SDK の識別子です。 |
Origin |
はい(Cookie を使用する場合) | https://<サインインホスト>。 |
If-Match |
いいえ | メンバー一覧から取得した一つのバージョン "<version>"。一致しないバージョン、または複数のバージョンを指定した場合は 412 precondition_failed を返します。 |
org_id: 組織の識別子(org_…)です。membership_id: メンバーシップの識別子(mem_…)です。
ボディはありません。
レスポンス
204 No Content。
エラー
| ステータス | コード | 発生条件 |
|---|---|---|
| 400 | malformed_request |
If-Match の形式が正しくありません。 |
| 401 | unauthenticated |
有効なセッション Cookie またはトークンがありません。 |
| 401 | step_up_required |
ユーザーが 5 分より前にサインインしています。 |
| 403 | insufficient_permissions |
ユーザーに idp_members:remove がないか、対象のメンバーシップがユーザー自身のものです。 |
| 403 | role_not_assignable |
メンバーが特権ロールを持ち、ユーザーが管理者ロールを持っていません。 |
| 403 | origin_not_allowed |
Origin が一致しません。 |
| 404 | not_found |
このユーザーに対して該当する組織またはメンバーシップがありません。存在しない識別子、形式が正しくない識別子、他のユーザーの識別子に対しては、同じ応答を返します。 |
| 409 | last_org_admin |
メンバーが組織の最後のアクティブな管理者です。 |
| 409 | organization_disabled |
組織が無効化されているか、削除保留中です(organization_pending_deletion)。 |
| 412 | precondition_failed |
If-Match がメンバーシップの現在のバージョンを指定していません。 |
| 503 | service_unavailable |
一時的に利用できません。Retry-After の後に再試行してください。 |
例
curl -X DELETE "https://example.keenauth.app/fapi/v1/organizations/org_01jbz6x8kq3m2n4p5r6s7t8v9a/memberships/mem_01jbz6x8kq3m2n4p5r6s7t8v9b" \
-H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
-H "Origin: https://example.keenauth.app" \
-b cookies.txt
個人データ
このエンドポイントは個人データを扱います。組織のメンバーシップと招待が対象です。KeenAuth API における個人データでは、保存される内容、保管期間、削除方法を説明しています。どのフィールドにも、特別な種類の個人データ(健康、生体情報、宗教、政治的意見、性的指向)を送信しないでください。