Skip to main content

Authentication

Chat completions and transcription are both authenticated with the same API key, sent as a header:

X-API-Key: YOUR_API_KEY

For these two endpoints there is no OAuth flow, bearer-token exchange, or request signing — the key is the credential.

Genesys's two connector integrations each authenticate differently, and in both cases you don't construct the credential yourself — you create a connector from the dashboard's Genesys page, paste its URI and credentials into Genesys Cloud's own connector setup, and Genesys Cloud generates and sends the credential automatically on every call:

  • Genesys Summarization Connector: Authorization: Bearer <jwt>, signed with a connector-specific client secret. See the Genesys API reference for the contract.
  • AudioHook streaming transcription connector: X-API-Key: <client id> plus an RFC 9421 HTTP Message Signature (Signature/Signature-Input headers) over the WebSocket handshake, HMAC-SHA256'd with the connector's client secret. See AudioHook for the full protocol.

Getting a key​

API keys are issued per organization from the dashboard's API Keys page by an Admin or Member. The full secret is only ever shown once, at creation time; the dashboard afterwards shows only the last four characters, so treat it like a password and store it in a secrets manager, not in source control.

Key properties​

  • Scoped to an organization, not an individual user. Any request authenticated with a key acts on behalf of that org — usage, rate limits, and quota are all tracked per org.
  • Revocable independently. Revoking one key has no effect on any other key belonging to the same org.
  • Can carry its own system prompt override, layered on top of (and taking priority over) the org's default — see System Prompts.

Errors​

An invalid, revoked, or missing key returns:

HTTP/1.1 401 Unauthorized
{"detail": "Invalid or missing API key"}

See Errors for the full list of status codes the API can return.

Rotating a key​

There's no in-place "regenerate secret" — create a new key, switch your integration over to it, then revoke the old one. Because keys are independently revocable, this is zero-downtime as long as both keys are live during the cutover.