---
title: "Get widget chart data"
method: GET
path: "/dashboards/widgets/{id}/data/"
tags: ["dashboards"]
---

# Get widget chart data

`GET /dashboards/widgets/{id}/data/`

## Request

- Base URL: `https://api.cekura.ai`
- URL: `https://api.cekura.ai/dashboards/widgets/{id}/data/`
- Auth: one of:
  - API key in header `X-CEKURA-API-KEY`
  - HTTP bearer
  - HTTP bearer
  - API key in header `X-VOCERA-SHAREABLE-LINK-TOKEN`
  - HTTP bearer

Fetch the computed chart data for a saved widget.

**Timestamp filter required:** a `gt` or `gte` filter on `timestamp` must be present — either set on the dashboard, the widget, or passed here as `filters`. Maximum range: 30 days. Without it the request returns a 400 error.

**Override filters:** pass `filters` as a filter JSON object to temporarily replace the widget's own filters for this request. Example: `{"operator": "and", "conditions": [{"field": "timestamp", "op": "gte", "value": "now-7d"}, {"field": "timestamp", "op": "lte", "value": "now"}]}`

**Response shape by chart type:**
- `line` — `{data: [{id, timestamp, value}], metadata: {display_name, data_type, filter_value}}`
- `bar` — `{data: [{time_interval, value, sample_count}], metadata: ...}`
- `pie` — `{data: [{label, value, percentage}], metadata: ...}`
- `stat` — `{data: {total_calls, success_rate, avg_duration, p95_latency}, metadata: ...}`

## Path parameters

- `id` string, required

## Query parameters

- `filters` object
- `timezone` string

## Response `200`

- WidgetDataResponse
  - `widget_id` integer, required
  - `field_name` string, required
  - `chart_type` string, required
  - `data` object[], required: Chart data. Format depends on `chart_type`: **Line chart:** `[{id, timestamp, value}, ...]` **Bar chart:** `[{time_interval, value, sample_count}, ...]` **Enum daily share:** `[{time_interval, group, value, selected_calls, total_calls, evaluated_calls}, ...]`, where `value` is the selected enum value's percentage of total filtered calls. **Pie chart:** `[{label, value, percentage}, ...]` See the [Dashboards guide](https://docs.cekura.ai/documentation/guides/dashboards#chart-output-formats) for full examples.
  - `aggregation_function` string, nullable, required
  - `time_period` string, nullable, required
  - `group_by` unknown, required
  - `can_group_by` boolean
  - `metadata` object, required: Additional metadata about the plotted data. See the [Dashboards guide](https://docs.cekura.ai/documentation/guides/dashboards#widget-data) for details.
    - `display_name` string: Human-readable name of the field
    - `data_type` 'numeric' | 'boolean' | 'string' | 'datetime' | 'dynamic' | 'percentage': Resolved data type of the field
    - `filter_value` unknown
    - `series_dimension` 'enum_value': Server-supplied series dimension for enum daily shares.
    - `normalization` 'total_calls': Denominator used for enum daily shares.
  - `warning` WidgetDataWarning
    - `code` string, required
    - `message` string, required

## Changes

- **2026-11-03** `a6fb6a739212`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/cekura/apis/cekura-api/changes/dashboards/widgets/:id/data/get.md)

---

[API](https://skmtc.dev/cekura/apis/cekura-api.md) - [All operations](https://skmtc.dev/cekura/apis/cekura-api/llms.txt) - [OpenAPI document](https://skmtc.dev/cekura/apis/cekura-api/revisions/a6fb6a739212?raw)
