All topics
Get started8Account, team & permissions44Units & fields70Records, views & tasks39WhatsApp & Cortex Chat68Email & social27Lead ads & distribution38Automations52Documents & quotes32Dashboards40Cortex AI18Developers & API12
Help Center·448 guidesAll topicsContact support

Fix integration, API and Webhook errors

Every error response your integration might get, with its reason and its fix: authentication, scopes, rate, OAuth and Webhooks.

5 min

If something goes wrong

What you see
Why
What to do
401 Missing API key / Missing access token
There’s no token in the request.
Send X-Api-Key or Authorization: Bearer.
401 Invalid or expired API key
The key is revoked, expired or wrong.
Treat it as a disconnect and ask for a new key. See Create and revoke an API key.
401 Invalid or revoked access token
The OAuth token was revoked.
Run the OAuth flow again.
401 Access token expired
The token’s hour is up.
Refresh with refresh_token.
401 Token is not bound to a workspace
A damaged token.
Issue a new token.
403 on a records endpoint
A scope is missing (INSUFFICIENT_SCOPE, with required_scope).
Create a key with the scope. See Key scopes, and how they combine with permissions.
403 RESOURCE_FORBIDDEN
The member or the record is outside the permissions.
Raise the permission of the key’s creator.
403 You cannot grant scopes you don’t hold
You’re granting a scope you don’t have.
Choose fewer scopes.
403 on managing subscriptions
The request used a user session, or has no read.
Use a key with the read scope.
429 API key rate limit exceeded
You went over 120 requests a minute.
Slow down and batch the requests.
400 on a write
A field name instead of its ID, or a value that isn’t valid.
200 with an ASSIGN_SCOPE_DENIED notice
The assignee change was dropped.
Add the assign scope.
Fewer records than expected
The creator’s level limits what they see.
Create the key from a member with a higher level.
invalid_grant: code is invalid, expired, or already used
The authorization code is old.
Exchange it within 60 seconds.
invalid_grant: redirect_uri mismatch
A different URI.
Match the URI exactly.
invalid_grant: PKCE required for public clients / PKCE verification failed
PKCE is missing or wrong.
Send code_challenge, then the matching code_verifier.
invalid_client: bad client secret
A wrong secret.
Use the right secret.
invalid_grant: refresh token
The refresh token was already used, or has expired.
Connect again. Never use an old refresh token.
A Webhook doesn’t arrive
The URL isn’t HTTPS, the reply isn’t 2xx, or the change came from your own key.
The signature doesn’t match
The body was re-serialized.
A duplicate event
A retry.
Prevent duplicates with the delivery ID.
Did this guide solve it?
If not, we’ll ask what was missing.
Open in Corteksa
Did this guide solve it?

We read every answer. To get a reply, use Contact support.