Elocuenti · Schema
WebhookUpdateBody
What to change. Send at least one field; the ones you leave out stay as they are. The signing secret never changes here: rotate it with `POST /api/v1/webhooks/{id}/rotate-secret`.
CompanyArtificial IntelligenceConversational AIOmnichannelAutomationIntegration
Properties
| Name | Type | Description |
|---|---|---|
| url | string | The address that receives the events: `https`, up to 2048 characters, on a public server (a private or unresolvable address is refused). Put no secret in it: the signature tells you a request is ours. |
| events | array | The events to receive, at least one: `message.received`, `message.status`, `conversation.opened`, `conversation.closed`, `conversation.assigned`, `conversation.escalated`, `ai.paused`, `ai.resumed`, ` |
| include_message_content | boolean | `true`: `message.received` carries the message's text in `data.content` (`false`, the default: only identifiers; `message.status` never carries text). It is the text of every message of the business, |
| include_campaign_messages | boolean | `true`: `message.status` is also sent for your campaigns' messages. `false` (the default): only for the messages you send through the API, so a large campaign does not flood your address. A change app |
| status | string | `paused`: no event is sent until you turn it back on. `active`: events are sent; it also turns on a subscription that we switched off after days of failures, and starts its count of failures again. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/elocuenti-com/json-schema/elocuenti-com-webhook-update-body-schema.json",
"title": "WebhookUpdateBody",
"description": "What to change. Send at least one field; the ones you leave out stay as they are. The signing secret never changes here: rotate it with `POST /api/v1/webhooks/{id}/rotate-secret`.",
"x-generated": "2026-11-06",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/elocuenti-com-openapi.json#/components/schemas/WebhookUpdateBody",
"type": "object",
"properties": {
"url": {
"type": "string",
"minLength": 1,
"maxLength": 2048,
"pattern": "^https:\\/\\/[^\\s]+$",
"description": "The address that receives the events: `https`, up to 2048 characters, on a public server (a private or unresolvable address is refused). Put no secret in it: the signature tells you a request is ours. An address can be used once per environment (a developer is only told about the ones they created).",
"title": "Url"
},
"events": {
"minItems": 1,
"maxItems": 14,
"type": "array",
"items": {
"type": "string",
"enum": [
"message.received",
"message.status",
"conversation.opened",
"conversation.closed",
"conversation.assigned",
"conversation.escalated",
"ai.paused",
"ai.resumed",
"contact.created",
"contact.updated",
"stage.changed",
"lead.captured",
"call.completed",
"charge.status"
]
},
"description": "The events to receive, at least one: `message.received`, `message.status`, `conversation.opened`, `conversation.closed`, `conversation.assigned`, `conversation.escalated`, `ai.paused`, `ai.resumed`, `contact.created`, `contact.updated`, `stage.changed`, `lead.captured`, `call.completed`, `charge.status`. Each name once.",
"title": "Events"
},
"include_message_content": {
"type": "boolean",
"description": "`true`: `message.received` carries the message's text in `data.content` (`false`, the default: only identifiers; `message.status` never carries text). It is the text of every message of the business, so it needs a key with `conversations:read` and a subscription created by an owner or an administrator (otherwise `403 webhook_content_not_allowed`). When each event is sent we check again the role of the subscription's creator, not the key's permission, so a change reaches the next event: if they stop being an owner or an administrator the text stops, and `message_content_active` says so.",
"title": "Include Message Content"
},
"include_campaign_messages": {
"type": "boolean",
"description": "`true`: `message.status` is also sent for your campaigns' messages. `false` (the default): only for the messages you send through the API, so a large campaign does not flood your address. A change applies to the events queued from then on.",
"title": "Include Campaign Messages"
},
"status": {
"description": "`paused`: no event is sent until you turn it back on. `active`: events are sent; it also turns on a subscription that we switched off after days of failures, and starts its count of failures again.",
"type": "string",
"enum": [
"active",
"paused"
],
"title": "Status"
}
},
"additionalProperties": false
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/elocuenti-com-webhook-update-body"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.