API overview
Programmatic access to your workspace with org API keys.
API overview
The API lets you do, programmatically, anything a member of your workspace can do in the app: read and write tasks, clients, leads, invoices, payments, inventory, and more. It is authenticated with org API keys that you create in Settings -> Developer, and each key is scoped to exactly the resources and actions you choose.
Requirements
- The Custom API is a max-tier feature. You can only create API keys on the top plan, and existing keys stop working if the workspace later drops below it (every request re-checks the plan). See Billing.
- The
DEVELOPERpermission is required to create or manage keys.
Two ways to call it
| Surface | Use it for |
|---|---|
Action API (/api/v1/trpc/...) | Everything. Every workspace + org-admin action is exposed here, one endpoint per action. See Calling the API. |
REST convenience (/api/v1/leads) | A small, plain-REST surface for leads (list / create / get / update / delete). Handy for no-code tools. |
Both use the same API key and the same per-resource scopes.
Base URL
https://<your-workspace-domain>/api/v1
Use your workspace's domain (or custom domain, if configured).
Quick start
- Open Settings -> Developer, click New key, name it, and grant it the
scopes it needs (for example,
leads: read, create). - Copy the key (
sk_...) - it is shown only once. - Call an endpoint with the key in the
Authorizationheader:
curl "https://<your-workspace-domain>/api/v1/trpc/leads.getAll" \
-H "Authorization: Bearer sk_xxx"
Next: Authentication and Calling the API.