Elocuenti · Schema

WebhookCreateBody

The address, the events it receives and what they carry. The subscription is created in the environment of your key: a production key creates a production subscription and a sandbox key a sandbox one.

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
View JSON Schema on GitHub

JSON Schema

elocuenti-com-webhook-create-body-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/elocuenti-com/json-schema/elocuenti-com-webhook-create-body-schema.json",
  "title": "WebhookCreateBody",
  "description": "The address, the events it receives and what they carry. The subscription is created in the environment of your key: a production key creates a production subscription and a sandbox key a sandbox one.",
  "x-generated": "2026-11-06",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/elocuenti-com-openapi.json#/components/schemas/WebhookCreateBody",
  "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"
    }
  },
  "required": [
    "url",
    "events"
  ],
  "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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/elocuenti-com-webhook-create-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.