Saltar al contenido principal

Consultar Estado de Sesión PIN

Consulta el estado de presencia (presence) asociado a la sesión actual del usuario (claim sid en el JWT).


GET/auth/pin/session/status

Consulta estado de presence para la sesión actual (sid)

📤 Respuesta

{
"code": 1018,
"message": "PIN status retrieved successfully.",
"data": {
  "sessionActive": true,
  "presenceActive": true,
  "presence": {
    "lastActivity": "2025-01-20T14:47:30.000Z",
    "authMethod": "pin",
    "expiresAt": "2025-01-20T14:52:30.000Z",
    "remainingTime": 300000,
    "remainingMinutes": 5
  }
}
}

Headers

HeaderValue
AuthorizationBearer <JWT>

Response (200)

Estado consultado

code 1018 — PIN status retrieved successfully.

Sin presence activa

{
"code": 1018,
"message": "PIN status retrieved successfully.",
"data": {
"sessionActive": false,
"presenceActive": false,
"message": "No active presence. Re-authentication required."
}
}

Con presence

{
"code": 1018,
"message": "PIN status retrieved successfully.",
"data": {
"sessionActive": true,
"presenceActive": true,
"presence": {
"lastActivity": "2025-01-20T14:47:30.000Z",
"authMethod": "pin",
"expiresAt": "2025-01-20T14:52:30.000Z",
"remainingTime": 300000,
"remainingMinutes": 5
}
}
}

Campos de data

CampoTipoDescripción
sessionActivebooleanIndica si existe presence asociada a la sesión (sid)
presenceActivebooleanIndica si la presence está vigente (remainingTime > 0)
messagestringSolo aparece cuando no hay presence activa
presenceobjectSolo aparece cuando hay presence

Campos de presence

CampoTipoDescripción
lastActivitystringTimestamp ISO 8601
authMethodstringMétodo de autenticación asociado a la presence (ej. pin, biometric)
expiresAtstringTimestamp ISO 8601
remainingTimenumberMilisegundos restantes
remainingMinutesnumberMinutos restantes (redondeado hacia arriba)

Errores

No autorizado (sid faltante)

HTTP 401 — El JWT no contiene el claim sid.

{
"code": 4031,
"message": "Session ID (sid) not found in JWT"
}

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": "..."
}

Ejemplo (cURL)

curl -X GET 'https://api.swapbits.co/auth/pin/session/status' \
-H 'Authorization: Bearer YOUR_JWT_TOKEN'

⚡ Quick Test

GEThttps://api.swapbits.co/auth/pin/session/status
curl -X GET 'https://api.swapbits.co/auth/pin/session/status' \
  -H 'Content-Type: application/json'