Performance is computed on internal projects. On a revenue-linked project (tracked by revenue, not key metrics), this route returns a 400: use Get margin instead.
Get performance
user is omitted when group_by isn’t set.
Input params: passed in the request body.
"YYYY-MM-DD"
required
Start of the period, inclusive.
"YYYY-MM-DD"
End of the period, inclusive. Defaults to today.
"day" | "week" | "month" | "quarter" | "year" | "all"
default:"\"day\""
One row per period;
"all" collapses the whole date range into a single row (per group_by, if set)."user"
Split each period into one row per user. Omit for one row per period.
list[string]
Restrict to these users. Omit for every user. See Get customers.
list[string]
Restrict to users who used any of these feature tags in the period (i.e. if a user did not use the feature, all its rows are removed).
{tag_key: list[string] | string}
Restrict to users carrying these tags (AND across
tag_key, OR within a tag_key’s values).boolean
default:"false"
Apply free AI credits discounts to
cost.integer
default:"100"
Max number of rows to fetch. Max
1000.string
The route is paginated: pass the previous page’s
next_cursor to fetch the next page. PS: has_more from the output says whether another page exists.