Base URLs
8Space uses different base URLs depending on the service:string
default:"https://8space.app"
Landing page and API gateway endpoints
string
default:"http://localhost:3000"
Local Next.js development server
string
default:"http://127.0.0.1:54321"
Local Supabase instance from
packages/app/supabase/config.tomlAPI Groups
The 8Space API is organized into six functional groups:Landing
Next.js API routes for lead collection and authentication callbacks. Endpoints:POST /api/lead- Store lead email from landing page (triggered byButtonLeadcomponent)GET /auth/callback- Exchange OAuth code and redirect user
Billing
Stripe checkout and customer portal routes. Endpoints:POST /api/stripe/create-checkout- Create Stripe Checkout session (triggered byButtonCheckoutcomponent)POST /api/stripe/create-portal- Create Stripe billing portal session (triggered byButtonAccountcomponent, requires auth)
Webhooks
Stripe webhook receiver for billing lifecycle events. Endpoints:POST /api/webhook/stripe- Receive and verify Stripe webhook events
Supabase Auth
Authentication endpoints used by landing and app clients. Endpoints:POST /auth/v1/signup- Sign up with email/passwordPOST /auth/v1/token?grant_type=password- Sign in with password grantGET /auth/v1/authorize?provider=google- Start Google OAuth flowGET /auth/v1/user- Get authenticated user (requires auth)POST /auth/v1/logout- Log out user session (requires auth)
Supabase Data
PostgREST table endpoints used by the 8Space app. Response shape depends on theselect query parameter.
Endpoints:
GET /rest/v1/profiles- Query user profilesGET /rest/v1/project_members- Query project membership and member listsGET /rest/v1/workflow_columns- List project workflow columnsPATCH /rest/v1/projects- Update project settingsGET /rest/v1/tasks- List tasks by projectPOST /rest/v1/tasks- Create taskPATCH /rest/v1/tasks- Update task by idDELETE /rest/v1/tasks- Delete task by idGET /rest/v1/task_assignees- Query task assigneesPOST /rest/v1/task_assignees- Assign users to tasksDELETE /rest/v1/task_assignees- Remove task assigneesGET /rest/v1/task_label_links- Query task labels linked to tasksGET /rest/v1/task_checklist_items- Query task checklist itemsGET /rest/v1/task_attachments- Query task attachmentsGET /rest/v1/task_dependencies- List task dependencies by projectPOST /rest/v1/task_dependencies- Create task dependenciesDELETE /rest/v1/task_dependencies- Delete dependencies by project/successor filter
Supabase RPC
PostgreSQL RPC functions used by the 8Space app. Endpoints:POST /rest/v1/rpc/create_project_with_defaults- Create new project with default columnsPOST /rest/v1/rpc/current_project_role- Get caller’s role in a projectPOST /rest/v1/rpc/move_task- Move task between columns and set rankPOST /rest/v1/rpc/dashboard_metrics- Calculate dashboard metrics
PostgREST Query Parameters
Supabase Data endpoints support PostgREST query parameters:string
Controls response shape. Example:
id,display_name,avatar_url or *,project(*) for joinsstring
Filter operators. Examples:
id=eq.9b7f...(equals)user_id=eq.<uuid>(equals UUID)task_id=in.(uuid1,uuid2)(in array)
string
Sort results. Example:
position.asc or order_rank.ascPostgREST responses depend on the
select query string. Schemas document the fields actually used by 8Space, not every field Supabase provides.Common Response Types
Error Responses
Landing API Error:Status Codes
Success
Request successful
Created
Resource created successfully
No Content
Request successful, no response body
Redirect
Redirect response with
Location headerBad Request
Validation error or invalid request
Unauthorized
Authentication required or invalid credentials
Forbidden
Forbidden by Row Level Security policies
Internal Server Error
Server error occurred
Data Types
Enums
ProjectRole:owner- Full project accesseditor- Can edit project dataviewer- Read-only access
p0- Critical priorityp1- High priorityp2- Normal priority
backlog- Backlog columntodo- To-do columnin_progress- In progress columndone- Done columncustom- Custom workflow column
FS- Finish-to-start dependency
This specification focuses on endpoints actually called in the 8Space codebase, not every endpoint Supabase provides.
Rate Limits
Supabase enforces rate limits on API requests. Consult your Supabase project settings for current limits.Next Steps
Authentication
Learn how authentication works with Supabase Auth