---
title: "User login"
method: POST
path: "/api/auth/login"
tags: ["auth"]
---

# User login

`POST /api/auth/login`

Authenticate user with username and password

## Request body

- LoginRequest — Login request model.
  - `username` string, required — Username for authentication
  - `password` string, required — Password for authentication

## Response `200`

Successful Response

- LoginResponse — Login response model.
  - `access_token` string, required — JWT access token
  - `refresh_token` string, required — Refresh token
  - `expires_in` integer, required — Access token expiration time in seconds
  - `refresh_expires_in` integer, required — Refresh token expiration time in seconds
  - `token_type` string — Token type
  - `requires_profile_completion` boolean — True if the authenticated user still has to complete mandatory profile fields before using the app

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/corabea/apis/corabea-api.md) · [All operations](https://skmtc.dev/corabea/apis/corabea-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/corabea/corabea-api/revisions/13c1bce1bdc4/schema)
