Auth

Authentication and user profile

Authentication and user profile

Endpoints

MethodPathSummary
POST/api/v1/auth/change-passwordChange password
POST/api/v1/auth/forgot-passwordRequest password reset
POST/api/v1/auth/loginLogin
POST/api/v1/auth/logoutLogout (invalidate token)
PATCH/api/v1/auth/profileUpdate profile
POST/api/v1/auth/registerRegister new user
POST/api/v1/auth/resend-verificationResend verification code
POST/api/v1/auth/reset-passwordReset password with code
POST/api/v1/auth/verifyVerify email with code
GET/api/v1/auth/whoamiGet current user profile with tier info

Change password

POST /api/v1/auth/change-password

Requires authentication.

Request Body

FieldTypeRequiredDescription
current_passwordstringYes
new_passwordstringYes

Responses

CodeDescription
200Password changed
400

Request password reset

POST /api/v1/auth/forgot-password

Public – no authentication required.

Request Body

FieldTypeRequiredDescription
emailstring Yes

Responses

CodeDescription
200Reset code sent (same response whether email exists or not)

Login

POST /api/v1/auth/login

Public – no authentication required.

Request Body

FieldTypeRequiredDescription
emailstring Yes
passwordstringYes

Responses

CodeDescription
200Login successful
401

Logout (invalidate token)

POST /api/v1/auth/logout

Requires authentication.

Responses

CodeDescription
200Logged out

Update profile

PATCH /api/v1/auth/profile

Requires authentication.

Request Body

FieldTypeRequiredDescription
email_copyboolean
langstring
namestring
timezonestring

Responses

CodeDescription
200Profile updated
401

Register new user

POST /api/v1/auth/register

Public – no authentication required.

Request Body

FieldTypeRequiredDescription
emailstring Yes
invitation_tokenstring
namestringYes
passwordstringYes

Responses

CodeDescription
201Registration initiated (verification email sent)
400
409Email already registered

Resend verification code

POST /api/v1/auth/resend-verification

Public – no authentication required.

Request Body

FieldTypeRequiredDescription
emailstring Yes

Responses

CodeDescription
200Verification code resent

Reset password with code

POST /api/v1/auth/reset-password

Public – no authentication required.

Request Body

FieldTypeRequiredDescription
codestringYes
emailstring Yes
new_passwordstringYes

Responses

CodeDescription
200Password reset successful
400

Verify email with code

POST /api/v1/auth/verify

Public – no authentication required.

Request Body

FieldTypeRequiredDescription
codestringYes
emailstring Yes

Responses

CodeDescription
200Email verified, account activated
400

Get current user profile with tier info

GET /api/v1/auth/whoami

Requires authentication.

Responses

CodeDescription
200User profile
401