Completar la migración del rpId de una conexión
POST /v1/connections/{connection_id}:complete-rp-id-migration · permiso connections:write
Finaliza la migración de rpId en curso de una conexión de clave de acceso antes de que termine su periodo. El estado pasa a completed_early (o a completed si el periodo ya había terminado), las claves de acceso que sigan en el rpId anterior se revocan (motivo rp_id_changed), el origen del rpId anterior deja de aceptarse y se publica el evento passkey_rp_id.migration_completed. Esta acción no se puede deshacer: los usuarios que no hayan registrado una clave de acceso en el nuevo rpId deberán iniciar sesión de otra forma.
Solicitud
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
connection_id |
ruta | sí | ID de la conexión de clave de acceso (conn_…). |
Idempotency-Key |
encabezado | no | Clave opcional que hace seguro reintentar una solicitud (de 16 a 64 caracteres). |
El cuerpo es opcional; si se incluye, debe ser {}.
Respuesta
200 OK; la migración cerrada (consulte Obtener la migración del 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
}
Errores
| HTTP | código | Cuándo |
|---|---|---|
| 400 | unknown_field |
El cuerpo contiene un campo. |
| 404 | not_found |
La conexión no existe o pertenece a otro entorno. |
| 409 | no_active_rp_id_migration |
La conexión no tiene una migración de rpId en curso (por ejemplo, ya se completó). |
| 401 | unauthenticated |
La credencial falta, no es válida o fue revocada. |
| 403 | insufficient_permissions |
La credencial no tiene el permiso necesario. |
| 429 | rate_limited |
Se superó el límite de solicitudes; reintente después del periodo indicado en Retry-After. |
| 503 | service_unavailable |
No se pudieron leer los recuentos de claves de acceso, o otra dependencia no está disponible; la migración sigue abierta. Reintente después del periodo indicado en Retry-After. |
Ejemplo
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