Submitting a valid email and password returns two tokens: a short-lived JWT access token for authorising API requests, and a long-lived opaque refresh token for obtaining new token pairs without re-entering credentials. Both tokens must be stored securely on the client — the access token in memory and the refresh token in anDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/ricardomb-tech/auth-service/llms.txt
Use this file to discover all available pages before exploring further.
HttpOnly cookie or secure storage.
POST /auth/login
Authentication: None requiredRequest Body
The registered email address. Must not be blank.
The account password. Must not be blank. Maximum 72 characters. The size cap is a defence-in-depth guard — it does not encode password policy; a password that fails policy is rejected as invalid credentials, not as a
400.Response — 200 OK
A signed HS256 JWT. Include this in the
Authorization: Bearer <accessToken> header for every protected request. TTL: 15 minutes (900 seconds).An opaque, randomly generated refresh token. Use it with
POST /auth/refresh to obtain a new token pair. TTL: 7 days.Always
"Bearer".Access token lifetime in seconds. Always
900 (15 minutes).Error Responses
| Status | Condition |
|---|---|
401 Unauthorized | Email not found, password incorrect, or account not in ACTIVE status. The error message is deliberately identical for all three cases (anti-enumeration). |
400 Bad Request | A required field is missing or blank. Returns application/problem+json. |