Skip to main content
Every request must include an API key as a Bearer token:
Create and manage keys in Settings → API Keys. A key is shown once at creation — store it securely.

Key types

Secret keys — gt_live_

Full server-side keys. Use only from your backend, never in a browser. Gated by the workspace’s API-v1 entitlement.

Publishable keys — gt_pub_

Client-safe, write-only keys for browser ingest. Origin-pinned and CORS-enabled, with only the write:ingest scope. Safe to ship in front-end code.

Scopes

Each key is granted a set of scopes. A request needs the scope its endpoint requires, or it returns 403 Insufficient scope. A key with the * scope passes any check. Grant only what a key needs. Other scopes exist for surfaces not yet on the public API (for example read:revenue, read:health, read:deals).

Errors

Every error returns the same envelope: a machine-readable code, a safe message, and a doc_url.
Branch on error.code, not the message. The full reference, including what to do for each, is on the Errors page.
Treat gt_live_ keys like passwords. If one leaks, revoke it in Settings > API Keys. Validation checks revocation on every request.
Last modified on July 7, 2026