接続の 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