Email + password login
Public. On success sets the trackly_session cookie. Rate limited per-IP and per-email (429). A correct password whose account is unverified returns 403 email_not_verified.
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
email
required
string format: email
password
required
string
Examplegenerated
{ "email": "hello@example.com", "password": "example"}Responses
Section titled “Responses”Logged in; Set-Cookie trackly_session
Media typeapplication/json
object
ok
boolean
userId
string
activeTenantId
string | null
Missing email/password
Media typeapplication/json
object
error
required
Human-readable error message.
string
message
string
Examplegenerated
{ "error": "example", "message": "example"}Wrong email or password
Media typeapplication/json
object
error
required
Human-readable error message.
string
message
string
Examplegenerated
{ "error": "example", "message": "example"}Email not verified
Media typeapplication/json
object
error
string
reason
string
Example
{ "reason": "email_not_verified"}Rate limited
Media typeapplication/json
object
error
required
string
retryAfterSeconds
integer
Examplegenerated
{ "error": "example", "retryAfterSeconds": 1}Session secret not configured
Media typeapplication/json
object
error
required
Human-readable error message.
string
message
string
Examplegenerated
{ "error": "example", "message": "example"}