Surveys
Read customer satisfaction (CSAT) survey results and stats.
Surveys capture customer satisfaction after a ticket is resolved. TickOS sends a short survey (star rating + optional questions and comment) and records the response. The API is read-only: surveys are configured and sent from the dashboard, and you query their results here.
List survey responsesGET/v1/surveys
Permission: read. Returns surveys newest first (by created_at), with their rating and the linked customer and ticket. Supports standard pagination (limit, offset). The list is returned under the surveys key, not data. An invalid status or a rating outside 1-5 returns 400.
| Query param | Type | Description |
|---|---|---|
| inbox_id | string | Filter by inbox. |
| status | string | pending, sending, sent, responded, expired or cancelled. |
| rating | number | Filter by star rating (1-5). |
| customer_id | string | Filter by customer. |
| ticket_id | string | Filter by ticket. |
| from | string | ISO 8601 lower bound (created_at). |
| to | string | ISO 8601 upper bound (created_at). |
| limit | number | Page size (max 100, default 50). |
| offset | number | Pagination offset. |
Survey statisticsGET/v1/surveys/stats
Permission: read. Returns aggregated CSAT metrics in the response root (no data wrapper). Optionally filter with inbox_id, from and to (ISO 8601 bounds on created_at). Rates are percentages from 0 to 100 rounded to 2 decimals, and are null when there is nothing to compute them from.
| Field | Type | Description |
|---|---|---|
| total_sent | number | Surveys that were delivered: status sent, responded or expired. |
| total_responded | number | Surveys with status responded. |
| response_rate | number | null | total_responded / total_sent as a percentage (0-100, 2 decimals). null when total_sent is 0. |
| average_rating | number | null | Mean star rating across responded surveys (1-5, 2 decimals). null when there are no ratings. |
| rating_distribution | object | Count of responses per star: { "1": n, ..., "5": n }. |
| answered_question_yes_rate | number | null | Percentage (0-100) of "yes" among responded surveys that answered this question. null when none answered it. |
| communication_clear_yes_rate | number | null | Percentage (0-100) of "yes" among responded surveys that answered this question. null when none answered it. |
| by_status | object | Counts per status: pending, sending, sent, responded, expired, cancelled. |