Dashboard
Dashboard
Returns the dashboard for the given groups (all the ones the User can reach when none are given) and timeframe, with the latest tickets, the tickets still waiting for a first reply, counts per status, KPI figures for the period and the preceding one, SLA figures when SLA is enabled for the workspace, and the getting started checklist when include_wizard is set.
GET
/api/{tenant:minlength(2)}/v{version:apiVersion}/dashboard/dashboard
- Authorisation
- Minimum role: USER
Request arguments
Request body example
Response
- Status
- 200 (OK)
- Type
- DTO_dashboard
- Wrapper
- DTO_response_wrap
- Other statuses
- 400 (BadRequest), 403 (Forbidden)
Response body example
DTO_dashboard_qa
| Name | Type | ReadOnly | Description |
| title | String | | Title |
| description | String | | Description |
DTO_dashboard_blog
| Name | Type | ReadOnly | Description |
| title | String | | Title |
| image_url | String | | Image url |
| description | String | | Description |
| url | String | | Url |
DTO_system_message
| Name | Type | ReadOnly | Description |
| icon | DTO_icon | | Icon |
| title | String | | Title |
| message_html | String | | Message html |
| cta_text | String | | Cta text |
| cta_url | String | | Cta url |
| color_palette | String | | Color palette |
| dismissable | Boolean | | Dismissable |
DTO_icon
| Name | Type | ReadOnly | Description |
| id | Int32 | | Id |
| name | String | | Name |
| file | String | | File |
| tags | String[] | | Tags |
| categories | String[] | | Categories |
DTO_dashboard_quantities
| Name | Type | ReadOnly | Description |
| tickets_per_status | DTO_reference_color_count[] | | Tickets per status |
| tickets_waiting_first_reply_count | Int32 | | Tickets waiting first reply count |
| reply_count_average | Double | | Reply count average |
| tickets_sla_breached_count | Int32 (nullable) | | Tickets whose next SLA deadline has passed. Null when SLA is not enabled for the workspace. |
| tickets_sla_at_risk_count | Int32 (nullable) | | Tickets whose next SLA deadline is due within the at-risk window. Null when SLA is not enabled. |
DTO_reference_color_count
| Name | Type | ReadOnly | Description |
| value | Int32 (nullable) | ReadOnly | Value |
| bg_color | String | ReadOnly | Bg color |
| text_color | String | ReadOnly | Text color |
| id | Int32 | | Id |
| label | Object | ReadOnly | Label |
DTO_dashboard_kpis
| Name | Type | ReadOnly | Description |
| minutes_per_status | DTO_reference_color_count[] | | Minutes per status |
| tickets_in_period | DTO_reference_count[] | | Tickets in period |
| average_first_reply_minutes | Int32 | | Average first reply minutes |
| average_resolution_time_minutes | Int32 | | Average resolution time minutes |
| sla_first_reply_met_pct | Double (nullable) | | Of first replies sent (on tickets created in the period, with a first-reply target), the
percentage that beat their deadline. Null = SLA off or nothing measured in the period. |
| sla_resolution_met_pct | Double (nullable) | | Of tickets resolved (created in the period, with a resolution target), the percentage resolved on time. |
| sla_first_reply_met_by_ai_pct | Double (nullable) | | Of first replies that satisfied the SLA clock, the percentage sent by the AI auto-reply rather than a person. |
DTO_reference_count
| Name | Type | ReadOnly | Description |
| value | Int32 (nullable) | ReadOnly | Value |
| id | Int32 | | Id |
| label | Object | ReadOnly | Label |
DTO_dashboard_tickets
| Name | Type | ReadOnly | Description |
| tickets | Object | | Tickets |
| additional_count | Int32 | | Additional count |
DTO_reference
| Name | Type | ReadOnly | Description |
| id | Int32 | | The id of the reference |
| label | Object | ReadOnly | Name/Label from referenced object. |
DTO_wizard_light_item
| Name | Type | ReadOnly | Description |
| title | String | | Title |
| description | String | | Description |
| description_long | String | | Description long |
| button_text | String | | Button text |
| url | String | | Url |
| tooltip | String | | Tooltip |
| category | String | | Category |
| completed | Boolean | | Completed |
| section_key | String | | Stable grouping key for the frontend ("setup" | "knowledge" | "ai") |
| section_title | String | | Localized section heading, identical for all items sharing a section_key |
| locked | Boolean | | The step depends on another step that is not far enough along yet (e.g. AI features waiting for the approved-FAQ minimum) |
| locked_text | String | | Localized chip text explaining what unlocks the step; only set when locked |
| ready_text | String | | Localized chip text shown when a previously gated step is unlocked but not yet completed |
| progress_current | Int32 (nullable) | | Progress meter numerator (e.g. approved FAQ count); null when the step has no meter |
| progress_target | Int32 (nullable) | | Progress meter denominator (e.g. the approved-FAQ minimum for AI features) |
| progress_text | String | | Localized label for the progress meter, e.g. "46 of 100 approved Q&As" |
ENUM dashboard_kpi_timeframe
| Value | Name | Description |
| 0 | UNKNOWN | UNKNOWN |
| 1 | TODAY | TODAY |
| 2 | YESTERDAY | YESTERDAY |
| 3 | THIS_WEEK | THIS_WEEK |
| 4 | LAST_4_WEEKS | LAST_4_WEEKS |
| 5 | LAST_12_WEEKS | LAST_12_WEEKS |
| 6 | ALL_TIME | ALL_TIME |
| 7 | CUSTOM | Stats only: the caller supplies from and to instead. Resolving this without dates is
an error, so the shared GetTimeFrame() extension deliberately refuses it. |
| 8 | LAST_12_MONTHS | LAST_12_MONTHS |
Generated Aug 4, 2026 18:37