Skip to content

Authentication

Chatevo supports two authentication modes depending on who calls the API.

ModeUse caseHow to authenticate
Session cookieDashboard UI, Agent Builder, browser-based adminLog in at https://app.chatevo.ai; session cookie sent automatically
API keyServer integrations, CI/CD, Direct API deploymentsAuthorization: Bearer <api_key> header

Widget endpoints use deployment-scoped auth (deployment ID + allowed domain, optional JWT). They do not accept organization API keys from the browser.

Create keys under Settings → API keys in the dashboard.

GET https://api.chatevo.ai/api/v1/assistants
Authorization: Bearer ch_live_a1b2c3d4e5f6g7h8
Accept: application/json
PrefixScopeNotes
ch_live_ProductionFull access to resources in your organization
ch_test_SandboxSame API surface; isolated test data where supported

Keys inherit the permissions of the user who created them. Use a dedicated service account or admin user for automation. Keys can be revoked instantly from the dashboard.

  • Never commit API keys to source control.
  • Store in a secrets manager (Vault, AWS Secrets Manager, etc.).
  • Rotate keys periodically and after team member offboarding.

After email/password or Google OAuth login, the dashboard receives an HTTP-only, Secure, SameSite session cookie.

PropertyValue
TransportHTTPS only (TLS 1.2+)
Cookie flagsHttpOnly, Secure, SameSite=Lax
LifetimeSliding expiration; re-auth required after idle timeout

Session cookies are appropriate for dashboard and Agent Builder requests. Do not embed session cookies in public websites.

Public widget traffic is authenticated differently:

CheckPurpose
deployment_idIdentifies the widget deployment
Origin / RefererMust match allowed domains
JWT (optional)Identity verification for logged-in users

See Widget config and Widget messages.

When assistants call your external APIs, Chatevo uses stored credentials (API keys, OAuth tokens, HMAC secrets) configured under Credentials. These are encrypted at rest and never returned in API responses or exposed to widget visitors.

StatusCodeFix
401unauthorizedMissing or invalid API key / expired session
403forbiddenValid auth but insufficient role (e.g. viewer calling admin-only endpoint)