Skip to Content
BackendAPI Reference
API map

Find the route, access boundary, and product responsibility.

This is a human-readable map of the current Express surface. `server.js` remains the executable source of truth for exact request and response schemas.

Access labels

  • Public: no account required; rate limits and input validation still apply.
  • Optional auth: works without a session but returns richer tenant/plan context when signed in.
  • Authenticated: requires a valid server session.
  • CSRF write: authenticated state-changing request requiring the current CSRF token.
  • Workspace admin: authenticated admin/owner role inside the active tenant.
  • Owner/staff: platform-level Superadmin permission, separate from workspace roles.
  • Host token: meeting-host authority carried by the private host URL/token.

Feature and identity

GET/api/featuresOptional auth
Plan, entitlements, user, and active-tenant feature context for public product screens.
POST/api/authPublic / session
Actions include login, register, check, logout, forgot password, OAuth exchange, and CSRF retrieval.
GET/api/meAuthenticated
User profile, tenant memberships, active tenant, plan, entitlements, and domain-claim context.
GET/api/account/exportAuthenticated
Exports account and active-workspace data as JSON.
DELETE/api/accountCSRF write
Permanently deletes the authenticated account after an explicit confirmation value.

Workspaces, teams, and identity

GET/api/tenantsAuthenticated
Lists available workspaces.
POST/api/tenantsCSRF write
Creates a new workspace and initial owner membership.
POST/api/tenants/switchCSRF write
Changes the active tenant cookie after membership validation.
GET/api/workspace/usageAuthenticated
Recording, storage, member, and active-share usage.
GET · PATCH/api/workspace/security-settingsMember read / admin write
Tenant retention, guest, download, translation, invite, watermark, data-region, and share-default policy.
GET/api/workspace/membersAuthenticated
Members, roles, and pending invitations for the active tenant.
POST/api/workspace/invitesPaid admin + CSRF
Creates and sends a workspace invitation.
PATCH · DELETE/api/workspace/members/:userIdAdmin + CSRF
Changes roles or removes a member with owner-safety rules.
POST/api/workspace/owner-transferOwner + CSRF
Begins or completes an explicit workspace ownership transfer.
GET · PATCH/api/workspace/identityAdmin
Reads or changes enterprise identity provider configuration.
POST · DELETE/api/workspace/identity/scim-tokensAdmin + CSRF
Issues or revokes hashed SCIM bearer tokens.

Recordings and media

POST/api/recordingsPaid + CSRF
Multipart upload for a workspace recording.
POST/api/recordings/direct-upload/initiatePaid + CSRF
Starts resilient multipart R2 upload for large media.
POST/api/recordings/direct-upload/part-urlPaid + CSRF
Returns a signed URL for one upload part.
POST/api/recordings/direct-upload/completePaid + CSRF
Completes multipart upload and creates processing state.
GET/api/recordingsAuthenticated
Lists active-tenant assets with search, folder, and source filters.
PATCH/api/recordings/:idCSRF write
Updates title, description, folder, and supported metadata.
PATCH/api/recordings/:id/timelineCSRF write
Updates non-destructive timeline/edit configuration.
PUT/api/recordings/:id/clipsCSRF write
Replaces clip definitions for the recording workspace.
GET · POST/api/recordings/:id/versionsAuthenticated / CSRF write
Lists, creates, activates, or updates recording versions.
POST/api/recordings/:id/exportsCSRF write
Queues or creates MP4, GIF preview, audio, or other configured media exports.
GET/api/recordings/:id/playbackAuthenticated
Returns authorized playback metadata or redirect.
GET/api/recordings/:id/transcript.:formatAuthenticated
Downloads transcript as TXT, VTT, or SRT.
GET/api/recordings/:id/analyticsPaid
Viewer activity, watch time, and comment insights.
GET/api/recordings/:id/workspaceAuthenticated
Meeting recap/workspace data including summary, decisions, action items, clips, and bilingual transcript.
POST/api/recordings/:id/askAI-entitled + CSRF
Answers a question grounded in stored transcript context.
DELETE/api/recordings/:idCSRF write
Soft-deletes the asset and schedules/best-effort removes related R2 objects.

Sharing and public playback

POST/api/recordings/:id/sharePaid + CSRF
Enables or returns a share link.
POST/api/recordings/:id/unshareCSRF write
Disables the current share link.
POST/api/recordings/:id/rotate-sharePaid + CSRF
Invalidates the old public token and creates a new one.
POST/api/recordings/:id/share-settingsPaid + CSRF
Updates access mode, password, comments, downloads, branding, metadata, transcript, translation, and CTA visibility.
GET/api/share/:shareIdPublic / password cookie
Returns safe public metadata; protected fields remain hidden until password access succeeds.
POST/api/share/:shareId/accessPublic rate-limited
Validates a share password and sets an HTTP-only access cookie.
GET/api/share/:shareId/playbackPublic / password cookie
Returns authorized playback delivery.
GET · POST/api/share/:shareId/commentsPublic / settings
Lists or creates comments when allowed by the share configuration.

Meetings, speech, and translation

GET/api/meetings/challengePublic
Returns proof-of-work material for public room creation anti-abuse.
POST/api/meetingsPublic rate-limited
Creates a room and private host admission link using optional-auth plan limits.
GET/api/meetings/configOptional auth
ICE, SFU, caption, STT, translation, feature, and entitlement configuration safe for clients.
GET/api/meetings/:roomIdPublic
Room existence, expiry, duration label, persistence, and SFU status.
WS/api/meetings/wsRoom / host token
Admission, presence, WebRTC signaling or SFU token delivery, chat, captions, hydration, and time limits.
POST/api/meetings/:roomId/server-recordingPaid host + CSRF
Starts or stops configured LiveKit/SFU server recording.
POST/api/meetings/:roomId/transcript/entriesOwner + CSRF
Persists incremental caption segments and closes the capture interval.
GET/api/meetings/:roomId/summaryOwner
Returns resumable meeting-summary status and result.
POST/api/meetings/:roomId/summary/regenerateAI-entitled owner + CSRF
Retries or regenerates the meeting summary.
GET · POST/api/meetings/scheduledAuthenticated / CSRF write
Lists, creates, updates, and deletes scheduled meeting entries.
GET/api/stt/healthPublic rate-limited
Reports the configured self-hosted STT upstream health.
POST/api/stt/transcribeMeeting AI access
Transcribes a multipart audio segment through the configured hosted/self-hosted path.
GET/api/translate/languagesPublic rate-limited
Lists languages exposed by the configured translation provider.
POST/api/translateMeeting AI access
Translates text/audio through the server-side provider boundary.

Billing, licensing, and domains

POST/api/billing/checkoutCSRF write
Creates Stripe Checkout for the active workspace and configured trial.
POST/api/billing/portalCSRF write
Creates a Stripe customer portal session.
POST/api/webhooks/stripeSigned webhook
Applies idempotent subscription and billing events.
GET · POST/api/appsumo/*Public / authenticated buyer
Lists deals, returns safe license state, and redeems buyer codes.
GET · POST/api/domainsPaid workspace
Lists or adds custom domains.
PATCH · DELETE/api/domains/:idPaid admin + CSRF
Changes purpose/primary selection or releases the domain.
POST/api/domains/:id/verifyPaid admin + CSRF
Checks ownership and routing records.
GET/api/internal/domains/allow-hostCaddy token
Authorizes on-demand TLS only for verified, entitled domains.

Platform operations

The /api/superadmin/* family covers overview, users, tenants, subscriptions, billing events, reports, tickets, notes, operations, jobs, incidents, security events, reviews, suspicious activity, feature flags, settings, staff access, and audited support workflows. Every route applies platform-level permission checks and no-cache behavior; workspace ownership alone never grants Superadmin access.

Operational endpoints include /health, /api/internal/health/ops, /metrics, Stripe and LiveKit webhooks, internal playback authorization, and public branding/configuration.