Reference
Authentication and API keys
Create, scope, send, rotate, and revoke Teml credentials safely.
Human dashboard sessions and programmatic API keys are separate credentials. Use API keys for SDKs, collectors, CI, CLI automation, and MCP clients.
Create a key
Open Settings → Access, create an API key, select a project when appropriate, and add only the required scopes. The key is shown once.
Teml keys begin with tm_. Treat the rest as opaque; do not parse meaning from it.
Send an API key
The public REST API accepts:
X-Teml-API-Key: tm_...
It also accepts the generic X-API-Key header and Authorization: ApiKey tm_.... MCP clients
normally use:
Authorization: Bearer tm_...
Use the header documented by the SDK or client you are configuring rather than sending multiple credential headers.
Common key recipes
Scopes use resource:action names.
| Purpose | Required starting scopes |
|---|---|
| OTLP traces, logs, metrics, and captured errors | ingest:write |
| SDK identity, group, and diagnostic events | analytics:write in addition to ingest:write |
| Browser session replay | replay:write |
| Evaluate feature flags and record exposures | flags:read plus analytics:write |
| Upload source maps, ProGuard mappings, or dSYM binaries | errors:write |
| Register a release in CI | releases:write |
| Read through MCP | mcp:read |
| Allow MCP writes | mcp:write plus domain-specific scopes |
| Search logs | logs:read |
| Read traces | traces:read |
| Read or triage Issues | errors:read or the required error write scope |
Most application SDK integrations therefore use a project-scoped custom key with ingest:write
and analytics:write. Add replay:write only to a browser key that records replay. The
Ingest only preset covers OTLP and error ingestion; it does not authorize identity/events or
replay.
Client-side feature flags are the narrow exception to the usual no-read-scope rule. A browser flag
key requires flags:read, which also makes the project’s flag configuration readable to that
client. Keep flag targeting and payloads free of secrets.
The Access screen is the current source for the complete scope catalog. See the permission scope reference for the selectable groups and safe key patterns.
Project scope
A project-scoped key cannot be widened by passing a different project_id. For organization-level
keys, many REST reads accept project_id as a query parameter.
Rotate and revoke
Create the replacement key, deploy it, confirm traffic uses it, then revoke the old key. Revoke immediately if a key is committed, logged, included in a screenshot, or exposed to an untrusted client.