Response
Response callbacks are triggered each time responses are added to a survey via the PATCH /survey/{id}/response endpoint. In addition to all current responses, the payload includes a last_response field containing only the responses submitted in the triggering request.
Response Webhook Payload
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | true | Unique survey identifier (UUID) |
channel | string | true | Always survey |
api_version | string | true | API version used for the callback (e.g., 2026-01-01) |
callback_type | string | true | Always response |
status | string | true | Current survey status (pending, completed, failed, expired, or stopped) |
type | string | true | Survey type (web or generic) |
url | string | false | Shareable survey URL (web surveys only) |
tag | string | false | Custom tag provided when the survey was created |
bulk_tag | string | false | Bulk tag provided when the survey was created |
timestamp | number | true | Time the event occurred, in milliseconds since epoch |
error | object | false | Error object, if applicable |
error.code | number | false | Numeric error code |
error.description | string | false | Human-readable error description |
failure_reason | string | false | Reason for failure, if status is failed |
response | array | false | All responses collected on the survey at the time of the event |
response[].key | string | true | Response key (question identifier) |
response[].value | any | true | Response value |
response[].answered_at | string | true | ISO 8601 datetime when the response was first recorded |
last_response | array | true | The responses submitted in the triggering request |
last_response[].key | string | true | Response key (question identifier) |
last_response[].value | any | true | Response value |
last_response[].answered_at | string | true | ISO 8601 datetime when the response was first recorded |