Audience: developers. API keys and the REST API are included on Pro and Enterprise (and legacy Pro and Scale plans) and on AppSumo Tiers 5 to 9. They are not available on Free, Starter, AppSumo Tiers 1 to 4 or during the Pro trial. Support agent: confirm the user’s plan includes API access before giving API advice.
TL;DR: Every request uses Authorization: Bearer clapi_.... Create keys in Settings → API keys → Create API key; the key is shown once. Each user can have 10 active keys per workspace. Review usage with View requests and remove access with Revoke or Revoke all.
Authentication
CluGTM uses standard HTTP Bearer authentication. Every request to the v1 API (/api/v1/public/*) must include an Authorization header with a valid clapi_ API key.
Authorization: Bearer clapi_your_api_key_hereThe same key works on the v2 API. v1 endpoints don’t check scopes; v2 endpoints each require a scope, such as enrich:write.
Key basics
| Property | Value |
|---|---|
| Prefix | clapi_ |
| Belongs to | You, in the workspace where you created it. Calls run as you and use that workspace’s credits and lists |
| Shown | Once, right after you create it. Afterwards only the first characters and the last 4 are displayed |
| Limit | 10 active keys per user in each workspace |
| Expiry | Optional. A key with no expiry works until you revoke it |
Copy the key as soon as you create it and store it in a secret manager or environment variable. If you lose it, revoke it and create a new one.
Creating a key
- Open app.clugtm.com and go to Settings → API keys.
- In the Create API key section, optionally fill in:
- Name: a label so you can tell keys apart, for example “CI integration”.
- Expiry: a date and time after which the key stops working.
- Click Create API key.
- Copy the key from the New API key box (“copy now, it won’t be shown again”).
If you already have 10 active keys, creation fails with “Maximum active API keys reached (10). Revoke an existing key before creating a new one.”
If your plan doesn’t include API access, the page shows The CluGTM API. upgrade card instead of the form. During the Pro trial, keys can’t be created; pick a plan that includes the API first.
Viewing and auditing keys
The Your API keys section lists every key you created in this workspace, with an N active count. For each key you see:
- its name (or “Unnamed key”) and an Active or Revoked badge,
- the first characters and last 4 characters of the key,
- Created, Last used and Expires dates, and the number of requests.
Click View requests to open the key’s 50 most recent requests (method, path, status code, duration and time). Click Hide requests to close it.
To list keys or pull usage reports from code, use the v2 endpoints GET /api/v2/api-keys and GET /api/v2/usage (scope admin:api_keys). See v2 authentication.
Revoking keys
- Revoke next to a key revokes that key.
- Revoke all revokes every key you have in this workspace (useful if you suspect a leak).
Revocation takes effect immediately and can’t be undone. Create a new key if you need access again.
Using a key
cURL
curl https://api.cleanlist.ai/api/v1/public/auth/validate-key \
-H "Authorization: Bearer clapi_your_api_key"GET /api/v1/public/auth/validate-key
Confirms a key works and shows who it belongs to. It costs no credits and counts toward the rate limit.
{
"valid": true,
"user_id": "user_2abcJANEdoe456",
"organization_id": "org_2acmeIO789xyz"
}| Field | Meaning |
|---|---|
valid | Always true on a 200. An invalid key never reaches this response; it fails with 401 |
user_id | The user the key belongs to |
organization_id | The workspace whose credits, lists and rate limit the key uses |
Security best practices
- Never commit
clapi_keys to source control. - Keep keys in a secret manager (AWS Secrets Manager, Doppler, 1Password, Vault) or environment variables.
- Use a separate key per environment (development, staging, production) and give each a Name.
- Set an Expiry on keys used for short-lived jobs.
- Check Last used and View requests for unexpected activity, and Revoke a key the moment it leaks.
Authentication errors
| Status | Message | Fix |
|---|---|---|
401 | “Invalid or expired API key” | The key is wrong, revoked or past its expiry. Create a new key |
401 / 403 | “Not authenticated” | The Authorization: Bearer ... header is missing or malformed |
403 | “Public API access is not included during the trial. Use the signed-in app or choose a paid plan.” | Choose a plan that includes the API in Settings → Plans & billing |
403 | “Public API access is not included in the current plan. Choose an eligible plan to use the public API.” | Move to Pro or Enterprise in Settings → Plans & billing |
429 | “Rate limit exceeded…” | Wait for the Retry-After seconds, then retry. See Errors |