Saltar al contenido principal

Activar/Desactivar Sistema PIN

Activa o desactiva el sistema PIN de seguridad del usuario autenticado. Requiere el PIN actual para validar la operación.


POST/auth/pin/toggle

Activa o desactiva el sistema PIN

📤 Respuesta

{
"code": 1020,
"message": "PIN disabled successfully.",
"data": {
  "pinActive": false,
  "updatedAt": "2025-01-20T14:45:00.000Z",
  "sessionsRevoked": true
}
}

Headers

HeaderValue
AuthorizationBearer <JWT>
Content-Typeapplication/json

Body

{
"active": false,
"pin": "123456"
}

Campos

CampoTipoRequeridoDescripción
activebooleantrue para activar, false para desactivar
pinstringPIN actual de exactamente 6 dígitos numéricos

Response (200)

PIN activado

{
"code": 1019,
"message": "PIN enabled successfully.",
"data": {
"pinActive": true,
"updatedAt": "2025-01-20T14:45:00.000Z",
"sessionsRevoked": false
}
}

PIN desactivado

{
"code": 1020,
"message": "PIN disabled successfully.",
"data": {
"pinActive": false,
"updatedAt": "2025-01-20T14:45:00.000Z",
"sessionsRevoked": true
}
}

data

CampoTipoDescripción
pinActivebooleanEstado final del PIN
updatedAtstringTimestamp ISO 8601 de la actualización
sessionsRevokedbooleantrue solo cuando se desactiva (active: false)

Errores

PIN inválido

HTTP 400code 4006.

{
"code": 4006,
"message": "PIN must be exactly 6 digits"
}

PIN no configurado

HTTP 400code 4031.

{
"code": 4031,
"message": "PIN not configured. Please configure PIN first."
}

PIN incorrecto

HTTP 400code 4007.

{
"code": 4007,
"message": "Invalid PIN"
}

No autorizado

HTTP 401 — Token JWT inválido, expirado o ausente.

{
"statusCode": 401,
"message": "Unauthorized"
}

Error interno

HTTP 500code 5001.

{
"code": 5001,
"message": "Failed to save user to the database.",
"details": "..."
}

Ejemplos (cURL)

Activar PIN

curl -X POST 'https://api.swapbits.co/auth/pin/toggle' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_JWT_TOKEN' \
-d '{
"active": true,
"pin": "123456"
}'

Desactivar PIN

curl -X POST 'https://api.swapbits.co/auth/pin/toggle' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_JWT_TOKEN' \
-d '{
"active": false,
"pin": "123456"
}'

⚡ Quick Test

POSThttps://api.swapbits.co/auth/pin/toggle
curl -X POST 'https://api.swapbits.co/auth/pin/toggle' \
  -H 'Content-Type: application/json' \
  -d '{
"active": false,
"pin": "123456"
}'