GET
Get Aggregate
Compute an aggregate for one extraction field across the filtered window. The response shape is discriminated on the field’s type — boolean, selector, number, or text. GET /api/v1/analytics/post-call-variables/aggregate

Query parameters

string
required
Comma-separated workflow ids. See Overview → Single vs. cross-workflow mode. In cross mode, field_name must appear on every requested workflow.
string
required
Field name as defined in the workflow’s extraction schema. Not found → 400.
string (ISO 8601)
Start of the window (inclusive). Defaults to to - 30 days.
string (ISO 8601)
End of the window (exclusive). Defaults to now.
string
default:"day"
Time bucket for the timeseries array. One of hour, day, week, month. Ignored for text fields (no timeseries).
integer
default:"10"
Number of equal-width histogram buckets for number fields (capped at 50 per spec).
integer
default:"20"
Number of top values to return for text fields (capped at 100 per spec).
string
Optional chart-type hint used for validation. The server rejects a hint that isn’t in the allowed set for the field’s type (see the mapping in openspec/changes/post-call-variable-charts/design.md §D1).

Call-attribute filters

All optional. See Overview → Call-attribute filters.
string
string
string
string
boolean
boolean
boolean
string

Response

The response is a discriminated union on type. Every variant includes null_count and error_count so extraction failures are visible and never silently folded into a headline number.

type: "boolean"

integer
integer
integer
Runs where the field was expected but the value was null.
integer
Runs where extraction itself raised an error.
array
Buckets at the requested granularity.

type: "selector"

object
Map of option label → count over the window.
integer
integer
array

type: "number"

array
Equal-width buckets across [min, max].
object
integer
integer
array

type: "text"

array
integer
Number of distinct non-null values in the window. Compare against total_count to detect long-tail free-text extractions (distinct_count / total_count > 0.8 = top-N is not meaningful).
integer
Non-null value count in the window.
integer
integer
integer
Echo of the requested top_n.

Example — boolean

cURL
Response

Example — selector

Response

Example — number

Response

Example — text

Response

Errors

Authorizations

Authorization
string
header
required

Interactive user session: the login JWT, sent as Authorization: Bearer <token>.

Query Parameters

workflow_ids
string
required
field_name
string
required
from
string<date-time> | null
to
string<date-time> | null
granularity
string
default:day
bins
integer
default:10
Required range: x >= 1
top_n
integer
default:20
Required range: x >= 1
min_word_length
integer
default:2
Required range: 1 <= x <= 20
stopword_ratio
number
default:0.6
Required range: 0 <= x <= 1
chart_type
string | null
call_type
string | null
disposition
string | null
disconnect_reason
string | null
sentiment
string | null
is_successful
boolean | null
is_completed
boolean | null
picked_up
boolean | null
duration_bucket
string | null

Response

Successful Response

true_count
integer
required
false_count
integer
required
null_count
integer
required
error_count
integer
required
type
string
default:boolean
Allowed value: "boolean"
timeseries
BooleanTimeseriesPoint · object[]