Authenticate a user against the database. The API looks up the account by email and role, verifies the plain-text password against the stored BCrypt hash, and returns the matching user record — minus theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/jparra-amell/api_solsql/llms.txt
Use this file to discover all available pages before exploring further.
Password field — on success.
This API does not issue JWT tokens. The returned user object is your authentication record. Store it client-side as needed to track the current session.
Endpoint
Request body
The user’s email address. Used together with
Role to look up the account.The user’s plain-text password. The API verifies this value against the BCrypt hash stored in the database.
The user’s role:
1 for regular users, 2 for administrators. The login call will fail if the role does not match the record in the database.Response fields
On success the API returns200 OK with a user object. The Password field is always null in the response.
Unique identifier of the authenticated user.
Full name of the authenticated user.
Email address of the authenticated user.
Always
null in the response. The BCrypt hash is cleared before the object is returned.Role of the authenticated user:
1 for regular users, 2 for administrators.The login endpoint uses the
LoginRequest model, which contains Id, Name, Email, Password, and Role. It does not include Status or Created_at. Use GET /api/vw_user/{id} if you need the full user profile after login.Examples
Success response — 200 OK
Password is always null in the response — the API clears the hash before returning the object.Error responses
| Status | Message | Description |
|---|---|---|
401 Unauthorized | User not found | No account matches the provided email and role. |
401 Unauthorized | Invalid role | An account was found but the stored role does not match the requested role. |
401 Unauthorized | Invalid credentials | The password did not pass BCrypt verification. |
500 Internal Server Error | error | A database or unexpected server error occurred. |
401 — Invalid credentials
500 — Server error