Authentication
All API requests require authentication. There are three ways to authenticate:
| Method | Scenario |
|---|---|
API Key in Authorization header |
Direct server connections |
Token in Authorization header |
End-user client connections |
| Token in sub-protocol header | Browser WebSocket connections |
API Key
Section titled “API Key”The simplest way to authenticate server-to-server calls. Include your API key directly in the Authorization header — no token exchange required.
Authorization: ApiKey <your_api_key>API keys are scoped to a client and can be created and managed from the console.
For client-side applications, use a short-lived access token instead of exposing your API key. Your server requests a token using the API key, then passes the token to the client.
Authorization: Bearer <your_access_token>See the token endpoint for how to obtain an access token.
Token in Browser
Section titled “Token in Browser”Browser WebSocket APIs do not support custom headers. As an alternative, pass the access token via the Sec-WebSocket-Protocol header:
Sec-WebSocket-Protocol: bearer, <your_access_token>In JavaScript, the browser WebSocket API sets this header automatically:
const ws = new WebSocket(url, ["bearer", accessToken]);