提案された組織に参加する
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 における個人データ を参照してください。いずれのフィールドにも、特別な種類の個人データ(健康、生体情報、宗教、政治的意見、性的指向)を送信しないでください。