Authentication & Onboarding
User authentication, project selection, and the onboarding flow. Login,
registration, /api/plans, and forgot-password are public (no JWT). The
remaining endpoints require a valid Bearer JWT;
project management endpoints operate on the authenticated user.
Endpoints
| Method | Path | Description |
|---|---|---|
| POST | /api/auth/login | Authenticate a user with email and password. Public. |
| POST | /api/auth/register | Register a new user account. Public. |
| POST | /api/auth/projects | List the projects the authenticated user belongs to. |
| POST | /api/auth/select-project | Issue a JWT scoped to a chosen project_id. |
| POST | /api/auth/create-project | Create a new project for the user. |
| POST | /api/auth/forgot-password | Trigger a password-reset email. Public. |
| PUT | /api/auth/update-profile | Update the current user's profile. |
| GET | /api/plans | List publicly available subscription plans. Public. |
| POST | /api/auth/onboarding-complete | Mark the onboarding flow as complete. |
| POST | /api/auth/onboarding-checkout | Start a Stripe checkout during onboarding. |
| POST | /api/auth/onboarding-provision-phone | Provision a phone number during onboarding. |