Login
POST
/auth/login
Authenticate user and return tokens.
Validates email/password, generates JWT access token (15-min TTL) and refresh token (7-day TTL).
Args: request: Login credentials http_request: HTTP request object (for audit logging) db: Database session
Returns: Access and refresh tokens
Raises: 401: Invalid credentials or user not found 429: Account locked due to too many failed attempts
Request Body required
Section titled “Request Body required ” LoginRequest
Request schema for user login.
Note: Password max_length=128 is a security control (LOW-001) to prevent DoS attacks via CPU-intensive Argon2id hashing of very long passwords.
object
email
required
Email
Email address
string format: email
password
required
Password
Password
string
business_id
required
Business Id
Business/tenant UUID
string
Responses
Section titled “ Responses ”Successful Response
TokenResponse
Access token response.
object
access_token
required
Access Token
string
token_type
Token Type
string
expires_in
required
Expires In
TTL in seconds
integer
user
Any of:
UserResponse
User information in responses.
null
Unauthorized
ErrorResponse
Error response.
object
error
required
Error
Error code
string
message
required
Message
Error message
string
Validation Error
HTTPValidationError
object
detail
Detail
Array<object>
ValidationErrorobject
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context