Cerrar sesión
Cierra la sesión: revoca el refresh token de la cookie HttpOnly `qapi_rt` y limpia las cookies de auth. El access token sigue siendo válido hasta su expiración (15 min) — descartalo del lado del cliente (o se invalida al instante si la sesión está en la denylist). 🛡️ **CSRF**: igual que /refresh, exige el header `X-CSRF-Token` con el valor de la cookie `qapi_csrf`. Si enviás tu `Authorization: Bearer <access_token>`, QAPI verifica que el refresh pertenezca a tu usuario antes de revocarlo.
Authorization
ApiKeyAuth API key con prefijo qapi_live_ o qapi_test_, o JWT (access_token) obtenido vía POST /v1/auth/login. QAPI detecta el tipo automáticamente por el prefijo del token.
In: header
Header Parameters
Debe coincidir con el valor de la cookie qapi_csrf (double-submit).
Response Body
application/json
curl -X POST "https://example.com/v1/auth/logout" \ -H "X-CSRF-Token: string"{
"ok": true
}Refrescar tokens
Renueva el access token usando el refresh token de la cookie HttpOnly `qapi_rt` (no se envía en el body). Devuelve un nuevo access token y **rota la cookie** del refresh. 🛡️ **CSRF**: como la cookie se adjunta automáticamente, este endpoint exige protección double-submit. Enviá el header `X-CSRF-Token` con el valor de la cookie no-HttpOnly `qapi_csrf`. ⚠️ **Rotación**: el refresh anterior queda revocado. Si se reutiliza un refresh ya rotado, QAPI lo detecta como posible robo y **revoca todas las sesiones del usuario**.
Perfil del usuario autenticado
Devuelve el perfil del usuario y del tenant, incluyendo el certificador activo de la cuenta ("MOCK" hasta que QAPI active el certificador real en modo live). Requiere JWT — no acepta API keys.