Skip to main content
Version: 0.9.16

API keys

Path: /settingsAPI Keys tab

API keys let external systems talk to TelAPI — primarily for initiating and querying WebRTC call sessions. The tab is only visible if a superadmin has enabled API access for your team (Admin Settings → Teams → API Access Configuration).

Prerequisites

A superadmin must:

  1. Enable API access for the team.
  2. Configure allowed scopes the team can assign to keys.
  3. Set max API keys (per team).
  4. Optionally set max requests / day (rate limit).

Usage stats

The tab header shows:

StatDescription
API KeysCurrent count vs. maximum (e.g. 1 / 2).
Requests TodayRequests made today vs. daily limit, if configured.
Available ScopesScopes assignable to new keys.

Available scopes

ScopeDescription
CREATE_CALL_TOKENCreate call tokens for initiating WebRTC sessions.
READ_CALL_TOKENRead / query existing call tokens.
READ_TEAM_APPSList the team's apps and their metadata — useful when your backend selects the endpoint dynamically.
READ_TEAM_USAGERead team usage aggregates, including TTS character usage.

These scopes apply to the browser/SDK portion of TelAPI when API access is enabled for the team. The async LLM webhook endpoint (/api/v1/webhooks) uses its own auth and isn't controlled by these scopes. See API authentication.

Columns

ColumnDescription
NameFriendly name.
ScopesAssigned scopes (chips).
CreatedCreation timestamp.
Last UsedWhen the key was last used.

Key security

  • The key value is shown only once at creation. Copy it immediately.
  • After creation, the key is masked and cannot be retrieved.
  • If lost, delete and re-create.

Credential retry jail

TelAPI tracks repeated authentication failures for API keys (and webhook credentials when enabled). After too many failures inside a short window, the credential is temporarily jailed and further requests are rejected until the jail expires.

VariableDefaultPurpose
API_CREDENTIAL_JAIL_ENABLEDtrueMaster switch for the jail.
API_CREDENTIAL_MAX_RETRIES5Failures allowed inside the window before jail.
API_CREDENTIAL_RETRY_WINDOW_MS300000Sliding window for counting failures (5 minutes).
API_CREDENTIAL_JAIL_MS300000How long a jailed credential stays blocked (5 minutes).
API_CREDENTIAL_JAIL_WEBHOOKS_ENABLEDtrueApply the same jail to webhook auth failures.

These settings live on the API host — see the environment variable index and API operations.

Workflows

Create a key

  1. Click Create.
  2. Enter a friendly Name.
  3. Select Scopes.
  4. Click Create. Copy the key shown.
  5. Store securely in your application's config.

Delete a key

Use the row action; confirm. The key is invalidated immediately.

See also