Facebook
LinkedIn
YouTube
Getting Started
Authentication
Authentication
  • V2 Authentication (Deprecated)
  • V3 Authentication
V2 API Documentation (Deprecated)V3 API Documentation
Getting Started
Authentication
Authentication
  • V2 Authentication (Deprecated)
  • V3 Authentication
V2 API Documentation (Deprecated)V3 API Documentation
V2 Authentication (Deprecated)V3 Authentication
V2 Authentication (Deprecated)V3 Authentication
  1. V3 Authentication
  • Get Access Token
    POST
  • Refresh Access Token
    POST
  • Revoke Token
    POST
  1. V3 Authentication

Get Access Token

POST
https://platform-oauth.convirza.com/oauth/token
Authentication
Last modified:2026-04-03 13:19:41
Authenticates a user's email and password and returns a token pair for use with all other Convirza API endpoints.
How authentication works
Convirza uses an encrypted, session-based token system (not standard JWTs):
1.
Credentials are validated against the database.
2.
A session is created in Redis containing the user's profile and permissions.
3.
An AES-256-CBC encrypted access_token is returned. This token is an opaque identifier — it cannot be decoded client-side (it is not a JWT).
4.
Include the token in every subsequent API request: Authorization: Bearer <access_token>.
Token lifetimes
access_token — valid for 7 days (604 800 seconds). Auto-renewed on each authenticated API request.
refresh_token — valid for 6 months (15 552 000 seconds). Used to obtain a new token pair after the access token expires.
frontend_token
A 32-character hash derived from the session, used by the Convirza web app for client-side session tracking. Third-party integrations can ignore this field.
Session-based benefits
Tokens can be revoked instantly server-side (no wait for expiry).
Session data (roles, org access) is always authoritative — no stale claims in the token.
Rate limiting
This endpoint is limited to 10 requests per minute per IP to protect against brute-force attacks.

Request

Body Params application/jsonRequired

Examples

Responses

🟢200
application/json
Login successful - returns access token, refresh token, and user data
Body

🟠400
🟠401
🔴500
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://platform-oauth.convirza.com/oauth/token' \
--header 'Content-Type: application/json' \
--data-raw '{
    "email": "user@example.com",
    "password": "SecurePassword123!"
}'
Response Response Example
200 - Example 1
{
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbklkIjoiYWJjZDEyMzQtZWY1Ni03ODkwLWFiY2QtMTIzNDU2Nzg5MGFiIiwiaWF0IjoxNzA5NTU1NTU1LCJleHAiOjE3MDk1OTg3NTV9.xyz123",
    "frontend_token": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
    "refresh_token": "xyz789refresh012345678901234567890",
    "token_type": "Bearer",
    "expires_in": "2026-04-06T12:34:56.789Z",
    "refresh_expires_in": "2026-10-06T12:34:56.789Z",
    "user": {
        "user_id": 12345,
        "email": "user@example.com",
        "role_id": 2,
        "org_unit_id": 1001
    }
}
Modified at 2026-04-03 13:19:41
Next
Refresh Access Token
Built with