Inbound direction: your system (custom AI, Make, n8n, backend) posts a reply into the webinar room chat.
Access: early access. Webivio support enables it on your account (whitelist like Live). Without the grant the endpoint returns 403, and the webinar.chat.message event is hidden in webhook settings.
Typical AI flow:
- Webivio emits outbound webhook
webinar.chat.message(text +message_id+ participant data). - Your service generates a reply.
- You call this endpoint with account token
wvapi_….
The token is the same as in the Stats API: Settings → API tokens.
Auth
Authorization: Bearer wvapi_YOUR_TOKEN
or
X-Api-Key: wvapi_YOUR_TOKEN
Endpoint
POST /api/public/v1/webinars/{webinarId}/chat/reply
Content-Type: application/json
Body — private reply
Visible only to the participant linked to the webhook message:
{
"text": "Thanks for the question — we will cover it in the recording shortly.",
"visibility": "private",
"replyToMessageId": "uuid-from-webhook-data.message_id"
}
Body — public reply
Like a moderator broadcast to participants:
{
"text": "Welcome to the webinar!",
"visibility": "public"
}
| Field | Required | Description |
|---|---|---|
text | yes | 1–4000 characters |
visibility | yes | "private" or "public" |
replyToMessageId | when private | Participant message UUID (data.message_id from the webhook) |
Responses
Private:
{ "ok": true, "mode": "reply", "messageId": "…" }
Public:
{ "ok": true, "mode": "broadcast", "inserted": 42 }
Typical errors: 401 (token), 404 (webinar / message), 400 (validation / no participants), 429 (rate limit).
Notes
- Replies from this API do not re-emit
webinar.chat.message. - Chat history export: panel Chat messages (CSV/TXT) — no public list API yet.
- Rate limits: same as Stats API (~60/min, ~600/h per token).
See also
- Webhooks —
webinar.chat.messageevent - Stats and participants API — token generation