API Keys
All Enterprise API requests are authenticated with an API key in theAuthorization header:
avoca_<64 hex characters> — the avoca_ prefix followed by a cryptographically random hex token. Keys are stored hashed; treat them like passwords and never commit them to source control.
Obtaining API Keys
API keys are managed in the Avoca dashboard:- Team-level keys:
Settings → API Keyson your team (/team/[slug]/settings/api-keys) - Enterprise-level keys:
Settings → API Keyson your enterprise (/enterprise/[slug]/settings/api-keys)
Key Types
Permissions
Each key is configured with permission scopes controlling which endpoints it can call. Calling an endpoint without the required permission returns403 Forbidden.
Multi-team Behavior
- Cross-team v1 endpoints (
/api/v1/sessions,/api/v1/bookings,/api/v1/analytics/funnel) aggregate across all teams the key can access, with an optionalteam_idquery filter. - Enterprise-scoped routes (
/api/v1/enterprise/:enterpriseId/...) require anenterprise_all_teamskey whose enterprise matches the path. The support-ticket feed additionally requiresread:support_tickets. - Designated internal QA/test teams are excluded from multi-team aggregations by default; pass
include_test_teams=trueto include them. Explicitly team-addressed requests are never filtered.