/v1/auth/loginExchange an email + password (and optional MFA code) for a short-lived access token and a refresh token.
Request
{
"email": "ada@example.com",
"password": "…",
"totp_code": "123456" // optional if MFA enrolled
}Response (data)
{
"access_token": "eyJhbGciOi…",
"refresh_token": "rt_…",
"expires_in": 900,
"user": { "id": "usr_…", "email": "ada@example.com" }
}Common errors
invalid_credentialsmfa_requiredaccount_locked