Skip to main content

REST API

Everything in Cortex is a REST API call. The TypeScript SDK is a convenience layer over this exact API — so if you work in a language without an official SDK, you can build your own client against it with no loss of capability.

Open the interactive REST reference

Base URL​

https://cortex.odin.4players.io/api

All endpoints are served under the /api prefix.

Authentication​

Send credentials on every request. Two mechanisms are relevant to integrators:

API key (server-to-server) — either header form works:

X-API-Key: ots_live_xxxxxxxxxxxxxxxxxxxx
Authorization: ApiKey ots_live_xxxxxxxxxxxxxxxxxxxx

JWT bearer token (dashboard/user sessions):

Authorization: Bearer eyJhbGciOi...

Create and scope API keys in the dashboard. See Authentication for the full picture (including scopes).

Conventions​

  • Project scoping — most resources live under a project: /api/projects/{projectId}/sessions, /api/projects/{projectId}/gatherings, and so on. See Multi-Tenancy & Projects.
  • JSON — request and response bodies are application/json.
  • Create / update / delete carry identifiers in the path and payloads in the body; GET endpoints use query parameters for optional filtering and pagination.
  • Errors use standard HTTP status codes — 401/403 for auth, 404 for missing resources, 422 for validation, 429 for rate limits. The SDK maps these to typed errors.

Endpoint groups​

The reference is organized by resource. The main groups:

GroupWhat it covers
SessionsCreate, start, stop and read transcription sessions and their messages
MessagesTranscripts for a session (and debug audio)
ParticipantsPer-project speaker identities
GatheringsLobbies, appointments and open spaces; members and invitations
SanctionsModeration actions and their audit trail
Plugins / Plugin InstancesThe plugin catalog and per-project activations
FunctionsServerless function settings, versions and deployment
WebhooksEvent subscriptions and the delivery log
EventsThe real-time event stream (SSE)
API Keys / App Settings / AuthAccount, project configuration and tokens

Building your own client​

The reference is generated directly from the Cortex OpenAPI specification, so it’s an exact, machine-readable contract. You can:

  • Point a generator (OpenAPI Generator, openapi-typescript, etc.) at the spec to scaffold a client in your language.
  • Use the “Try it” console on each endpoint page to experiment with live requests.

The spec is available at https://cortex.odin.4players.io/api/docs-json.

Real-time​

For live updates, the API exposes a Server-Sent Events stream rather than requiring you to poll. See Events & Real-time — and note the SDK’s watch() builds on it for you.