Skip to content

login

POST
/api/v1/auth/login
curl --request POST \
--url https://example.com/api/v1/auth/login \
--header 'Content-Type: application/json' \
--data '{ "username": "example", "password": "example" }'

Rate-limited. Exchange an enrolled account’s credentials for a dashboard session.

Media typeapplication/json
object
username
required
string
password
required
string
Examplegenerated
{
"username": "example",
"password": "example"
}

Signed in, or a multi-factor challenge when the account has a confirmed second factor. A challenge sets no session cookie.

Media typeapplication/json
object
data
required
One of:
object
user
required
object
id
required
string format: uuid
name
required
string
username
required
string
role
required

Role key. The built-in roles are owner, administrator, editor, contributor, and viewer. Custom role keys start with “custom.”. Decide authorization from the capabilities the server reports, not from the role key.

string
/^[a-z][a-z0-9.-]{1,63}$/
active
required
boolean
createdAt
required
string format: date-time
lastLoginAt
string format: date-time
capabilities

Effective capabilities of the signed-in user’s role.

Array<string>
csrfToken
required
string
authMethod
required
string
Allowed values: password totp passkey recovery_code demo
mfaEnrollmentRequired
required
boolean
Example
{
"data": {
"user": {
"role": "owner"
},
"authMethod": "password"
}
}

Invalid credentials