Generar Challenge Biométrico
Genera un challenge temporal asociado a un deviceId biométrico activo del usuario. El challenge se usa luego para firmar y verificar la autenticación biométrica.
GET
/auth/biometry/challenge?deviceId=:deviceIdGenera un challenge biométrico para un dispositivo registrado
📋 Parámetros
deviceIdstringrequeridoDevice ID (UUID) del dispositivo biométrico registrado
📤 Respuesta
{
"code": 1023,
"message": "Biometric challenge generated successfully.",
"data": {
"challengeId": "uuid-challenge-id",
"challenge": "base64-challenge",
"expiresAt": "2025-01-20T14:50:00.000Z"
}
}Headers
| Header | Value |
|---|---|
| Authorization | Bearer <JWT> |
Query params
| Param | Tipo | Requerido | Descripción |
|---|---|---|---|
| deviceId | string | Sí | Debe ser un UUID válido |
Response (200)
Challenge generado
code 1023 — Biometric challenge generated successfully.
{
"code": 1023,
"message": "Biometric challenge generated successfully.",
"data": {
"challengeId": "uuid-challenge-id",
"challenge": "base64-challenge",
"expiresAt": "2025-01-20T14:50:00.000Z"
}
}
data
| Campo | Tipo | Descripción |
|---|---|---|
| challengeId | string | ID del challenge |
| challenge | string | Challenge en formato base64 |
| expiresAt | string | Timestamp ISO 8601 |
Expiración
El challenge expira en 5 minutos desde su creación.
Errores
deviceId faltante o inválido
HTTP 400 — code 4006.
Falta el query param
{
"code": 4006,
"message": "deviceId parameter is required"
}
deviceId inválido (no UUID)
{
"code": 4006,
"message": "Invalid deviceId format. Must be a valid UUID"
}
Usuario no encontrado
HTTP 404 — code 4001.
{
"code": 4001,
"message": "User not found."
}
Dispositivo no registrado o revocado
HTTP 403 — code 5012.
{
"code": 5012,
"message": "Device not registered or revoked"
}
No autorizado
HTTP 401 — Token JWT inválido, expirado o ausente.
{
"statusCode": 401,
"message": "Unauthorized"
}
Error interno
HTTP 500 — code 5001.
{
"code": 5001,
"message": "Failed to save user to the database.",
"details": "..."
}
Ejemplo (cURL)
curl -X GET 'https://api.swapbits.co/auth/biometry/challenge?deviceId=550e8400-e29b-41d4-a716-446655440000' \
-H 'Authorization: Bearer YOUR_JWT_TOKEN'
⚡ Quick Test
GET
https://api.swapbits.co/auth/biometry/challengecurl -X GET 'https://api.swapbits.co/auth/biometry/challenge' \
-H 'Content-Type: application/json'