API Reference
Complete reference for all API endpoints in the 1 OAK MLS Platform.
API Reference
Complete reference for all API endpoints in the 1 OAK MLS Platform.
Authentication
Methods
| Method | Description |
|---|---|
| Supabase Session | Cookie-based authentication via magic link or OAuth |
| CRON_SECRET | Header-based authentication for scheduled tasks |
Role Hierarchy
member < agent < admin < owner
Higher roles inherit all permissions of lower roles.
Rate Limiting
Public routes use Upstash Redis rate limiting.
| Tier | Limit | Used For |
|---|---|---|
auth | 5 req/min | Login, invitations |
api | 60 req/min | General API |
search | 30 req/min | Search routes |
public | 120 req/min | Public listing data |
Rate limit headers returned:
X-RateLimit-Limit: Maximum requests allowedX-RateLimit-Remaining: Requests remainingX-RateLimit-Reset: Unix timestamp when limit resets
Public Routes
Base: /api/public
Authentication: None (rate limited by IP)
| Endpoint | Method | Description |
|---|---|---|
/api/health | GET | Health check (checks Supabase & Typesense) |
/api/public/stats | GET | Platform-wide listing statistics |
/api/public/areas | GET | Get all service areas with listing counts |
/api/public/areas/[slug] | GET | Get service area with listings |
/api/contact | POST | Submit contact form |
GET /api/health
Returns service health status.
Response:
{
"status": "ok",
"supabase": "connected",
"typesense": "connected",
"timestamp": "2026-01-31T12:00:00Z"
}GET /api/public/stats
Query Parameters:
workspace_id(required): Workspace identifier
Response:
{
"total_listings": 2500,
"active_listings": 1800,
"workspace_count": 1
}GET /api/public/areas
Query Parameters:
workspace_id(required): Workspace identifier
Response:
{
"areas": [
{
"id": "uuid",
"name": "Miami Beach",
"slug": "miami-beach",
"listing_count": 450
}
]
}GET /api/public/areas/[slug]
Query Parameters:
workspace_id(required): Workspace identifierpage(optional): Page number (default: 1)per_page(optional): Items per page (default: 24, max: 100)sort(optional): Sort field (e.g.,list_price,bedrooms)
Response:
{
"area": {
"id": "uuid",
"name": "Miami Beach",
"slug": "miami-beach"
},
"listings": [...],
"pagination": {
"page": 1,
"per_page": 24,
"total": 450,
"total_pages": 19
}
}POST /api/contact
Rate Limit: auth tier (5 req/min)
Body:
{
"workspace_id": "uuid",
"name": "John Doe",
"email": "john@example.com",
"phone": "555-123-4567",
"message": "I'm interested in...",
"listing_id": "uuid (optional)"
}Dashboard Routes (Web App)
Base: /api/dashboard
Authentication: Supabase session required
User must be authenticated and have workspace membership.
Listings
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/dashboard/listings | GET | All | Get listings (picker/management mode) |
/api/dashboard/listings | DELETE | Write | Bulk delete listings |
/api/dashboard/listings/stats | GET | All | Listing statistics for filters |
GET /api/dashboard/listings
Query Parameters:
mode:pickerormanagementproperty_type: Filter by property typestatus: Filter by statusmin_price,max_price: Price rangepage,per_page: Pagination
Photos
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/dashboard/photos | GET | All | Get photos for a listing |
/api/dashboard/photos | POST | Write | Upload photo (FormData) |
/api/dashboard/photos/[id] | DELETE | Write | Delete photo |
/api/dashboard/photos/reorder | POST | Write | Reorder photos |
Service Areas
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/dashboard/service-areas | GET | All | List service areas |
/api/dashboard/service-areas | POST | Write | Create service area |
/api/dashboard/service-areas/[id] | GET | All | Get service area |
/api/dashboard/service-areas/[id] | PUT | Write | Update service area |
/api/dashboard/service-areas/[id] | DELETE | Write | Delete service area |
/api/dashboard/service-areas/reorder | POST | Write | Reorder areas |
/api/dashboard/service-areas/import-status | GET | All | Get import status |
Import Tasks
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/dashboard/imports | GET | All | List import tasks |
/api/dashboard/imports | POST | Write | Create import task |
/api/dashboard/imports/[id] | GET | All | Get import task |
/api/dashboard/imports/[id] | PATCH | Agent+ | Update import task |
/api/dashboard/imports/[id]/sync | POST | Write | Trigger sync |
/api/dashboard/imports/preview | POST | Write | Preview import count |
/api/dashboard/imports/from-service-areas | POST | Write | Bulk import |
Members & Invitations
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/dashboard/members | GET | Admin | List workspace members |
/api/dashboard/members/[id] | PATCH | Admin | Update member role |
/api/dashboard/members/[id] | DELETE | Admin | Remove member |
/api/dashboard/invitations | GET | Admin | List invitations |
/api/dashboard/invitations | POST | Admin | Create invitation |
/api/dashboard/invitations/[id] | DELETE | Admin | Cancel invitation |
Domains
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/dashboard/domains | GET | Admin | List custom domains |
/api/dashboard/domains | POST | Admin | Add domain |
/api/dashboard/domains/[id] | GET | Admin | Get domain details |
/api/dashboard/domains/[id] | PATCH | Admin | Update domain |
/api/dashboard/domains/[id] | DELETE | Admin | Delete domain |
Settings & Branding
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/dashboard/settings | GET | All | Get workspace settings |
/api/dashboard/settings | PATCH | Admin | Update settings |
/api/dashboard/compliance | GET | All | Get compliance profile |
/api/dashboard/compliance | PATCH | Admin | Update compliance |
/api/dashboard/branding | GET | All | Get branding settings |
/api/dashboard/branding | PATCH | Admin | Update branding |
/api/dashboard/branding/upload | POST | Write | Upload branding assets |
/api/dashboard/hero | GET | All | Get hero settings |
/api/dashboard/hero | POST | Write | Upload hero image |
/api/dashboard/hero-video | GET | All | Get hero video settings |
/api/dashboard/hero-video | POST | Write | Upload hero video |
/api/dashboard/hero-video/signed-url | POST | Write | Get signed URL for video upload |
/api/dashboard/hero-video/confirm | POST | Write | Confirm video upload completion |
/api/dashboard/agent-avatar | POST | Write | Upload agent avatar |
/api/dashboard/agent-photo | POST | Write | Upload agent photo |
/api/dashboard/brokerage-logo | POST | Write | Upload brokerage logo |
/api/dashboard/team-logo | POST | Write | Upload team logo |
/api/dashboard/spotlight-image | POST | Write | Upload agent spotlight image |
/api/dashboard/mls-logo | GET | All | Get MLS logo |
/api/dashboard/upload | POST | Write | Generic file upload |
Blog Posts
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/dashboard/posts | GET | All | List blog posts (filterable by category, status) |
/api/dashboard/posts | POST | Write | Create a new blog post |
/api/dashboard/posts/[id] | GET | All | Get post details |
/api/dashboard/posts/[id] | PATCH | Write | Update a post (title, body, status, etc.) |
/api/dashboard/posts/[id] | DELETE | Write | Delete a post |
/api/dashboard/posts/check-slug | GET | All | Check if a post slug is available |
Post categories: blog, market-report, neighborhood-guide, press, just-sold
Post statuses: draft, published, archived
Draft Social Posts
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/dashboard/draft-posts | GET | All | List draft social posts (scoped to agent's personal listings) |
/api/dashboard/draft-posts/count | GET | All | Get count of pending draft posts |
/api/dashboard/draft-posts/[id] | GET | All | Get draft post details |
/api/dashboard/draft-posts/[id] | PATCH | Write | Update draft post (edit content, change status) |
/api/dashboard/draft-posts/[id] | DELETE | Write | Delete a draft post |
/api/dashboard/draft-posts/[id]/generate | POST | Write | Generate AI social content for a draft |
/api/dashboard/draft-posts/[id]/regenerate | POST | Write | Regenerate AI content with new prompt |
Draft posts are auto-created when features.autoDraftPosts is enabled and listing status changes are detected. Posts target Instagram, Facebook, and LinkedIn.
Automation Outbox
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/dashboard/outbox | GET | All | List automation outbox items (with listing data) |
/api/dashboard/outbox/count | GET | All | Get count of pending + generated items (for nav badge) |
/api/dashboard/outbox/[id] | PATCH | Write | Update outbox item status or save edited content |
/api/dashboard/outbox/[id]/generate | POST | Write | Generate AI social content for a proposal |
/api/dashboard/outbox/[id]/regenerate | POST | Write | Regenerate AI content for a generated item |
Outbox items are auto-created when features.automations is enabled and listing status changes match configured automation rules. Requires AI Content Generation to be enabled with an API key configured. See Automations Reference for full details.
Media Library
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/dashboard/media | GET | All | List media assets (category filter, search, pagination) |
/api/dashboard/media | POST | Write | Upload media file (FormData, max 20 MB) |
/api/dashboard/media/[id] | DELETE | Write | Delete a media asset |
/api/dashboard/media/storage | GET | All | Get storage usage stats (bytes, file count) |
Accepted formats: JPEG, PNG, WebP, HEIC. Categories: hero, listing, blog, branding, general.
Leads
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/dashboard/leads | GET | All | List contact form submissions and landing page leads |
/api/dashboard/leads/[id] | GET | All | Get lead details |
/api/dashboard/leads/stats | GET | All | Get lead statistics (counts, sources) |
Analytics
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/dashboard/analytics/overview | GET | All | Dashboard overview (views, leads, top listings) |
/api/dashboard/analytics/listing-views | GET | All | Listing page view data (with date range) |
/api/dashboard/analytics/lead-sources | GET | All | Lead source breakdown (UTM tracking) |
AI Content Generation
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/dashboard/ai/content | POST | Agent+ | Generate AI content (generic) |
/api/dashboard/ai/listing-description | POST | Agent+ | Generate AI listing description |
/api/dashboard/ai/listing-social | POST | Agent+ | Generate AI social media captions |
/api/dashboard/ai/listing-email | POST | Agent+ | Generate AI email marketing copy |
/api/dashboard/ai/generate-blog-post | POST | Agent+ | Generate AI blog post content |
/api/dashboard/ai/generate-blocks | POST | Agent+ | Generate AI website content blocks |
/api/dashboard/ai/usage | GET | All | Get workspace AI usage stats |
All AI routes require features.aiContentGeneration to be enabled.
Status Changes
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/dashboard/status-changes | GET | All | Get recent listing status changes (scoped to agent's personal listings) |
Returns listing transitions like new listings, price changes, status changes (Active→Pending→Closed), and delisted events.
Page-Specific Hero & Video
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/dashboard/pages/[slug]/hero | GET | All | Get page-specific hero config |
/api/dashboard/pages/[slug]/hero | POST | Write | Upload page hero image |
/api/dashboard/pages/[slug]/hero-video | POST | Write | Upload page hero video |
/api/dashboard/pages/[slug]/hero-video/signed-url | POST | Write | Get signed URL for page video upload |
/api/dashboard/pages/[slug]/hero-video/confirm | POST | Write | Confirm page video upload |
Supported page slugs: about, contact, listings, blog.
MLS Connection
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/dashboard/mls-connection | GET | All | Get MLS connection status |
/api/dashboard/mls-connection/test | POST | Write | Test MLS connection |
Landing Pages
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/dashboard/landing-pages | GET | All | List landing pages |
/api/dashboard/landing-pages | POST | Write | Create a landing page |
/api/dashboard/landing-pages/[id] | GET | All | Get landing page details |
/api/dashboard/landing-pages/[id] | PATCH | Write | Update a landing page |
/api/dashboard/landing-pages/[id] | DELETE | Write | Delete a landing page |
/api/dashboard/landing-pages/check-slug | GET | All | Check slug availability |
Requires features.landingPages to be enabled.
Account & Dashboard Home
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/dashboard/account | GET | All | Get current user account info |
/api/dashboard/home | GET | All | Get dashboard home data (stats, recent activity) |
Listing Utilities
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/dashboard/featured-listings/toggle | POST | Write | Toggle a listing's featured status |
/api/dashboard/listings/[id]/primary-photo | POST | Write | Set a listing's primary photo |
/api/dashboard/listings/stats | GET | All | Get listing statistics |
Sync Management
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/dashboard/imports/sync-all | POST | Write | Trigger sync for all enabled tasks |
/api/dashboard/sync/runs/[runId]/cancel | POST | Write | Cancel a running sync |
System Health
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/dashboard/system-health/repair-index | POST | Write | Repair Typesense index for workspace |
Billing
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/billing/checkout | POST | Admin | Create Stripe Checkout Session |
/api/billing/portal | POST | Admin | Create Customer Portal session |
/api/billing/subscription | GET | Member | Get subscription status and access |
POST /api/billing/checkout
Creates a Stripe Checkout Session for subscribing to a plan. Redirects user to Stripe-hosted checkout.
Rate limit: auth tier (5 req/min)
Body:
{
"plan": "professional",
"interval": "year"
}Response:
{
"url": "https://checkout.stripe.com/c/pay/..."
}POST /api/billing/portal
Creates a Stripe Customer Portal session for managing billing.
Rate limit: auth tier (5 req/min)
Response:
{
"url": "https://billing.stripe.com/p/session/..."
}GET /api/billing/subscription
Returns the current subscription, access state, AI usage, and available upgrades.
Rate limit: api tier (60 req/min)
Response:
{
"subscription": {
"plan": "professional",
"status": "active",
"billingInterval": "year",
"currentPeriodEnd": "2027-02-25T00:00:00Z",
"cancelAtPeriodEnd": false,
"isOverride": false,
"overrideReason": null
},
"access": {
"plan": "professional",
"status": "active",
"isActive": true,
"isPastDue": false,
"isOverride": false,
"features": { "maxListings": 5000, "blog": true, "..." : "..." }
},
"availableUpgrades": ["prestige"],
"aiUsageCount": 42,
"role": "owner"
}Webhook
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/webhooks/stripe | POST | Stripe signature | Stripe webhook handler |
Handles: checkout.session.completed, customer.subscription.created, customer.subscription.updated, customer.subscription.deleted, invoice.payment_succeeded, invoice.payment_failed
Admin Routes (Admin App)
Base: /api/admin
Authentication: Supabase session + workspace membership with minimum role
Workspaces
| Endpoint | Method | Min Role | Description |
|---|---|---|---|
/api/admin/workspaces | POST | Member | Create workspace |
/api/admin/workspaces/[id] | GET | Member | Get workspace details |
/api/admin/workspaces/[id] | PATCH | Admin | Update workspace |
/api/admin/workspaces/check-slug | GET | Member | Check slug availability |
POST /api/admin/workspaces
Body:
{
"name": "My Realty",
"slug": "my-realty",
"owner_email": "owner@example.com"
}Workspace Listings
| Endpoint | Method | Min Role | Description |
|---|---|---|---|
/api/admin/workspaces/[id]/listings | GET | Member | List listings |
/api/admin/workspaces/[id]/listings | DELETE | Admin | Bulk delete (max 100) |
/api/admin/workspaces/[id]/listings/stats | GET | Member | Listing stats |
/api/admin/workspaces/[id]/listings/agent-sync | POST | Admin | Trigger agent sync |
/api/admin/workspaces/[id]/listings/my-listings | GET | Member | Get user's listings |
GET /api/admin/workspaces/[id]/listings
Query Parameters:
property_type: Filter by typestatus: Filter by StandardStatusimport_task_id: Filter by import taskpage,per_page: Paginationsort,order: Sorting
MLS Connection
| Endpoint | Method | Min Role | Description |
|---|---|---|---|
/api/admin/workspaces/[id]/mls | POST | Admin | Create MLS connection |
/api/admin/workspaces/[id]/mls | PATCH | Admin | Update MLS connection |
/api/admin/workspaces/[id]/mls/test | POST | Admin | Test connection |
POST /api/admin/workspaces/[id]/mls
Body:
{
"base_url": "https://api.bridgedataoutput.com/api/v2/OData",
"dataset_id": "mfr_reso",
"access_token": "your-bridge-token"
}Import Tasks
| Endpoint | Method | Min Role | Description |
|---|---|---|---|
/api/admin/workspaces/[id]/imports | GET | Member | List import tasks |
/api/admin/workspaces/[id]/imports | POST | Admin | Create import task |
/api/admin/workspaces/[id]/imports/[taskId] | GET | Member | Get task details |
/api/admin/workspaces/[id]/imports/[taskId] | PATCH | Member | Update task |
/api/admin/workspaces/[id]/imports/[taskId] | DELETE | Admin | Delete task |
/api/admin/workspaces/[id]/imports/[taskId]/run | POST | Admin | Run task |
/api/admin/workspaces/[id]/imports/[taskId]/toggle | POST | Admin | Enable/disable task |
/api/admin/workspaces/[id]/imports/preview-count | POST | Admin | Preview count |
POST /api/admin/workspaces/[id]/imports
Body:
{
"name": "Miami Beach Active",
"filter": "City eq 'Miami Beach' and StandardStatus eq 'Active'",
"cadence": "hourly",
"max_records": 500,
"enabled": true
}POST /api/admin/workspaces/[id]/imports/[taskId]/run
Body:
{
"mode": "incremental" // or "full"
}Timeout: 300 seconds
Sync Management
| Endpoint | Method | Min Role | Description |
|---|---|---|---|
/api/admin/workspaces/[id]/sync/run | POST | Admin | Run full workspace sync |
/api/admin/workspaces/[id]/sync/runs | GET | Member | List sync runs |
/api/admin/workspaces/[id]/sync/runs/[runId] | GET | Member | Get sync run details |
/api/admin/workspaces/[id]/sync/runs/[runId]/cancel | POST | Admin | Cancel running sync |
Field Mapping
| Endpoint | Method | Min Role | Description |
|---|---|---|---|
/api/admin/workspaces/[id]/mapping | GET | Member | Get field mapping |
/api/admin/workspaces/[id]/mapping | POST | Admin | Create/update mapping |
/api/admin/workspaces/[id]/mapping/validate | POST | Admin | Validate mapping |
/api/admin/workspaces/[id]/mapping/[versionId]/restore | POST | Admin | Restore version |
Members & Invitations
| Endpoint | Method | Min Role | Description |
|---|---|---|---|
/api/admin/workspaces/[id]/members | GET | Member | List members |
/api/admin/workspaces/[id]/members | POST | Admin | Add member |
/api/admin/workspaces/[id]/members/[memberId] | GET | Member | Get member |
/api/admin/workspaces/[id]/members/[memberId] | PATCH | Admin | Update member |
/api/admin/workspaces/[id]/members/[memberId] | DELETE | Admin | Remove member |
/api/admin/workspaces/[id]/invitations | GET | Member | List invitations |
/api/admin/workspaces/[id]/invitations | POST | Admin | Create invitation |
/api/admin/workspaces/[id]/invitations/[invitationId] | GET | Member | Get invitation |
/api/admin/workspaces/[id]/invitations/[invitationId] | PATCH | Admin | Resend invitation |
/api/admin/workspaces/[id]/invitations/[invitationId] | DELETE | Admin | Cancel invitation |
Workspace Configuration
| Endpoint | Method | Min Role | Description |
|---|---|---|---|
/api/admin/workspaces/[id]/domains | GET | Member | List domains |
/api/admin/workspaces/[id]/domains | POST | Admin | Add domain |
/api/admin/workspaces/[id]/domains/[domainId] | PATCH | Admin | Update domain |
/api/admin/workspaces/[id]/domains/[domainId] | DELETE | Admin | Delete domain |
/api/admin/workspaces/[id]/compliance | GET | Member | Get compliance |
/api/admin/workspaces/[id]/compliance | PATCH | Admin | Update compliance |
/api/admin/workspaces/[id]/settings | GET | Member | Get settings |
/api/admin/workspaces/[id]/settings | PATCH | Admin | Update settings |
Billing Override (Platform Admin)
| Endpoint | Method | Auth | Description |
|---|---|---|---|
/api/admin/workspaces/[id]/billing | GET | Platform Admin | Get subscription + Stripe customer |
/api/admin/workspaces/[id]/billing | POST | Platform Admin | Grant/revoke billing override |
POST /api/admin/workspaces/[id]/billing
Body:
{
"is_billing_override": true,
"plan": "prestige",
"override_reason": "Charter partner — founding client"
}AI Routes (Web App)
Base: /api/dashboard/ai
Authentication: Supabase session + workspace membership
Requires workspace.settings.features.aiContentGeneration to be enabled.
Full route list is documented in the AI Content Generation section under Dashboard Routes.
POST /api/dashboard/ai/generate-blocks
Generates website content blocks (hero text, value props, about sections) using AI with automatic Fair Housing compliance checks.
Body:
{
"agentName": "Jane Smith",
"brokerage": "Luxury Homes Realty",
"serviceAreas": ["Miami Beach", "Coral Gables"],
"specialty": "luxury waterfront properties"
}Response:
{
"blocks": {
"hero": "Your Luxury Miami Waterfront Expert",
"valueProps": ["..."],
"about": "..."
},
"fairHousingCheck": {
"passed": true,
"flaggedTerms": []
},
"usage": {
"inputTokens": 250,
"outputTokens": 800,
"costCents": 2
}
}GET /api/dashboard/ai/usage
Response:
{
"currentMonth": {
"totalGenerations": 15,
"totalInputTokens": 3750,
"totalOutputTokens": 12000,
"totalCostCents": 30
},
"tier": "free",
"tierLimit": 50,
"remaining": 35
}Invitation Routes (Web App)
Base: /api/invitations
Authentication: Supabase session required
| Endpoint | Method | Rate Limit | Description |
|---|---|---|---|
/api/invitations | GET | - | Get pending invitations |
/api/invitations/[token]/accept | POST | auth (5/min) | Accept invitation |
/api/invitations/[token]/decline | POST | auth (5/min) | Decline invitation |
Workspace Discovery (Web App)
Base: /api/workspaces
Authentication: Supabase session required
| Endpoint | Method | Description |
|---|---|---|
/api/workspaces | GET | List user's workspaces |
Cron Routes (Admin App)
Base: /api/cron
Authentication: CRON_SECRET header
| Endpoint | Method | Description |
|---|---|---|
/api/cron/sync | GET | Run scheduled syncs |
GET /api/cron/sync
Headers:
Authorization: Bearer {CRON_SECRET}Runs syncs for all enabled import tasks based on their cadence settings.
Response:
{
"results": [
{
"workspace": "lainey-levin",
"import_task_id": "uuid",
"status": "success",
"records_fetched": 50
}
]
}Auth Routes (Admin App)
| Endpoint | Method | Description |
|---|---|---|
/api/auth/callback | POST | OAuth callback handler |
Common Response Formats
Success Response
{
"data": { ... },
"meta": {
"page": 1,
"per_page": 24,
"total": 150
}
}Error Response
{
"error": "Error message",
"code": "ERROR_CODE",
"details": { ... }
}Pagination
{
"data": [...],
"pagination": {
"page": 1,
"per_page": 24,
"total": 150,
"total_pages": 7,
"has_next": true,
"has_prev": false
}
}HTTP Status Codes
| Code | Meaning |
|---|---|
| 200 | Success |
| 201 | Created |
| 204 | No Content (successful deletion) |
| 400 | Bad Request (validation error) |
| 401 | Unauthorized (not authenticated) |
| 403 | Forbidden (insufficient permissions) |
| 404 | Not Found |
| 409 | Conflict (duplicate resource) |
| 429 | Too Many Requests (rate limited) |
| 500 | Internal Server Error |
Related Documentation
- Bridge API - Bridge Interactive API reference
- Custom Domains - Custom domain setup
- Runbook - Operations runbook
- Troubleshooting - Common issues