Returns a grounded answer from the bot's documentation. Low-confidence questions set escalate=true instead of inventing. Rate limit: 30 requests / 60 seconds per visitor (policy widget-chat).
Request body
Required, application/json.
| Field | Type | Required | Description |
|---|---|---|---|
botId | string (uuid) | Yes | Bot UUID from the dashboard. |
botKey | string | Public bot key from Settings → API and MCP. | |
question | string | Yes | Visitor or agent question. |
conversationId | string | Continue an existing thread. | |
visitor | string | Stable visitor or ticket id for rate limiting. | |
pageUrl | string (uri) | Page the visitor was on. |
Responses
| Status | Description |
|---|---|
200 | Cited answer |
400 | Structured JSON error |
403 | Structured JSON error |
429 | Rate limited. Honor Retry-After and RateLimit headers. |
Response fields
| Field | Type | Description |
|---|---|---|
conversationId | string | |
answer | string | |
citations | Citation[] | |
confidence | number | |
escalate | boolean | |
actions | object[] |
citations[]: Citation
| Field | Type | Description |
|---|---|---|
url | string (uri) | |
title | string |