> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs-parschat.parstechai.com/api-reference/webhook-events/reaction-webhook/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs-parschat.parstechai.com/_mcp/server. # reaction POST A reaction was added to or removed from a message. `action` tells you which, so one handler covers both: apply it on `added`, undo it on `removed`. The two payloads are identical apart from `action`, so match on (`message_id`, `emoji`, `by.id`) to find the reaction you stored. Reference: https://docs-parschat.parstechai.com/api-reference/webhook-events/reaction-webhook ## Request ### Payload - `schema_version` (string, optional) — Semver for the payload shape. Fields are added without a major bump; nothing is removed or repurposed without one. - `event` (string, optional) — Which event this is. - `delivery_id` (string, optional) — Unique per delivery attempt. Log it, and use it to detect a redelivery. - `occurred_at` (datetime, optional) — When the event happened. - `robot_id` (string, optional) — The robot it belongs to. - `external_id` (string, optional) — Your own id for that robot, echoed on every event so you never need a lookup table. - `channel_id` (string, optional) — The channel it arrived on. - `data` (WebhooksReactionWebhookPayloadContentApplicationJsonSchemaData, optional) ## Types ### WebhooksReactionWebhookPayloadContentApplicationJsonSchemaData - `conversation_id` (string, optional) — The conversation. - `message_id` (string, optional) — The message reacted to. - `action` (enum, optional) — Whether it was added or removed. - Allowed values: `added`, `removed` - `emoji` (string, optional) — The reaction itself. - `by` (WebhooksReactionWebhookPayloadContentApplicationJsonSchemaDataBy, optional) — Who reacted. ### WebhooksReactionWebhookPayloadContentApplicationJsonSchemaDataBy Who reacted. - `id` (string, optional) - `username` (string, optional)