Skip to main content
ODAI exposes two API surfaces: a WebSocket API for real-time chat streaming and a REST API for authentication, integrations, and health checks. All API traffic runs over TLS. The base URL depends on your environment:
EnvironmentBase URL
Productionhttps://api.odai.com
Developmenthttp://localhost:8080

Authentication

WebSocket connections authenticate via a Firebase ID token passed as a query parameter:
wss://api.odai.com/chats/{chat_id}?token={firebase_id_token}
REST endpoints that require authentication use the Authorization header:
Authorization: {firebase_id_token}
Firebase ID tokens are short-lived (1 hour). Your client should refresh the token before it expires and reconnect the WebSocket with the updated token.

Endpoint index

MethodPathAuthDescription
WS/chats/{chat_id}RequiredReal-time chat streaming
GET/NoneServe static file (dev) or redirect to odai.com (prod)
GET/testNoneHealth check — returns service status and active connection count
POST/waitlistNoneAdd an email address to the waitlist
POST/emailNoneAlias for /waitlist
POST/google_access_requestRequiredInitiate Google OAuth access flow
GET/update_integrationsNoneReload agent integration configurations
GET/auth/google/loginRequiredRedirect to Google OAuth consent page
GET/auth/google/callbackNoneOAuth callback — exchanges code for tokens
POST/auth/plaid/create_link_tokenRequiredCreate a Plaid Link token
POST/auth/plaid/set_access_tokenRequiredExchange Plaid public token for access token
GET/auth/plaid/accountsRequiredList connected bank accounts
DELETE/auth/plaid/accounts/{account_id}RequiredDisconnect a bank account
WS/app/voice/stream/{session_id}RequiredIn-app voice session over WebSocket

API surfaces

WebSocket API

Real-time bidirectional chat with streaming text, tool call events, and agent handoff events

REST endpoints

Health checks, OAuth flows, waitlist management, and integration reloading

Agent pattern

How to implement a new agent following ODAI conventions

Tool responses

Standardized ToolResponse format used by all agents

Build docs developers (and LLMs) love