> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agentova.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Troubleshooting

> What to check when a call fails, a webhook doesn't arrive, or a signature doesn't match

Using Zapier or n8n? Their own help pages are in the [Zapier](https://docs.agentova.ai/en/zapier/troubleshooting.md) and [n8n](https://docs.agentova.ai/en/n8n/troubleshooting.md) tabs.

## A call fails

> [accordion] 401 invalid\_api\_key
>
> * The key may be incomplete: it's `agk_live_` followed by 32 characters. It's shown only once — if you can't copy it again, create a new one.
> * The header must be `Authorization: Bearer agk_live_…`. A key placed in the URL isn't read.
> * The key may have been revoked in **Paramètres → API** (Settings → API) — or automatically, when the admin who created it left the workspace or stopped being an admin.

> [accordion] 403 workspace\_access\_denied
>
> The key is valid, but the workspace's Agentova subscription is unpaid, paused or incomplete. Fix it in **Paramètres → Abonnement** (the plan) or **Paramètres → Facturation** (payment method, invoices). The free plan has API access.

> [accordion] 404 route\_not\_found
>
> Check the base URL — `https://core-api.agentova.ai/v1`, with `/v1` — and the path.

> [accordion] 404 automation\_not\_found
>
> The automation was deleted or turned off in the Agentova app, its account was disconnected, or it belongs to another workspace than the key's. List the automations again to get a current ID.

> [accordion] 413 or 415 invalid\_request
>
> `413`: the request body is larger than 16 KB. `415`: the body isn't sent as JSON — add `Content-Type: application/json`.

> [accordion] 422 automation\_not\_controllable
>
> * `details.status` is `draft` or `error`: those can't be switched through the API. Fix the automation in the Agentova app, then retry.
> * `details.reason` is `account_in_use`: you're reactivating an email automation whose mailbox another active agent already uses. A mailbox can only be used by one active agent: detach it from the other agent in the Agentova app, then retry.

> [accordion] 429 rate\_limited
>
> More than about 100 requests per minute with this key: wait for the `Retry-After` delay, then slow down — see [Rate limits](https://docs.agentova.ai/en/guides/rate-limits.md). Repeated failed authentications from one address also end in `429`: fix the key first.

> [accordion] 503 service\_unavailable
>
> The API is temporarily turned off by Agentova. Retry later, with a backoff. If it lasts, [contact support](https://docs.agentova.ai/en/support.md).
>
> Webhooks: no delivery is created for the events that happen during the break, and deliveries already in progress resume when the API is back. Once it answers again, catch up with `GET /leads`, `GET /runs` and `GET /automations`.

> [accordion] It works with curl, not from a web page
>
> The API doesn't accept calls from browsers (no CORS). Call it from your server — see [Security](https://docs.agentova.ai/en/security.md#calls-from-a-browser).

## Pausing and reactivating

* **The response still shows the previous status.** Reactivating can take longer than the 8 seconds the API waits before answering — reconnecting a mailbox, for example. The final status arrives as an `automation.status_changed` event; you can also retrieve the automation again a little later.
* **Reactivation ends in `error`.** The channel couldn't be reconnected (expired access, changed mailbox password…). Fix the connection in the Agentova app.
* **Emails received during a pause got no reply.** That's expected: nothing that arrives during a pause is caught up afterwards — see [Pausing and reactivating](https://docs.agentova.ai/en/guides/concepts.md#pausing-and-reactivating).
* **An automation disappeared.** It was deleted or turned off in the Agentova app, or its account was disconnected. When a failure took it away, a last `automation.status_changed` event with the `error` status was sent as it left; when its account is reconnected, it comes back with an `active` event.

## A webhook doesn't arrive

1. **Does the event really happen?** Leads only come from the sources listed in [Concepts](https://docs.agentova.ai/en/guides/concepts.md#leads): a private message or an email your agent replies to doesn't create one. CRM sources other than Customer.io record leads and runs only when the workspace has a single such CRM automation. Pausing an automation that's already paused sends nothing, and neither does deleting or turning off an automation in the app.
2. **Is the subscription still active?** Call `GET /webhooks`. A subscription that isn't listed was deleted — in **Paramètres → API**, or with the key that created it, when that key was revoked: create it again. A subscription with `disabled_at` set receives nothing — after failures lasting at least 72 hours, or at once if its URL no longer passes Agentova's address checks: delete it and create a new one. A subscription to which your endpoint answered `410` was deleted. A subscription created with a revoked key (box unticked) receives nothing once the admin who created that key is no longer an admin of the workspace: create it again with an active key.
3. **Does your endpoint answer `2xx` within 10 seconds, without a redirect?** A `3xx` counts as a failure: subscribe the final URL.
4. **Is a retry pending?** A failed delivery is retried for about 27 and a half hours — the next attempt can come hours later. See [Retries](https://docs.agentova.ai/en/guides/webhooks-and-signatures.md#retries).
5. **Was the API switched off?** Events that happen while the API answers `503` are never delivered: catch up with the list endpoints.

## The signature doesn't match

* Compute it on the **raw** body, before any JSON parsing.
* Use the **full** secret, `whsec_` prefix included.
* Use the secret of **this** subscription: each subscription has its own.
* Check your server's clock: a delivery signed more than 5 minutes away from your time is rejected. Keep the clock synchronized (NTP).
* Run your code against the [test vector](https://docs.agentova.ai/en/guides/webhooks-and-signatures.md#test-vector).

## Duplicates and order

* **The same event arrives twice.** Deliveries are at least once: deduplicate on the event `id`, and keep the IDs you've seen for at least 48 hours.
* **Events arrive in the wrong order.** Order isn't guaranteed: compare the resource's `updated_at` (automations), `created_at` (leads) or `occurred_at` (runs).

## Still stuck?

Write to support — see [Support](https://docs.agentova.ai/en/support.md) for what to include.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.