The login endpoint validates the user’s credentials and, on success, issues a JSON Web Token (JWT) signed with the server’s secret key. The token encodes the user’sDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/fredy-rizo/tukit/llms.txt
Use this file to discover all available pages before exploring further.
id, userName, email, roles, and activate arrays and is valid for 365 days. The token is also persisted on the user document in the database so the server can reference the current token. The account must have been verified via the Verify Account endpoint before login is permitted — unverified accounts are rejected with a 403 response regardless of whether the password is correct.
POST /api/user/login
Authentication
No authentication required.Request Body
The registered email address. Lookup is performed with the exact value provided, so casing must match what is stored (all emails are stored lowercase by the registration flow).
The account password in plain text. Compared against the stored bcrypt hash using
bcrypt.compare.Response
200 — Success
A welcome message (
"Bienvenido!").Always
true on success.A signed JWT string. Include this value in the
token-access header for all protected endpoints. The token expires after 365 days.A subset of the authenticated user’s profile.
Error Responses
| Status | Cause |
|---|---|
403 | One or more required fields (email, password) are missing from the request body. |
403 | The account exists but has not yet been verified (no login_code_confirmed set or activate value is not "1"). |
203 | No user found for the provided email address. |
203 | The provided password does not match the stored hash. |
500 | Unexpected server or database error. |
Store the returned
token securely (e.g. in memory or a secure HTTP-only cookie). Pass it as the token-access request header on all endpoints that require authentication.