Routes Reference
All route constants are defined in src/config/routes.ts as ROUTES.*.
Public routes
| Path | Description |
|---|
/ | Marketing homepage |
/pricing | Pricing page |
/faq | FAQ page |
/terms | Terms of service |
/privacy | Privacy policy |
/docs/[slug] | Documentation pages |
Auth routes
| Path | Description |
|---|
/sign-in | Email/password + OAuth sign-in |
/sign-up | New account registration |
/forgot-password | Request password reset email |
/reset-password | Set new password (from email link) |
Protected routes
Requires an authenticated session. The middleware at middleware.ts redirects unauthenticated requests to /sign-in.
| Path | Description | Min role |
|---|
/select-workspace | List and switch workspaces | any |
/create-workspace | Create a new workspace | any |
/w/[id]/dashboard | Workspace overview stats | any |
/w/[id]/products | Product list | any |
/w/[id]/products/[productId] | Product detail | any |
/w/[id]/members | Member list + invite | any |
/w/[id]/billing | Stripe subscription | OWNER |
/w/[id]/audit | Audit log | OWNER/ADMIN |
/w/[id]/settings | Workspace name + delete | OWNER |
Invitation route
| Path | Description |
|---|
/invite/[token] | Accept a workspace invitation. Public: no auth required to visit, but the user must sign in or sign up to complete acceptance. |
API routes
| Path | Description |
|---|
/api/stripe/webhook | Stripe webhook endpoint. Validates signature and updates subscriptions table. |
Route helpers
import { ROUTES } from "@/config/routes";
ROUTES.DASHBOARD(workspaceId) // /w/abc/dashboard
ROUTES.PRODUCTS(workspaceId) // /w/abc/products
ROUTES.PRODUCT(workspaceId, productId) // /w/abc/products/xyz
ROUTES.MEMBERS(workspaceId) // /w/abc/members
ROUTES.BILLING(workspaceId) // /w/abc/billing
ROUTES.INVITE(token) // /invite/tok...