invalid_request | 400, also 413 and 415 | Invalid query parameter or body. 413: the body is larger than 16 KB. 415: the body isn’t sent as JSON (Content-Type: application/json). details names the offending parameter, or gives a reason. |
invalid_api_key | 401 | Key missing, malformed, invalid, or revoked — these are indistinguishable on purpose. |
workspace_access_denied | 403 | The key is valid, but the workspace’s Agentova subscription is unpaid, paused or incomplete. The free plan has API access. This isn’t a per-key permission — v1 has none. |
automation_not_found | 404 | The automation doesn’t exist in this workspace — same answer whether it exists elsewhere or nowhere. A deleted automation, one turned off in the Agentova app, or one whose account is disconnected also returns this. |
webhook_not_found | 404 | The webhook subscription doesn’t exist in this workspace. Deleting an already-deleted subscription returns this — deletion isn’t idempotent. |
route_not_found | 404 | Unknown path or method — check the path, the HTTP method and the /v1 prefix of the base URL. |
automation_not_controllable | 422 | The automation is draft or error (details.status): those states can’t be activated or paused through the API — fix the automation in the Agentova app first. Also returned when you reactivate an email automation whose mailbox another active agent already uses (details.reason: account_in_use): a mailbox can only be used by one active agent. |
rate_limited | 429 | Too many requests — see Rate limits. |
internal_error | 500 | Unexpected server error. Retry with a backoff; contact support if it persists. |
service_unavailable | 503 | The API is temporarily turned off by Agentova. Retry later, with a backoff. Meanwhile, no webhook delivery is created for the events that happen: catch up with the list endpoints when the API is back — see Webhooks & signatures. |