Create Widget
Create a new dashboard widget
Authorizations
API Key Authentication. It should be included in the header of each request.
Body
Widget configuration. Key rules:
line/pie: setfieldonly (e.g."duration","call_ended_reason"). No aggregation needed.bar: setfield+aggregation_function(e.g."count") +time_period(e.g."day").stat: leavefieldempty — returns total_calls, success_rate, avg_duration, p95_latency.field = "metric_evaluations.value":metric(integer metric ID) is required. Get valid IDs fromGET /test_framework/v1/metrics?agent_id=<id>.effective_filters(read-only): merged dashboard + widget filters — useful for debugging.
Type of chart to display
line- Linebar- Barpie- Piestat- Stat
line, bar, pie, stat Dashboard this widget belongs to
Optional name/title for the widget
255Filter conditions to scope the data. See the Dashboards guide for supported fields, operators, and syntax.
Data type of the field being plotted (optional, can be inferred)
numeric- Numericboolean- Booleanstring- Stringdatetime- DateTimedynamic- Dynamic
numeric, boolean, string, datetime, dynamic, , null Field name to plot. See the Dashboards guide for available fields, valid chart types, and aggregation combinations.
255"duration"
"success"
"call_ended_reason"
"metric_evaluations.value"
"metadata.region"
Metric to use when field is 'metric_evaluations.value'
Time period for aggregation (for bar charts)
hour- Hourday- Dayweek- Weekmonth- Month
hour, day, week, month, , null Aggregation function to apply (for bar charts)
count- Countsum- Sumavg- Averagemin- Minimummax- Maximump50- 50th Percentile (Median)p95- 95th Percentilep99- 99th Percentile
count, sum, avg, min, max, p50, p95, p99, , null Optional group-by configuration. Field group: {"type": "field", "field": "agent.id"}. Time bucket: {"type": "bucket", "interval": 3600000} (interval in milliseconds). Leave null or empty for no grouping.
Frontend metadata (e.g., position, size, styling)
Response
Widget configuration. Key rules:
line/pie: setfieldonly (e.g."duration","call_ended_reason"). No aggregation needed.bar: setfield+aggregation_function(e.g."count") +time_period(e.g."day").stat: leavefieldempty — returns total_calls, success_rate, avg_duration, p95_latency.field = "metric_evaluations.value":metric(integer metric ID) is required. Get valid IDs fromGET /test_framework/v1/metrics?agent_id=<id>.effective_filters(read-only): merged dashboard + widget filters — useful for debugging.
Type of chart to display
line- Linebar- Barpie- Piestat- Stat
line, bar, pie, stat Dashboard this widget belongs to
Optional name/title for the widget
255Filter conditions to scope the data. See the Dashboards guide for supported fields, operators, and syntax.
Merged filters from dashboard and widget (read-only). Can be used with the call logs API filters_v2 parameter.
Data type of the field being plotted (optional, can be inferred)
numeric- Numericboolean- Booleanstring- Stringdatetime- DateTimedynamic- Dynamic
numeric, boolean, string, datetime, dynamic, , null Field name to plot. See the Dashboards guide for available fields, valid chart types, and aggregation combinations.
255"duration"
"success"
"call_ended_reason"
"metric_evaluations.value"
"metadata.region"
Metric to use when field is 'metric_evaluations.value'
Name of the metric (if metric is set)
Time period for aggregation (for bar charts)
hour- Hourday- Dayweek- Weekmonth- Month
hour, day, week, month, , null Aggregation function to apply (for bar charts)
count- Countsum- Sumavg- Averagemin- Minimummax- Maximump50- 50th Percentile (Median)p95- 95th Percentilep99- 99th Percentile
count, sum, avg, min, max, p50, p95, p99, , null Optional group-by configuration. Field group: {"type": "field", "field": "agent.id"}. Time bucket: {"type": "bucket", "interval": 3600000} (interval in milliseconds). Leave null or empty for no grouping.
Frontend metadata (e.g., position, size, styling)
When the widget was created
When the widget was last updated