Skip to content
Clevera Help Center

Fix AI agent and API errors

Every message an AI agent, script or person may see with Clevera's API, MCP server and AI agents & API page, grouped by cause: tokens, plan, permissions, paid work, rate limits, conflicts and connecting apps, with the fix.

Updated 10 min read

When Clevera refuses an agent's call, the agent gets a code and a message that says what to do. This article lists every message an agent, script or person may see with AI agents & API, what causes it and how to fix it. Over the REST API the code is in error.code; over MCP the same message comes back as a tool error.

The token isn't accepted

Message Code Cause Fix
"Send a Clevera agent token (Authorization: Bearer clv_agent_…) or connect through OAuth. Create a token in Integrations → AI agents & API." unauthenticated No token was sent. Send Authorization: Bearer <token>. Check that CLEVERA_TOKEN is set where the agent runs.
"That is not a valid Clevera agent token. Create one in Integrations → AI agents & API." unauthenticated The value is mistyped, cut off or not a Clevera token. Paste the whole token again.
"Unknown token. It may have been deleted; create a new one in Integrations → AI agents & API." unauthenticated Clevera doesn't know this token. Create a new token.
"OAuth connector tokens work on the MCP server only. Use a static token for the REST API." unauthenticated A connected app's sign-in was used on the REST API. Use an API token for REST.
"This token has expired. Create a new one in Integrations → AI agents & API." token_expired Its lifetime ran out. Create a new token.
"This token was revoked." token_revoked Someone revoked it, it was regenerated, its owner left, or Clevera revoked it. See why a token stopped working.
"The account that owns this token is suspended." token_revoked The owner's account is suspended. Contact support.
"This token can't be used from this IP address." ip_not_allowed The call came from outside the token's IP allowlist. Run the agent from an allowed address, or create a token with the new address.

The plan doesn't include it

AI agents & API (tokens, connected apps and webhooks) is on the Pro, Business and Custom plans. On Free and Starter the page shows "AI agents & API are included in Pro" with Upgrade to Pro. Upgrading back makes existing tokens, apps and webhooks work again; nothing is deleted.

Message Code Cause Fix
"The agent API is not on this workspace's plan. It is on Pro and up." plan_locked (HTTP 403) The workspace is on Free or Starter, or moved to one. Every token and connected app call is refused. Upgrade to Pro. Tokens that haven't expired work again.
Claude or ChatGPT only says it couldn't connect, or its Clevera tools fail plan_locked behind the scenes The same plan refusal, shown by the app as a generic connection error. Upgrade the workspace to Pro, then retry in the app.
"The API and agent access are not on your plan." — Creating a token, or clicking Approve on an agent request, off Pro. Upgrade to Pro. Deny still works.
"The API and agent access are on Pro and up." / "Claude.ai and ChatGPT connectors are on Pro and up." / "Webhooks are on Pro and up." — A locked control on Free or Starter. Upgrade to Pro.
workspace "(plan doesn’t include connected apps)" / "This workspace’s plan does not include connected apps." — Connecting Claude or ChatGPT to a workspace off Pro. Upgrade, or choose another workspace on the connect screen.
Regenerate secret opens the upgrade dialog — Secrets can't be regenerated off Pro. Upgrade to Pro, or revoke the token.
"Webhooks are not on your plan." — Send test event or Redeliver off Pro. Nothing is sent; waiting retries end as failed with plan_locked. Upgrade to Pro.
"Your plan does not include paid agent work. Upgrade to let agents start it." plan_locked Paid work on a plan without it. Upgrade to Pro.

The token isn't allowed to

Message Code Cause Fix
"This token lacks the ability ability. Ask the workspace member who owns it for a token that has it." forbidden_ability The token doesn't have the permission this call needs. Create a token with that permission. See Agent permissions.
"The token owner's current role in this workspace does not allow ability." forbidden_role The owner's role changed since the token was made. The token shows Exceeds role. Someone with the right role creates the token.
"Your role can’t grant some of these abilities." / "Your role can’t grant: abilities." — Creating a token with permissions beyond your role. Untick them, or ask an owner or admin.
"You can't do this in this workspace." forbidden The owner's role or access doesn't allow this action on this item. Check the owner's role and collection access.
"The token owner can view this article but not edit it (collection access)." forbidden_item The item is in a collection the owner can only view. Give the owner edit access to the collection.
"No item with that id in this token's scope. List or search first and use a returned id." not_found Wrong id, or the item is outside the token's sites or the owner's access. List or search, then use a returned id.
"This content is live on a published site, so changing it needs the site:publish ability." live_content_needs_publish Editing (or translating) a live doc site article without publishing rights. Give the token site:publish, or let it submit for review.
"This article is also shown on a site this token cannot change. …" shared_outside_scope The article appears on a site outside the token's sites. Use a token that covers every site showing it, or leave a review note.
"This site is paused or offline and read-only. A workspace owner can re-activate it in Docs." site_paused The doc site is paused. Re-activate the site.
Message Code Cause Fix
"This would pass the token's spend cap. A workspace admin can raise it." cap_exceeded The quote doesn't fit the token's Per job, Per day or Per month cap. Wait for the next day or month, or create a token with higher caps.
A message about credits running out insufficient_credits The workspace doesn't have enough credits. Buy credits or wait for the allowance.
"Your workspace cannot spend credits right now." plan_locked Billing blocks spending, for example a payment is due. Check Billing.
"This quote has expired. Ask for a new quote." quote_expired Quotes last 15 minutes. Ask for a new quote.
"This quote was already used. Ask for a new quote." quote_used A quote starts one job. Ask for a new quote.
"This quote is for another kind of job." quote_mismatch A video quote was used to start a clip, for example. Use the matching start call.
"Another start is being checked. Try again in a moment." busy Two starts at the same moment. Retry after a second.
The job waits with needs_input — It's waiting for approval on Agent requests. An owner or admin approves or denies it within 24 hours.
The job ends expired — Nobody decided within 24 hours. Start again and approve it.
"This job can no longer be canceled." not_cancelable The job already finished or is past the point of canceling. —

Common input messages when requesting videos: "This recording is still processing. Please wait until it is ready.", "Choose how_to, product_demo, cleanup or styled_video.", "Choose 1080p, 2k or 4k.", "Exports are always 60 fps.", "This item is an article; only videos can be exported.", "Social clips cannot be translated by agents yet.", "This language is already translated.", "That material was not found in this workspace. Upload it first."

Too many requests

Message Code Limit
"This token is over its request rate. Wait and retry." rate_limited 300 requests a minute per token
"This workspace is over its agent request rate. Wait and retry." rate_limited 1,200 a minute per workspace
"Too many writes from this token. Wait and retry." rate_limited 60 writes a minute per token
"This token reached its daily write limit. Try again tomorrow." rate_limited 2,000 writes a day per token
"This token reached its hourly publish limit. Try again later." rate_limited 10 publishes an hour per token
"Too many uploads from this token. Wait and retry." rate_limited 30 uploads a minute
"This token reached its daily upload volume. Try again tomorrow." rate_limited 500 MB a day per token
"Writes from this token are paused after an unusual burst of changes. The workspace owner was notified." rate_limited Unusual activity: writes pause for 10 minutes
"Too many requests. Wait and retry." rate_limited 60 a minute per IP address without a valid token

Paid starts are also limited to 20 an hour per token and 100 a day per workspace. Every 429 has a Retry-After header; wait that long.

Content and retries

Message Code Fix
"The content changed since you read it. Re-read it …, merge your change and retry with that id." revision_conflict The agent reads the page again and reapplies its change.
"This idempotency key was used for a different request." idempotency_conflict / idempotency_key_reused Use a new Idempotency-Key for a new request.
— idempotency_in_progress The first request with this key is still running. Wait, then retry with the same key.

Tokens and the page

Situation Cause Fix
New token is disabled "Your workspace has reached its limit of 50 active tokens. Revoke one first." Revoke a token you don't use.
No Regenerate secret option Only the token's creator can regenerate it, and only once. "Only the person who created this token can regenerate it. You can revoke it." Regenerate the newer token, or create one.
"This token was already regenerated, revoked or has expired; use its replacement or create a new one." The secret was regenerated before. Use the replacement token.
You don't see a colleague's token Only owners and admins see every token. Ask an owner or admin.
You can't approve a request: "An owner or admin decides" Only owners and admins approve spending. Ask an owner or admin.
"Only owners and admins manage webhooks" Your role can't manage webhooks. Ask an owner or admin.

Connecting Claude or ChatGPT

On screen Fix
"This request expired" "Too much time passed since the app asked. Start connecting again from the app."
"This app isn’t registered" Remove the connector in the app and add it again.
"This request can’t be trusted" "Nothing was shared. Start connecting again from the app." Don't connect if it keeps happening.
"Choose a workspace you are a member of." Pick one of your workspaces.
"Revoked: token reuse detected" on a connected app The app's sign-in was reused, so Clevera revoked it. Connect the app again.

Still stuck

Contact support with the request_id from the error, the token's name (never the token itself) and the time of the call.