연결의 rpId 마이그레이션 완료
POST /v1/connections/{connection_id}:complete-rp-id-migration · 권한 connections:write
마이그레이션 기간이 끝나기 전에 패스키 연결의 실행 중인 rpId 마이그레이션을 종료합니다. 상태는 completed_early(기간이 이미 끝났다면 completed)로 바뀌고, 이전 rpId에 남아 있는 패스키는 폐기되며(사유 rp_id_changed), 이전 rpId의 origin은 더 이상 허용되지 않고, 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