Skip to main content
First stable version
The first stable version of the public API, at https://core-api.agentova.ai/v1:
  • Automations: list, retrieve, pause and reactivate — GET /automations, GET /automations/{id}, PATCH /automations/{id}.
  • Runs, for the whole workspace or for one automation — GET /runs, GET /automations/{id}/runs.
  • Leads — GET /leads.
  • Webhooks — GET /webhooks, POST /webhooks, DELETE /webhooks/{id} — for the lead.created, run.completed and automation.status_changed events, signed with the X-Agentova-Signature header.
  • The official connectors: the Agentova app for Zapier, and the n8n-nodes-agentova-ai package 1.0.0 for n8n.
If you built on a preview of the contract, these points changed:
  • The social and crm lead sources are no longer reserved: social is a prospect who sent their contact details in a private message after commenting a post, crm an incoming contact of a connected CRM for which an automation ran. Both fire lead.created.
  • GET /webhooks returns the full url only for the subscriptions created with the calling key; for the others, url is reduced to its origin, since the path of a hook URL carries the connector’s secret token.
  • Revoking a key in Paramètres → API deletes, by default, the webhook subscriptions created with it; the admin can untick the box to keep them. A key is also revoked, with its subscriptions, when the admin who created it leaves the workspace or stops being an admin.
  • CRM sources record crm_event runs: Customer.io for each contact it acts on, the other CRM sources when the workspace has a single such CRM automation.
  • Error messages are in English. Error codes didn’t change: keep branching on code.
  • New error code service_unavailable (503), when the API is temporarily turned off. Meanwhile, no webhook delivery is created for the events that happen, and deliveries already in progress resume when the API is back.
  • Automation names are built in English — “Comment replies — Support Agent” or, for a CRM source, “HubSpot contacts — Support Agent”, for example. The agent’s name is unchanged.
  • Runs of email automations have trigger_type: email instead of message.
  • custom_fields no longer exposes internal keys, those starting with _.
  • Request bodies are limited to 16 KB (413 invalid_request beyond).
  • PATCH /automations/{id} answers within 8 seconds; when reactivating takes longer, the final status arrives as an automation.status_changed event.
  • Pausing an email automation stops listening to the mailbox: emails received during the pause get no reply. Reactivating one whose mailbox another active agent already uses returns 422 automation_not_controllable with details.reason: account_in_use.
  • automation.status_changed is also sent when a failure takes an automation away (error), and when an automation comes back after its account is reconnected (active).
  • Failed webhook deliveries are retried for about 27 and a half hours instead of one hour, and never scheduled more than 36 hours after the event was created: keep the event IDs you’ve seen for at least 48 hours. A subscription is disabled after 3 abandoned deliveries in a row and 72 hours of uninterrupted failures, or at once if its URL no longer passes the address checks. A 410 Gone answer deletes the subscription, and Retry-After is honored on 429 and 503. Deliveries carry User-Agent: Agentova-Webhooks/1.0.
  • The contract file is now openapi-v1.yaml.