GET /
Returns a staticindex.html file in development. In production, redirects the client to https://odai.com.
Authentication: None
GET /test
Health check endpoint. Returns the service status, environment name, and the current number of active WebSocket connections. Authentication: NoneAlways
"success" when the service is healthy.Service identifier. Always
"ODAI API".Current runtime environment. Either
"production" or "development".Number of currently active WebSocket connections.
200
POST /waitlist
Adds an email address to the ODAI waitlist. Authentication: NoneContent-Type:
application/x-www-form-urlencoded
Request parameters
Email address to add to the waitlist.
Response
"success" on successful insertion, "error" if the operation fails.Present only on error. Human-readable error description.
200
POST /email
Alias forPOST /waitlist. Accepts the same parameters and returns the same response schema.
Authentication: NoneContent-Type:
application/x-www-form-urlencoded
Request parameters
Email address to add to the waitlist.
200
POST /google_access_request
Initiates a Google OAuth access flow for a user. The server validates the Firebase ID token from theAuthorization header, then uses the provided email to begin the access request process.
Authentication: Required (Firebase ID token in Authorization header)Content-Type:
application/x-www-form-urlencoded
Request parameters
Firebase ID token for the authenticated user. Passed as a plain header value (not a Bearer prefix).
The Google account email address for which access is being requested.
GET /update_integrations
Triggers a reload of all agent integration configurations fromintegrations.yaml. Call this endpoint after modifying integration definitions to apply changes without restarting the server.
Authentication: None
"success" when integrations have been reloaded.200
This endpoint has no authentication guard. Restrict access to it in production via your network layer or reverse proxy if you want to prevent unauthorized integration reloads.