接続の rpId 移行を完了する

POST /v1/connections/{connection_id}:complete-rp-id-migration · 権限 connections:write

移行期間が終了する前に、パスキー接続で実行中の rpId 移行を終了します。ステータスは completed_early(移行期間がすでに終了していた場合は completed)になり、以前の rpId に残っているパスキーは取り消されます(理由 rp_id_changed)。以前の rpId のオリジンは受け付けられなくなり、passkey_rp_id.migration_completed イベントが発行されます。この操作は元に戻せません。新しい rpId でパスキーを登録していないユーザーは、別の方法でサインインする必要があります。

リクエスト

フィールド 型 必須 説明
connection_id path はい パスキー接続の ID(conn_…)。
Idempotency-Key header いいえ 再試行されたリクエストを安全にするための任意のキー(16〜64 文字)。

ボディは任意です。指定する場合は {} である必要があります。

レスポンス

200 OK。終了した移行の内容が返されます(rpId 移行を取得する を参照)。

{
  "id": "rpm_01j9xr4a6b8c0d2e4f6g8h0j2k",
  "connection_id": "conn_01j9xp6q0r1s5t7v9w1x3y5z7b",
  "previous_rp_id": null,
  "new_rp_id": "login.example.com",
  "status": "completed_early",
  "started_at": "2026-10-27T10:00:00Z",
  "ends_at": "2027-01-25T10:00:00Z",
  "completed_at": "2026-12-01T09:00:00Z",
  "revoked_count": 12,
  "new_registration_count": 340,
  "fallback_enabled_by_migration": false
}

エラー

HTTP code 発生条件
400 unknown_field ボディにフィールドが含まれています。
404 not_found 接続が存在しないか、別の環境に属しています。
409 no_active_rp_id_migration 接続に実行中の rpId 移行がありません(例: すでに完了している)。
401 unauthenticated 認証情報がないか、無効または取り消し済みです。
403 insufficient_permissions 認証情報に必要な権限がありません。
429 rate_limited レート制限を超えました。Retry-After の期間を待ってから再試行してください。
503 service_unavailable パスキーの件数を読み取れなかったか、他の依存先が利用できません。移行は開いたままになります。Retry-After の期間を待ってから再試行してください。

例

curl -X POST "https://api.eu.keenauth.com/v1/connections/conn_01j9xp6q0r1s5t7v9w1x3y5z7b:complete-rp-id-migration" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
keenauth connections complete-rp-id-migration conn_01j9xp6q0r1s5t7v9w1x3y5z7b --yes