Create an API key on the Integrations page, under the API Keys tab, then send it as a bearer token to https://api.fuzegenai.com/api/v1. API access is included on the Professional plan and above; see pricing.
Create a key
- Open Integrations from the sidebar and choose the API Keys tab.
- Click Create your first API key. If you already have keys, the button reads Create API key.
- Fill in Key name, for example "Production backend". The name appears in the list and in audit logs, and cannot be changed later.
- Pick a Scope: Read-only, Read & write, All resources (read) or All resources (read/write). Start with the narrowest one that works.
- Pick Expires: 30 days, 90 days (recommended), 180 days, 1 year, or Never expires.
- Click Create key.
The dialog then shows the full key under Your new API key. This is the only time you will see it. Fuzegenai stores a one-way hash, so nobody can recover the value for you later. Copy it into a secret manager, then click I've saved it — close.
You need permission to manage API keys in the workspace. Professional allows up to 5 keys and Enterprise up to 50.
Authenticate a request
Send the key in the Authorization header using the Bearer scheme. Every key belongs to one workspace, and requests run as the user who created the key, with that user's permissions.
curl https://api.fuzegenai.com/api/v1/automation/me \
-H "Authorization: Bearer $FUZEGENAI_API_KEY"
A valid key returns the workspace and the key's own details:
{
"organizationId": 42,
"apiKey": {
"id": 7,
"name": "Production backend",
"scopes": ["read"],
"expiresAt": "2026-12-19T00:00:00.000Z"
}
}
A missing, unknown or expired key returns 401. A key without the scope an endpoint needs returns 403 with the code API_KEY_SCOPE_REQUIRED and the missing scope names.
Endpoints built for API keys
These routes under /api/v1/automation accept only API keys:
| Method and path | Scope needed | What it does |
|---|---|---|
GET /me | read | Validates the key |
GET /campaigns | read | Lists campaigns; accepts page and limit |
GET /campaigns/:id | read | Returns one campaign |
GET /campaigns/:id/sequences | read | Returns the campaign's sequence steps |
POST /campaigns/:id/status | write | Sets status to DRAFT, ACTIVE, PAUSED, COMPLETED or ARCHIVED |
POST /campaigns/:id/leads | write | Adds leads to a campaign |
Read-only and All resources (read) satisfy every read scope. Read & write and All resources (read/write) satisfy read and write scopes.
To add leads, post a non-empty leads array. Only email is required on each lead; name, company, phone, position, source, notes and tags are optional.
curl -X POST https://api.fuzegenai.com/api/v1/automation/campaigns/123/leads \
-H "Authorization: Bearer $FUZEGENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"leads":[{"email":"jane@example.com","name":"Jane Doe","company":"Acme"}]}'
API reference
The full interactive reference is served by the API itself at https://api.fuzegenai.com/docs. The raw OpenAPI document is at https://api.fuzegenai.com/docs/openapi.json, which you can feed to any OpenAPI client generator. There are no official SDK packages.
Rate limits
Requests are counted per API key. Every response carries X-RateLimit-Limit-Default, X-RateLimit-Remaining-Default and X-RateLimit-Reset-Default. When you go over the limit you get 429 with a Retry-After header. Wait that many seconds before you retry; requests sent while you are blocked are rejected too.
Rotate or revoke a key
Keys cannot be edited. To rotate, create a new key, deploy it, then revoke the old one.
- On the API Keys tab, open the menu at the end of the key's row.
- Click Revoke key, then confirm with Revoke key.
Any service still using that key loses access immediately, and this cannot be undone. The list flags keys that are about to expire, keys older than 90 days, and keys unused for 180 days, so you can tidy up.
To push campaign events into another tool instead of polling, see automate with Zapier, Make or n8n. The API overview summarises what you can build. Questions about the API: priority@fuzegenai.com.