Billing & onboarding
Billing
Workspace billing (Stripe):
GET /api/v1/workspaces/{workspace_id}/billing/
POST /api/v1/workspaces/{workspace_id}/billing/checkout/
POST /api/v1/workspaces/{workspace_id}/billing/portal/
Authorization: Bearer <access_token>
| Endpoint | Purpose |
|---|---|
GET …/billing/ | Current plan, trial, subscription status |
POST …/billing/checkout/ | Start Stripe Checkout session (lookup_key) |
POST …/billing/portal/ | Stripe Customer Portal |
Stripe webhook (server)
POST /api/v1/billing/stripe/webhook/
Secured with Stripe signature (STRIPE_WEBHOOK_SECRET) — not for client use.
Product catalog seed: see docs/billing/README.md.
Onboarding
Global onboarding flow for new users:
GET /api/v1/onboarding/
POST /api/v1/onboarding/
PUT /api/v1/onboarding/
GET /api/v1/onboarding/options/
GET /api/v1/onboarding/suggest-company/
POST /api/v1/onboarding/company/
POST /api/v1/onboarding/profile/
POST /api/v1/onboarding/calendar/
POST /api/v1/onboarding/invitations/
POST /api/v1/onboarding/invitations/accept/
POST /api/v1/onboarding/complete/
Authorization: Bearer <access_token>
| Endpoint | Purpose |
|---|---|
GET/POST/PUT /onboarding/ | Read/save full onboarding state |
GET /onboarding/options/ | Industries, company sizes, roles |
GET /onboarding/suggest-company/ | Suggest company from email domain |
POST /onboarding/company/ | Company step |
POST /onboarding/profile/ | Profile step |
POST /onboarding/calendar/ | Connect calendar |
POST /onboarding/invitations/ | Invite team |
POST /onboarding/invitations/accept/ | Accept invite |
POST /onboarding/complete/ | Mark onboarding complete |
Note: GET/POST/PUT /api/v1/onboarding (no trailing slash) is also supported.