メンバーを停止する

POST /fapi/v1/organizations/{org_id}/memberships/{membership_id}:suspend · 環境のサインインホストから呼び出します

メンバーシップを停止します。メンバーはロールを保持しますが、組織内で操作することはできません。この組織のコンテキストにおけるセッションとトークンは取り消され、メンバーが再有効化されるまで組織を選択できなくなります。すでに停止されているメンバーを停止しても、メンバーシップは変更されずに返されます。最後のアクティブな管理者を停止することはできません(409 last_org_admin)。

認証済みユーザーの __Host-idp_session Cookie と完全一致する Origin、またはファーストパーティアプリのフロント API アクセストークン(DPoP 証明付きの Authorization: DPoP <token>。フロント API アクセストークンを参照してください)が必要です。ユーザーは、idp_members:update_roles と idp_members:remove の両方の権限を持つ組織のアクティブなメンバーである必要があります。メンバーではないユーザーには 404 not_found が返されます。両方の権限を持たないメンバーには 403 insufficient_permissions が返されます。ここでご自身のメンバーシップを変更することはできません(403 insufficient_permissions)。また、特権ロールを持つメンバーを変更できるのは、管理者ロールを持つメンバーのみです(403 role_not_assignable)。

@keenauth/js を使用する場合: await keenauth.organizations.suspendMember(orgId, membershipId, { expectedVersion: 3 })

リクエスト

ヘッダー:

ヘッダー 必須 説明
Idp-Client はい SDK 識別子です。
Origin Cookie を使用する場合は必須 https://<サインインホスト>。
If-Match いいえ メンバー一覧から取得した 1 つのバージョン "<version>"。一致しないバージョン、または複数のバージョンを指定すると 412 precondition_failed が返されます。

org_id: 組織の識別子(org_…)です。membership_id: メンバーシップの識別子(mem_…)です。

ボディはありません。

レスポンス

200 OK とメンバーシップ(メンバー一覧の項目と同じフィールド)、および ETag: "<version>" が返されます。

エラー

ステータス コード 発生条件
400 malformed_request If-Match の形式が正しくありません。
401 unauthenticated 有効なセッション Cookie またはトークンがありません。
403 insufficient_permissions ユーザーに idp_members:update_roles または 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 がメンバーシップの現在のバージョンを指定していません。
422 validation_failed メンバーシップは削除されています。
503 service_unavailable 一時的に利用できません。Retry-After の後に再試行してください。

例

curl -X POST "https://example.keenauth.app/fapi/v1/organizations/org_01jbz6x8kq3m2n4p5r6s7t8v9a/memberships/mem_01jbz6x8kq3m2n4p5r6s7t8v9b:suspend" \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -H 'If-Match: "3"' \
  -b cookies.txt
{
  "id": "mem_01jbz6x8kq3m2n4p5r6s7t8v9b",
  "user_id": "usr_01jbz6x8kq3m2n4p5r6s7t8v9c",
  "status": "suspended",
  "roles": [{ "role_id": "rol_01jbz6x8kq3m2n4p5r6s7t8v9w", "source": "admin_api" }],
  "created_at": "2026-11-03T09:00:00Z",
  "activated_at": "2026-11-03T09:00:00Z",
  "expires_at": null,
  "updated_at": "2026-11-03T11:00:00Z",
  "version": 4
}

個人データ

このエンドポイントは個人データ(組織のメンバーシップと招待)を扱います。KeenAuth API における個人データでは、保存される内容、保存期間、削除方法について説明しています。いずれのフィールドにも、特別な種類の個人データ(健康、生体情報、宗教、政治的意見、性的指向)を送信しないでください。