提案された組織に参加する

POST /fapi/v1/me/organization-suggestions/{domain_id}:join · 環境のサインインホストから呼び出し

自分の組織の提案を一覧表示 で得られた提案を受け入れます。認証済みユーザーは、環境のデフォルトのメンバーロールを持つ、提案された組織のメンバーになります。メンバーシップのソースは domain_capture となり、ユーザーが実行者として記録されます。organization_membership.created イベントが送信されます。同時に 2 件の参加操作があった場合、成功するのは 1 件だけです。参加には直近で確認されたセッションは必要ありません。付与されるのはデフォルトのメンバーロールのみで、ユーザーが確認済みのアドレスを持つドメインに限られます。認証済みユーザーの __Host-idp_session Cookie が必要です。Cookie がない、期限切れ、または取り消されている場合は、401 unauthenticated を返します。別オリジンのファーストパーティアプリは、代わりにフロント API アクセストークン(DPoP 証明付きの Authorization: DPoP <token>。フロント API アクセストークン を参照)を送信できます。

@keenauth/js の場合: await keenauth.organizations.joinSuggestion(id)。

リクエスト

ヘッダー:

ヘッダー 必須 説明
Idp-Client はい SDK の識別子です。
Origin はい https://<sign-in host> と完全に一致している必要があります。

domain_id: 提案の id(odm_…)。

ボディはありません(空の JSON オブジェクトも受け付けます)。

レスポンス

200 OK と {"membership_id": "mem_…", "organization_id": "org_…"} を返します。

エラー

ステータス コード 発生条件
401 unauthenticated 有効なセッション Cookie またはフロント API アクセストークンがありません。
403 origin_not_allowed Origin がない、または正しくありません。
403 role_not_assignable ドメインキャプチャでは、デフォルトのメンバーロールを付与できません。
403 user_not_active ユーザーがアクティブではありません。
404 not_found そのドメインはこのユーザーの提案ではありません(不明、形式が不正、suggest モードではない、このユーザーの確認済みアドレスがそのドメインにない、または 3 回非表示にされている)。
409 membership_already_exists ユーザーはその組織に既にメンバーシップを持っています。
409 organization_disabled 組織が無効化されている、または削除中です。
409 membership_limit_reached ユーザーが所属できるメンバーシップの上限に達しています。
409 organization_membership_limit_reached 組織がメンバーシップの上限に達しています。
503 temporarily_unavailable メンバーシップディレクトリが応答しませんでした。後で再試行してください。

例

curl -X POST https://example.keenauth.app/fapi/v1/me/organization-suggestions/odm_01j9a5c4000000000000000001:join \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -b cookies.txt
{
  "membership_id": "mem_01j9yyyyyyyyyyyyyyyyyyyyyy",
  "organization_id": "org_01j9xxxxxxxxxxxxxxxxxxxxxx"
}

個人データ

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