Where to manage keys
Go to Settings → Integrations → API Keys. Creating, revoking, and deleting keys requires theowner or admin role for the workspace; any workspace member can view the list of existing keys (by name and prefix only — never the full secret).
Creating a key
- Click Create key.
- Give it a descriptive name (e.g. “Production integration”, “Zapier sync”).
- Choose a scope (see below).
- Optionally set an expiry — Never, 30 days, 90 days, or 1 year.
- Click Create key. The full key is displayed once in a dialog — copy it immediately. Switchbord stores only a SHA-256 hash and an 8-character prefix for display; the raw secret cannot be recovered afterward.
Key format
Generated keys are prefixedswb_ (some legacy provisioning tooling and internal scripts still mint sk_live_-prefixed keys for bootstrap purposes — both formats validate the same way). The prefix makes keys easy to spot in logs and diffs, and lets automated secret-scanning catch an accidentally committed key quickly.
Scopes
Every key is created with exactly one scope, which bounds what it can do regardless of which endpoint it calls:
Choose the narrowest scope that does the job — a script that only needs to read contacts shouldn’t hold a
management key.
Authenticating requests
Pass the key as a Bearer token:last_used_at is updated.
Revoking and deleting
- Revoke immediately invalidates a key for authentication while keeping its record (and usage history) visible in the list, marked as revoked.
- Delete removes the key record entirely.
Expiry
Keys can be set to never expire, or to expire automatically after 30 days, 90 days, or 1 year. An expired key fails authentication the same way a revoked one does — requests return a 403 rather than silently succeeding.See also
- API Reference — Introduction — the public REST API surface, base URL, and core v1 endpoints.
- Template API endpoints — an example of an authenticated, scope-checked route.
- Security — Secrets & Encryption — how keys and other secrets are hashed and stored at rest.