featurebase-node 0.14.3 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/client.d.mts +5 -5
- package/client.d.mts.map +1 -1
- package/client.d.ts +5 -5
- package/client.d.ts.map +1 -1
- package/package.json +1 -1
- package/resources/audit-logs.d.mts +3 -3
- package/resources/audit-logs.d.mts.map +1 -1
- package/resources/audit-logs.d.ts +3 -3
- package/resources/audit-logs.d.ts.map +1 -1
- package/resources/changelogs/changelogs.d.mts +116 -116
- package/resources/changelogs/changelogs.d.mts.map +1 -1
- package/resources/changelogs/changelogs.d.ts +116 -116
- package/resources/changelogs/changelogs.d.ts.map +1 -1
- package/resources/changelogs/changelogs.js +74 -74
- package/resources/changelogs/changelogs.js.map +1 -1
- package/resources/changelogs/changelogs.mjs +74 -74
- package/resources/changelogs/changelogs.mjs.map +1 -1
- package/resources/changelogs/index.d.mts +1 -1
- package/resources/changelogs/index.d.mts.map +1 -1
- package/resources/changelogs/index.d.ts +1 -1
- package/resources/changelogs/index.d.ts.map +1 -1
- package/resources/changelogs/subscribers.d.mts +3 -3
- package/resources/changelogs/subscribers.d.mts.map +1 -1
- package/resources/changelogs/subscribers.d.ts +3 -3
- package/resources/changelogs/subscribers.d.ts.map +1 -1
- package/resources/conversation-attributes.d.mts +17 -17
- package/resources/conversation-attributes.d.mts.map +1 -1
- package/resources/conversation-attributes.d.ts +17 -17
- package/resources/conversation-attributes.d.ts.map +1 -1
- package/resources/conversation-attributes.js +19 -19
- package/resources/conversation-attributes.js.map +1 -1
- package/resources/conversation-attributes.mjs +19 -19
- package/resources/conversation-attributes.mjs.map +1 -1
- package/resources/feedback/boards.d.mts +19 -19
- package/resources/feedback/boards.d.mts.map +1 -1
- package/resources/feedback/boards.d.ts +19 -19
- package/resources/feedback/boards.d.ts.map +1 -1
- package/resources/feedback/boards.js +20 -20
- package/resources/feedback/boards.js.map +1 -1
- package/resources/feedback/boards.mjs +20 -20
- package/resources/feedback/boards.mjs.map +1 -1
- package/resources/feedback/comments.d.mts +113 -113
- package/resources/feedback/comments.d.mts.map +1 -1
- package/resources/feedback/comments.d.ts +113 -113
- package/resources/feedback/comments.d.ts.map +1 -1
- package/resources/feedback/comments.js +93 -93
- package/resources/feedback/comments.js.map +1 -1
- package/resources/feedback/comments.mjs +93 -93
- package/resources/feedback/comments.mjs.map +1 -1
- package/resources/feedback/custom-fields.d.mts +36 -36
- package/resources/feedback/custom-fields.d.mts.map +1 -1
- package/resources/feedback/custom-fields.d.ts +36 -36
- package/resources/feedback/custom-fields.d.ts.map +1 -1
- package/resources/feedback/custom-fields.js +36 -36
- package/resources/feedback/custom-fields.js.map +1 -1
- package/resources/feedback/custom-fields.mjs +36 -36
- package/resources/feedback/custom-fields.mjs.map +1 -1
- package/resources/feedback/feedback.d.mts +5 -5
- package/resources/feedback/feedback.d.mts.map +1 -1
- package/resources/feedback/feedback.d.ts +5 -5
- package/resources/feedback/feedback.d.ts.map +1 -1
- package/resources/feedback/index.d.mts +5 -5
- package/resources/feedback/index.d.mts.map +1 -1
- package/resources/feedback/index.d.ts +5 -5
- package/resources/feedback/index.d.ts.map +1 -1
- package/resources/feedback/post-statuses.d.mts +20 -20
- package/resources/feedback/post-statuses.d.mts.map +1 -1
- package/resources/feedback/post-statuses.d.ts +20 -20
- package/resources/feedback/post-statuses.d.ts.map +1 -1
- package/resources/feedback/post-statuses.js +23 -23
- package/resources/feedback/post-statuses.js.map +1 -1
- package/resources/feedback/post-statuses.mjs +23 -23
- package/resources/feedback/post-statuses.mjs.map +1 -1
- package/resources/feedback/posts/index.d.mts +1 -1
- package/resources/feedback/posts/index.d.mts.map +1 -1
- package/resources/feedback/posts/index.d.ts +1 -1
- package/resources/feedback/posts/index.d.ts.map +1 -1
- package/resources/feedback/posts/posts.d.mts +132 -132
- package/resources/feedback/posts/posts.d.mts.map +1 -1
- package/resources/feedback/posts/posts.d.ts +132 -132
- package/resources/feedback/posts/posts.d.ts.map +1 -1
- package/resources/feedback/posts/posts.js +107 -107
- package/resources/feedback/posts/posts.js.map +1 -1
- package/resources/feedback/posts/posts.mjs +107 -107
- package/resources/feedback/posts/posts.mjs.map +1 -1
- package/resources/feedback/posts/voters.d.mts +3 -3
- package/resources/feedback/posts/voters.d.mts.map +1 -1
- package/resources/feedback/posts/voters.d.ts +3 -3
- package/resources/feedback/posts/voters.d.ts.map +1 -1
- package/resources/help-center/articles.d.mts +213 -97
- package/resources/help-center/articles.d.mts.map +1 -1
- package/resources/help-center/articles.d.ts +213 -97
- package/resources/help-center/articles.d.ts.map +1 -1
- package/resources/help-center/articles.js +73 -73
- package/resources/help-center/articles.js.map +1 -1
- package/resources/help-center/articles.mjs +73 -73
- package/resources/help-center/articles.mjs.map +1 -1
- package/resources/help-center/collections.d.mts +158 -71
- package/resources/help-center/collections.d.mts.map +1 -1
- package/resources/help-center/collections.d.ts +158 -71
- package/resources/help-center/collections.d.ts.map +1 -1
- package/resources/help-center/collections.js +65 -65
- package/resources/help-center/collections.js.map +1 -1
- package/resources/help-center/collections.mjs +65 -65
- package/resources/help-center/collections.mjs.map +1 -1
- package/resources/help-center/help-center.d.mts +4 -4
- package/resources/help-center/help-center.d.mts.map +1 -1
- package/resources/help-center/help-center.d.ts +4 -4
- package/resources/help-center/help-center.d.ts.map +1 -1
- package/resources/help-center/help-centers.d.mts +77 -48
- package/resources/help-center/help-centers.d.mts.map +1 -1
- package/resources/help-center/help-centers.d.ts +77 -48
- package/resources/help-center/help-centers.d.ts.map +1 -1
- package/resources/help-center/help-centers.js +43 -43
- package/resources/help-center/help-centers.js.map +1 -1
- package/resources/help-center/help-centers.mjs +43 -43
- package/resources/help-center/help-centers.mjs.map +1 -1
- package/resources/help-center/index.d.mts +4 -4
- package/resources/help-center/index.d.mts.map +1 -1
- package/resources/help-center/index.d.ts +4 -4
- package/resources/help-center/index.d.ts.map +1 -1
- package/resources/help-center/redirect-rules.d.mts +124 -124
- package/resources/help-center/redirect-rules.d.mts.map +1 -1
- package/resources/help-center/redirect-rules.d.ts +124 -124
- package/resources/help-center/redirect-rules.d.ts.map +1 -1
- package/resources/help-center/redirect-rules.js +112 -112
- package/resources/help-center/redirect-rules.js.map +1 -1
- package/resources/help-center/redirect-rules.mjs +112 -112
- package/resources/help-center/redirect-rules.mjs.map +1 -1
- package/resources/index.d.mts +5 -5
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +5 -5
- package/resources/index.d.ts.map +1 -1
- package/resources/organization/admins.d.mts +26 -26
- package/resources/organization/admins.d.mts.map +1 -1
- package/resources/organization/admins.d.ts +26 -26
- package/resources/organization/admins.d.ts.map +1 -1
- package/resources/organization/admins.js +25 -25
- package/resources/organization/admins.js.map +1 -1
- package/resources/organization/admins.mjs +25 -25
- package/resources/organization/admins.mjs.map +1 -1
- package/resources/organization/brands.d.mts +52 -52
- package/resources/organization/brands.d.mts.map +1 -1
- package/resources/organization/brands.d.ts +52 -52
- package/resources/organization/brands.d.ts.map +1 -1
- package/resources/organization/brands.js +54 -54
- package/resources/organization/brands.js.map +1 -1
- package/resources/organization/brands.mjs +54 -54
- package/resources/organization/brands.mjs.map +1 -1
- package/resources/organization/index.d.mts +3 -3
- package/resources/organization/index.d.mts.map +1 -1
- package/resources/organization/index.d.ts +3 -3
- package/resources/organization/index.d.ts.map +1 -1
- package/resources/organization/organization.d.mts +3 -3
- package/resources/organization/organization.d.mts.map +1 -1
- package/resources/organization/organization.d.ts +3 -3
- package/resources/organization/organization.d.ts.map +1 -1
- package/resources/organization/teams.d.mts +47 -47
- package/resources/organization/teams.d.mts.map +1 -1
- package/resources/organization/teams.d.ts +47 -47
- package/resources/organization/teams.d.ts.map +1 -1
- package/resources/organization/teams.js +44 -44
- package/resources/organization/teams.js.map +1 -1
- package/resources/organization/teams.mjs +44 -44
- package/resources/organization/teams.mjs.map +1 -1
- package/resources/reports.d.mts +249 -215
- package/resources/reports.d.mts.map +1 -1
- package/resources/reports.d.ts +249 -215
- package/resources/reports.d.ts.map +1 -1
- package/resources/reports.js +99 -99
- package/resources/reports.js.map +1 -1
- package/resources/reports.mjs +99 -99
- package/resources/reports.mjs.map +1 -1
- package/resources/support/conversation-tags.d.mts +43 -43
- package/resources/support/conversation-tags.d.mts.map +1 -1
- package/resources/support/conversation-tags.d.ts +43 -43
- package/resources/support/conversation-tags.d.ts.map +1 -1
- package/resources/support/conversation-tags.js +32 -32
- package/resources/support/conversation-tags.js.map +1 -1
- package/resources/support/conversation-tags.mjs +32 -32
- package/resources/support/conversation-tags.mjs.map +1 -1
- package/resources/support/conversations/conversations.d.mts +337 -327
- package/resources/support/conversations/conversations.d.mts.map +1 -1
- package/resources/support/conversations/conversations.d.ts +337 -327
- package/resources/support/conversations/conversations.d.ts.map +1 -1
- package/resources/support/conversations/conversations.js +293 -283
- package/resources/support/conversations/conversations.js.map +1 -1
- package/resources/support/conversations/conversations.mjs +293 -283
- package/resources/support/conversations/conversations.mjs.map +1 -1
- package/resources/support/conversations/index.d.mts +1 -1
- package/resources/support/conversations/index.d.mts.map +1 -1
- package/resources/support/conversations/index.d.ts +1 -1
- package/resources/support/conversations/index.d.ts.map +1 -1
- package/resources/support/conversations/participants.d.mts +2 -2
- package/resources/support/conversations/participants.d.mts.map +1 -1
- package/resources/support/conversations/participants.d.ts +2 -2
- package/resources/support/conversations/participants.d.ts.map +1 -1
- package/resources/support/index.d.mts +3 -3
- package/resources/support/index.d.mts.map +1 -1
- package/resources/support/index.d.ts +3 -3
- package/resources/support/index.d.ts.map +1 -1
- package/resources/support/support.d.mts +3 -3
- package/resources/support/support.d.mts.map +1 -1
- package/resources/support/support.d.ts +3 -3
- package/resources/support/support.d.ts.map +1 -1
- package/resources/support/tickets/categories.d.mts +20 -20
- package/resources/support/tickets/categories.d.mts.map +1 -1
- package/resources/support/tickets/categories.d.ts +20 -20
- package/resources/support/tickets/categories.d.ts.map +1 -1
- package/resources/support/tickets/categories.js +25 -25
- package/resources/support/tickets/categories.js.map +1 -1
- package/resources/support/tickets/categories.mjs +25 -25
- package/resources/support/tickets/categories.mjs.map +1 -1
- package/resources/support/tickets/custom-fields.d.mts +22 -22
- package/resources/support/tickets/custom-fields.d.mts.map +1 -1
- package/resources/support/tickets/custom-fields.d.ts +22 -22
- package/resources/support/tickets/custom-fields.d.ts.map +1 -1
- package/resources/support/tickets/custom-fields.js +19 -19
- package/resources/support/tickets/custom-fields.js.map +1 -1
- package/resources/support/tickets/custom-fields.mjs +19 -19
- package/resources/support/tickets/custom-fields.mjs.map +1 -1
- package/resources/support/tickets/index.d.mts +4 -4
- package/resources/support/tickets/index.d.mts.map +1 -1
- package/resources/support/tickets/index.d.ts +4 -4
- package/resources/support/tickets/index.d.ts.map +1 -1
- package/resources/support/tickets/statuses.d.mts +19 -19
- package/resources/support/tickets/statuses.d.mts.map +1 -1
- package/resources/support/tickets/statuses.d.ts +19 -19
- package/resources/support/tickets/statuses.d.ts.map +1 -1
- package/resources/support/tickets/statuses.js +21 -21
- package/resources/support/tickets/statuses.js.map +1 -1
- package/resources/support/tickets/statuses.mjs +21 -21
- package/resources/support/tickets/statuses.mjs.map +1 -1
- package/resources/support/tickets/tickets.d.mts +75 -75
- package/resources/support/tickets/tickets.d.mts.map +1 -1
- package/resources/support/tickets/tickets.d.ts +75 -75
- package/resources/support/tickets/tickets.d.ts.map +1 -1
- package/resources/support/tickets/tickets.js +44 -44
- package/resources/support/tickets/tickets.js.map +1 -1
- package/resources/support/tickets/tickets.mjs +44 -44
- package/resources/support/tickets/tickets.mjs.map +1 -1
- package/resources/surveys.d.mts +43 -43
- package/resources/surveys.d.mts.map +1 -1
- package/resources/surveys.d.ts +43 -43
- package/resources/surveys.d.ts.map +1 -1
- package/resources/surveys.js +44 -44
- package/resources/surveys.js.map +1 -1
- package/resources/surveys.mjs +44 -44
- package/resources/surveys.mjs.map +1 -1
- package/resources/users/companies/companies.d.mts +121 -130
- package/resources/users/companies/companies.d.mts.map +1 -1
- package/resources/users/companies/companies.d.ts +121 -130
- package/resources/users/companies/companies.d.ts.map +1 -1
- package/resources/users/companies/companies.js +125 -125
- package/resources/users/companies/companies.js.map +1 -1
- package/resources/users/companies/companies.mjs +125 -125
- package/resources/users/companies/companies.mjs.map +1 -1
- package/resources/users/companies/contacts.d.mts +3 -3
- package/resources/users/companies/contacts.d.mts.map +1 -1
- package/resources/users/companies/contacts.d.ts +3 -3
- package/resources/users/companies/contacts.d.ts.map +1 -1
- package/resources/users/companies/index.d.mts +1 -1
- package/resources/users/companies/index.d.mts.map +1 -1
- package/resources/users/companies/index.d.ts +1 -1
- package/resources/users/companies/index.d.ts.map +1 -1
- package/resources/users/contacts/by-user-id/by-user-id.d.mts +2 -2
- package/resources/users/contacts/by-user-id/by-user-id.d.mts.map +1 -1
- package/resources/users/contacts/by-user-id/by-user-id.d.ts +2 -2
- package/resources/users/contacts/by-user-id/by-user-id.d.ts.map +1 -1
- package/resources/users/contacts/by-user-id/email-preferences.d.mts +2 -2
- package/resources/users/contacts/by-user-id/email-preferences.d.mts.map +1 -1
- package/resources/users/contacts/by-user-id/email-preferences.d.ts +2 -2
- package/resources/users/contacts/by-user-id/email-preferences.d.ts.map +1 -1
- package/resources/users/contacts/contacts.d.mts +249 -235
- package/resources/users/contacts/contacts.d.mts.map +1 -1
- package/resources/users/contacts/contacts.d.ts +249 -235
- package/resources/users/contacts/contacts.d.ts.map +1 -1
- package/resources/users/contacts/contacts.js +211 -184
- package/resources/users/contacts/contacts.js.map +1 -1
- package/resources/users/contacts/contacts.mjs +211 -184
- package/resources/users/contacts/contacts.mjs.map +1 -1
- package/resources/users/contacts/email-preferences.d.mts +2 -2
- package/resources/users/contacts/email-preferences.d.mts.map +1 -1
- package/resources/users/contacts/email-preferences.d.ts +2 -2
- package/resources/users/contacts/email-preferences.d.ts.map +1 -1
- package/resources/users/contacts/index.d.mts +1 -1
- package/resources/users/contacts/index.d.mts.map +1 -1
- package/resources/users/contacts/index.d.ts +1 -1
- package/resources/users/contacts/index.d.ts.map +1 -1
- package/resources/users/index.d.mts +2 -2
- package/resources/users/index.d.mts.map +1 -1
- package/resources/users/index.d.ts +2 -2
- package/resources/users/index.d.ts.map +1 -1
- package/resources/users/users.d.mts +2 -2
- package/resources/users/users.d.mts.map +1 -1
- package/resources/users/users.d.ts +2 -2
- package/resources/users/users.d.ts.map +1 -1
- package/resources/webhooks.d.mts +83 -83
- package/resources/webhooks.d.mts.map +1 -1
- package/resources/webhooks.d.ts +83 -83
- package/resources/webhooks.d.ts.map +1 -1
- package/resources/webhooks.js +77 -77
- package/resources/webhooks.js.map +1 -1
- package/resources/webhooks.mjs +77 -77
- package/resources/webhooks.mjs.map +1 -1
- package/src/client.ts +6 -6
- package/src/resources/audit-logs.ts +7 -1
- package/src/resources/changelogs/changelogs.ts +320 -175
- package/src/resources/changelogs/index.ts +1 -1
- package/src/resources/changelogs/subscribers.ts +31 -2
- package/src/resources/conversation-attributes.ts +34 -34
- package/src/resources/feedback/boards.ts +30 -30
- package/src/resources/feedback/comments.ts +137 -137
- package/src/resources/feedback/custom-fields.ts +46 -46
- package/src/resources/feedback/feedback.ts +6 -6
- package/src/resources/feedback/index.ts +6 -6
- package/src/resources/feedback/post-statuses.ts +33 -33
- package/src/resources/feedback/posts/index.ts +2 -2
- package/src/resources/feedback/posts/posts.ts +176 -176
- package/src/resources/feedback/posts/voters.ts +3 -3
- package/src/resources/help-center/articles.ts +631 -109
- package/src/resources/help-center/collections.ts +349 -88
- package/src/resources/help-center/help-center.ts +5 -5
- package/src/resources/help-center/help-centers.ts +202 -57
- package/src/resources/help-center/index.ts +5 -5
- package/src/resources/help-center/redirect-rules.ts +294 -178
- package/src/resources/index.ts +6 -6
- package/src/resources/organization/admins.ts +36 -36
- package/src/resources/organization/brands.ts +68 -68
- package/src/resources/organization/index.ts +3 -3
- package/src/resources/organization/organization.ts +3 -3
- package/src/resources/organization/teams.ts +54 -54
- package/src/resources/reports.ts +311 -262
- package/src/resources/support/conversation-tags.ts +62 -62
- package/src/resources/support/conversations/conversations.ts +429 -419
- package/src/resources/support/conversations/index.ts +4 -4
- package/src/resources/support/conversations/participants.ts +2 -2
- package/src/resources/support/index.ts +7 -7
- package/src/resources/support/support.ts +7 -7
- package/src/resources/support/tickets/categories.ts +35 -35
- package/src/resources/support/tickets/custom-fields.ts +29 -29
- package/src/resources/support/tickets/index.ts +4 -4
- package/src/resources/support/tickets/statuses.ts +31 -31
- package/src/resources/support/tickets/tickets.ts +101 -101
- package/src/resources/surveys.ts +60 -60
- package/src/resources/users/companies/companies.ts +158 -172
- package/src/resources/users/companies/contacts.ts +3 -3
- package/src/resources/users/companies/index.ts +2 -2
- package/src/resources/users/contacts/by-user-id/by-user-id.ts +2 -2
- package/src/resources/users/contacts/by-user-id/email-preferences.ts +2 -2
- package/src/resources/users/contacts/contacts.ts +284 -280
- package/src/resources/users/contacts/email-preferences.ts +2 -2
- package/src/resources/users/contacts/index.ts +3 -3
- package/src/resources/users/index.ts +5 -5
- package/src/resources/users/users.ts +5 -5
- package/src/resources/webhooks.ts +106 -100
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
package/src/resources/reports.ts
CHANGED
|
@@ -10,6 +10,58 @@ import { RequestOptions } from '../internal/request-options';
|
|
|
10
10
|
* Query your workspace analytics: conversation volume, response times, CSAT, SLA compliance, teammate performance, AI agent resolutions and more. Start with the datasets catalog to discover metrics and attributes, then run queries with filters, grouping and period comparison.
|
|
11
11
|
*/
|
|
12
12
|
export class Reports extends APIResource {
|
|
13
|
+
/**
|
|
14
|
+
* Returns the paginated row-level records behind a metric — either the whole
|
|
15
|
+
* reporting window, or one specific data point from a previous
|
|
16
|
+
* `POST /v2/reports/query` response.
|
|
17
|
+
*
|
|
18
|
+
* Send the **same** `metric`, date range, `granularity`, `filters`, `groupBy` /
|
|
19
|
+
* `segmentBy` and `view` as the query you're drilling into, plus
|
|
20
|
+
* `dataPointFilters` selecting the data point:
|
|
21
|
+
*
|
|
22
|
+
* - `timeBucket` — a `date` from the time series
|
|
23
|
+
* - `groupValue` / `segmentValue` — a `group` / `segment` value from grouped data
|
|
24
|
+
* - `dayOfWeek` + `hourOfDay` — a heatmap cell (`hourly_heatmap` view)
|
|
25
|
+
* - `flowPathId` or `sourceNodeId` + `targetNodeId` — a flow edge (`sankey` view)
|
|
26
|
+
*
|
|
27
|
+
* Pass `dataPointFilters: {}` to list all rows behind the metric for the window.
|
|
28
|
+
*
|
|
29
|
+
* Results are paginated with `page` / `pageSize` (max 200 per page);
|
|
30
|
+
* `availableColumns` describes every column the dataset can return and
|
|
31
|
+
* `defaultColumnIds` the recommended subset. Rows are keyed by column ID; identity
|
|
32
|
+
* cells (teammates, contacts) are objects with `id` + `label`.
|
|
33
|
+
*
|
|
34
|
+
* ### Version Availability
|
|
35
|
+
*
|
|
36
|
+
* This endpoint is only available in API version 2026-01-01.nova and newer, and
|
|
37
|
+
* only for workspaces with the Reports product enabled (404 otherwise).
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```ts
|
|
41
|
+
* const response = await client.reports.drillIn({
|
|
42
|
+
* endDate: '2026-07-15',
|
|
43
|
+
* granularity: 'day',
|
|
44
|
+
* metric: 'new_conversations',
|
|
45
|
+
* startDate: '2026-07-14',
|
|
46
|
+
* });
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
drillIn(params: ReportDrillInParams, options?: RequestOptions): APIPromise<ReportDrillInResponse> {
|
|
50
|
+
const { 'Featurebase-Version': featurebaseVersion, ...body } = params;
|
|
51
|
+
return this._client.post('/v2/reports/drill-in', {
|
|
52
|
+
body,
|
|
53
|
+
...options,
|
|
54
|
+
headers: buildHeaders([
|
|
55
|
+
{
|
|
56
|
+
...(featurebaseVersion?.toString() != null ?
|
|
57
|
+
{ 'Featurebase-Version': featurebaseVersion?.toString() }
|
|
58
|
+
: undefined),
|
|
59
|
+
},
|
|
60
|
+
options?.headers,
|
|
61
|
+
]),
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
|
|
13
65
|
/**
|
|
14
66
|
* Returns the reporting catalog: every dataset available to your workspace with
|
|
15
67
|
* its metrics and attributes.
|
|
@@ -57,6 +109,55 @@ export class Reports extends APIResource {
|
|
|
57
109
|
});
|
|
58
110
|
}
|
|
59
111
|
|
|
112
|
+
/**
|
|
113
|
+
* Returns the available values for a filterable attribute — use it to build valid
|
|
114
|
+
* `filters` rules for `POST /v2/reports/query`.
|
|
115
|
+
*
|
|
116
|
+
* Works for attributes whose values live in your workspace data (tags, teammates,
|
|
117
|
+
* teams, companies, plans, countries, ...). Attributes with `staticOptions` in the
|
|
118
|
+
* catalog don't need this endpoint — their value set is already inline.
|
|
119
|
+
*
|
|
120
|
+
* - `query` narrows results by search string
|
|
121
|
+
* - `selectedValues` resolves labels for values you already hold (returned
|
|
122
|
+
* alongside search results)
|
|
123
|
+
*
|
|
124
|
+
* ### Example
|
|
125
|
+
*
|
|
126
|
+
* ```json
|
|
127
|
+
* { "fieldId": "conversation.tags", "query": "bill", "limit": 20 }
|
|
128
|
+
* ```
|
|
129
|
+
*
|
|
130
|
+
* ### Version Availability
|
|
131
|
+
*
|
|
132
|
+
* This endpoint is only available in API version 2026-01-01.nova and newer, and
|
|
133
|
+
* only for workspaces with the Reports product enabled (404 otherwise).
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* ```ts
|
|
137
|
+
* const response = await client.reports.lookupFilterValues({
|
|
138
|
+
* fieldId: 'conversation.tags',
|
|
139
|
+
* });
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
lookupFilterValues(
|
|
143
|
+
params: ReportLookupFilterValuesParams,
|
|
144
|
+
options?: RequestOptions,
|
|
145
|
+
): APIPromise<ReportLookupFilterValuesResponse> {
|
|
146
|
+
const { 'Featurebase-Version': featurebaseVersion, ...body } = params;
|
|
147
|
+
return this._client.post('/v2/reports/filter-values', {
|
|
148
|
+
body,
|
|
149
|
+
...options,
|
|
150
|
+
headers: buildHeaders([
|
|
151
|
+
{
|
|
152
|
+
...(featurebaseVersion?.toString() != null ?
|
|
153
|
+
{ 'Featurebase-Version': featurebaseVersion?.toString() }
|
|
154
|
+
: undefined),
|
|
155
|
+
},
|
|
156
|
+
options?.headers,
|
|
157
|
+
]),
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
|
|
60
161
|
/**
|
|
61
162
|
* Executes an ad-hoc reporting query: one metric + aggregation over a date range,
|
|
62
163
|
* with optional filters, grouping, segmentation and period-over-period comparison.
|
|
@@ -69,7 +170,7 @@ export class Reports extends APIResource {
|
|
|
69
170
|
* `percentile: 95` for p95); rate metrics use `value`.
|
|
70
171
|
* 2. Set the reporting window with `startDate` / `endDate` (ISO 8601) and a
|
|
71
172
|
* `granularity` (`hour`, `day`, `week`, `month`) for the returned time series.
|
|
72
|
-
* Reporting data is available from **July
|
|
173
|
+
* Reporting data is available from **July 14, 2026**. Windows ending earlier
|
|
73
174
|
* are rejected; crossing windows are clamped to that boundary in the requested
|
|
74
175
|
* timezone.
|
|
75
176
|
* 3. Optionally narrow with `filters` — a rule
|
|
@@ -112,7 +213,7 @@ export class Reports extends APIResource {
|
|
|
112
213
|
* {
|
|
113
214
|
* "metric": "new_conversations",
|
|
114
215
|
* "aggregation": "count",
|
|
115
|
-
* "startDate": "2026-07-
|
|
216
|
+
* "startDate": "2026-07-14",
|
|
116
217
|
* "endDate": "2026-07-15",
|
|
117
218
|
* "granularity": "day",
|
|
118
219
|
* "groupBy": "conversation.channel",
|
|
@@ -152,7 +253,7 @@ export class Reports extends APIResource {
|
|
|
152
253
|
* endDate: '2026-07-15',
|
|
153
254
|
* granularity: 'day',
|
|
154
255
|
* metric: 'new_conversations',
|
|
155
|
-
* startDate: '2026-07-
|
|
256
|
+
* startDate: '2026-07-14',
|
|
156
257
|
* });
|
|
157
258
|
* ```
|
|
158
259
|
*/
|
|
@@ -171,107 +272,6 @@ export class Reports extends APIResource {
|
|
|
171
272
|
]),
|
|
172
273
|
});
|
|
173
274
|
}
|
|
174
|
-
|
|
175
|
-
/**
|
|
176
|
-
* Returns the available values for a filterable attribute — use it to build valid
|
|
177
|
-
* `filters` rules for `POST /v2/reports/query`.
|
|
178
|
-
*
|
|
179
|
-
* Works for attributes whose values live in your workspace data (tags, teammates,
|
|
180
|
-
* teams, companies, plans, countries, ...). Attributes with `staticOptions` in the
|
|
181
|
-
* catalog don't need this endpoint — their value set is already inline.
|
|
182
|
-
*
|
|
183
|
-
* - `query` narrows results by search string
|
|
184
|
-
* - `selectedValues` resolves labels for values you already hold (returned
|
|
185
|
-
* alongside search results)
|
|
186
|
-
*
|
|
187
|
-
* ### Example
|
|
188
|
-
*
|
|
189
|
-
* ```json
|
|
190
|
-
* { "fieldId": "conversation.tags", "query": "bill", "limit": 20 }
|
|
191
|
-
* ```
|
|
192
|
-
*
|
|
193
|
-
* ### Version Availability
|
|
194
|
-
*
|
|
195
|
-
* This endpoint is only available in API version 2026-01-01.nova and newer, and
|
|
196
|
-
* only for workspaces with the Reports product enabled (404 otherwise).
|
|
197
|
-
*
|
|
198
|
-
* @example
|
|
199
|
-
* ```ts
|
|
200
|
-
* const response = await client.reports.lookupFilterValues({
|
|
201
|
-
* fieldId: 'conversation.tags',
|
|
202
|
-
* });
|
|
203
|
-
* ```
|
|
204
|
-
*/
|
|
205
|
-
lookupFilterValues(
|
|
206
|
-
params: ReportLookupFilterValuesParams,
|
|
207
|
-
options?: RequestOptions,
|
|
208
|
-
): APIPromise<ReportLookupFilterValuesResponse> {
|
|
209
|
-
const { 'Featurebase-Version': featurebaseVersion, ...body } = params;
|
|
210
|
-
return this._client.post('/v2/reports/filter-values', {
|
|
211
|
-
body,
|
|
212
|
-
...options,
|
|
213
|
-
headers: buildHeaders([
|
|
214
|
-
{
|
|
215
|
-
...(featurebaseVersion?.toString() != null ?
|
|
216
|
-
{ 'Featurebase-Version': featurebaseVersion?.toString() }
|
|
217
|
-
: undefined),
|
|
218
|
-
},
|
|
219
|
-
options?.headers,
|
|
220
|
-
]),
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
/**
|
|
225
|
-
* Returns the paginated row-level records behind a metric — either the whole
|
|
226
|
-
* reporting window, or one specific data point from a previous
|
|
227
|
-
* `POST /v2/reports/query` response.
|
|
228
|
-
*
|
|
229
|
-
* Send the **same** `metric`, date range, `granularity`, `filters`, `groupBy` /
|
|
230
|
-
* `segmentBy` and `view` as the query you're drilling into, plus
|
|
231
|
-
* `dataPointFilters` selecting the data point:
|
|
232
|
-
*
|
|
233
|
-
* - `timeBucket` — a `date` from the time series
|
|
234
|
-
* - `groupValue` / `segmentValue` — a `group` / `segment` value from grouped data
|
|
235
|
-
* - `dayOfWeek` + `hourOfDay` — a heatmap cell (`hourly_heatmap` view)
|
|
236
|
-
* - `flowPathId` or `sourceNodeId` + `targetNodeId` — a flow edge (`sankey` view)
|
|
237
|
-
*
|
|
238
|
-
* Pass `dataPointFilters: {}` to list all rows behind the metric for the window.
|
|
239
|
-
*
|
|
240
|
-
* Results are paginated with `page` / `pageSize` (max 200 per page);
|
|
241
|
-
* `availableColumns` describes every column the dataset can return and
|
|
242
|
-
* `defaultColumnIds` the recommended subset. Rows are keyed by column ID; identity
|
|
243
|
-
* cells (teammates, contacts) are objects with `id` + `label`.
|
|
244
|
-
*
|
|
245
|
-
* ### Version Availability
|
|
246
|
-
*
|
|
247
|
-
* This endpoint is only available in API version 2026-01-01.nova and newer, and
|
|
248
|
-
* only for workspaces with the Reports product enabled (404 otherwise).
|
|
249
|
-
*
|
|
250
|
-
* @example
|
|
251
|
-
* ```ts
|
|
252
|
-
* const response = await client.reports.drillIn({
|
|
253
|
-
* endDate: '2026-07-15',
|
|
254
|
-
* granularity: 'day',
|
|
255
|
-
* metric: 'new_conversations',
|
|
256
|
-
* startDate: '2026-07-12',
|
|
257
|
-
* });
|
|
258
|
-
* ```
|
|
259
|
-
*/
|
|
260
|
-
drillIn(params: ReportDrillInParams, options?: RequestOptions): APIPromise<ReportDrillInResponse> {
|
|
261
|
-
const { 'Featurebase-Version': featurebaseVersion, ...body } = params;
|
|
262
|
-
return this._client.post('/v2/reports/drill-in', {
|
|
263
|
-
body,
|
|
264
|
-
...options,
|
|
265
|
-
headers: buildHeaders([
|
|
266
|
-
{
|
|
267
|
-
...(featurebaseVersion?.toString() != null ?
|
|
268
|
-
{ 'Featurebase-Version': featurebaseVersion?.toString() }
|
|
269
|
-
: undefined),
|
|
270
|
-
},
|
|
271
|
-
options?.headers,
|
|
272
|
-
]),
|
|
273
|
-
});
|
|
274
|
-
}
|
|
275
275
|
}
|
|
276
276
|
|
|
277
277
|
export interface ReportAttribute {
|
|
@@ -439,14 +439,22 @@ export interface ReportMetric {
|
|
|
439
439
|
*/
|
|
440
440
|
id: string;
|
|
441
441
|
|
|
442
|
+
algebra: ReportMetric.Algebra;
|
|
443
|
+
|
|
442
444
|
allowedAggregations: Array<
|
|
443
445
|
'count' | 'sum' | 'avg' | 'median' | 'min' | 'max' | 'range' | 'percentile' | 'value'
|
|
444
446
|
>;
|
|
445
447
|
|
|
446
448
|
description: string;
|
|
447
449
|
|
|
450
|
+
executionKind: 'pipe_aggregate' | 'pipe_computed_ratio';
|
|
451
|
+
|
|
448
452
|
name: string;
|
|
449
453
|
|
|
454
|
+
presentationFamily: 'count' | 'duration' | 'percentage' | 'decimal' | 'fibi' | 'ai';
|
|
455
|
+
|
|
456
|
+
releaseState: 'available' | 'unavailable';
|
|
457
|
+
|
|
450
458
|
/**
|
|
451
459
|
* Attribute IDs this specific metric accepts in filter expressions.
|
|
452
460
|
*/
|
|
@@ -472,6 +480,8 @@ export interface ReportMetric {
|
|
|
472
480
|
|
|
473
481
|
unit: 'count' | 'percentage' | 'duration_ms' | 'number';
|
|
474
482
|
|
|
483
|
+
availabilityReason?: string;
|
|
484
|
+
|
|
475
485
|
/**
|
|
476
486
|
* Local calendar date (ISO 8601) from which this specific metric has data, when it
|
|
477
487
|
* differs from the global reporting floor. Windows ending before this date are
|
|
@@ -484,6 +494,10 @@ export interface ReportMetric {
|
|
|
484
494
|
*/
|
|
485
495
|
isDefaultVariant?: boolean;
|
|
486
496
|
|
|
497
|
+
qualifiers?: Array<string>;
|
|
498
|
+
|
|
499
|
+
searchAliases?: Array<string>;
|
|
500
|
+
|
|
487
501
|
/**
|
|
488
502
|
* Metrics sharing a `variantGroupId` are timestamp variants of one logical metric
|
|
489
503
|
* (same display `name`); each measures the same population at a different
|
|
@@ -503,6 +517,12 @@ export interface ReportMetric {
|
|
|
503
517
|
variantLabel?: string;
|
|
504
518
|
}
|
|
505
519
|
|
|
520
|
+
export namespace ReportMetric {
|
|
521
|
+
export interface Algebra {
|
|
522
|
+
kind: 'direct_aggregate' | 'pipe_computed_ratio';
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
|
|
506
526
|
export interface ReportSegmentDatum {
|
|
507
527
|
segment: string;
|
|
508
528
|
|
|
@@ -666,6 +686,10 @@ export interface ReportLookupFilterValuesResponse {
|
|
|
666
686
|
data: Array<ReportAttributeOption>;
|
|
667
687
|
|
|
668
688
|
object: 'list';
|
|
689
|
+
|
|
690
|
+
nextCursor?: string;
|
|
691
|
+
|
|
692
|
+
unavailableSelectedValues?: Array<string>;
|
|
669
693
|
}
|
|
670
694
|
|
|
671
695
|
export interface ReportQueryResponse {
|
|
@@ -838,25 +862,10 @@ export namespace ReportQueryResponse {
|
|
|
838
862
|
}
|
|
839
863
|
}
|
|
840
864
|
|
|
841
|
-
export interface
|
|
842
|
-
/**
|
|
843
|
-
* API version for this request. Defaults to your organization's configured API
|
|
844
|
-
* version if not specified.
|
|
845
|
-
*/
|
|
846
|
-
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
847
|
-
}
|
|
848
|
-
|
|
849
|
-
export interface ReportQueryParams {
|
|
850
|
-
/**
|
|
851
|
-
* Body param: Aggregation function applied to the metric. Each metric supports a
|
|
852
|
-
* subset of aggregations — see the `allowedAggregations` field in the
|
|
853
|
-
* `GET /v2/reports/datasets` catalog.
|
|
854
|
-
*/
|
|
855
|
-
aggregation: 'count' | 'sum' | 'avg' | 'median' | 'min' | 'max' | 'range' | 'percentile' | 'value';
|
|
856
|
-
|
|
865
|
+
export interface ReportDrillInParams {
|
|
857
866
|
/**
|
|
858
867
|
* Body param: End of the reporting window (ISO 8601 date or datetime, inclusive).
|
|
859
|
-
* Windows ending before 2026-07-
|
|
868
|
+
* Windows ending before 2026-07-14 are rejected.
|
|
860
869
|
*/
|
|
861
870
|
endDate: string;
|
|
862
871
|
|
|
@@ -866,29 +875,34 @@ export interface ReportQueryParams {
|
|
|
866
875
|
granularity: 'hour' | 'day' | 'week' | 'month';
|
|
867
876
|
|
|
868
877
|
/**
|
|
869
|
-
* Body param: Metric ID
|
|
870
|
-
* via `GET /v2/reports/datasets`.
|
|
878
|
+
* Body param: Metric ID the drill-in belongs to.
|
|
871
879
|
*/
|
|
872
880
|
metric: string;
|
|
873
881
|
|
|
874
882
|
/**
|
|
875
883
|
* Body param: Start of the reporting window (ISO 8601 date or datetime,
|
|
876
|
-
* inclusive). Reporting data is available from 2026-07-
|
|
884
|
+
* inclusive). Reporting data is available from 2026-07-14; crossing windows are
|
|
877
885
|
* clamped to that boundary.
|
|
878
886
|
*/
|
|
879
887
|
startDate: string;
|
|
880
888
|
|
|
881
889
|
/**
|
|
882
|
-
* Body param:
|
|
883
|
-
* `compareStartDate`.
|
|
890
|
+
* Body param: Stable editor ID of the saved chart that launched this drill-in.
|
|
884
891
|
*/
|
|
885
|
-
|
|
892
|
+
chartEditorId?: string;
|
|
886
893
|
|
|
887
894
|
/**
|
|
888
|
-
* Body param:
|
|
889
|
-
*
|
|
895
|
+
* Body param: Column IDs to include in each returned row. Omit for legacy
|
|
896
|
+
* full-width static rows; pass an empty array to use `defaultColumnIds`.
|
|
890
897
|
*/
|
|
891
|
-
|
|
898
|
+
columns?: Array<string>;
|
|
899
|
+
|
|
900
|
+
/**
|
|
901
|
+
* Body param: Narrows the drill-in to one data point from a previous query (time
|
|
902
|
+
* bucket, group value, heatmap cell, or flow edge). Pass `{}` to list all
|
|
903
|
+
* underlying rows.
|
|
904
|
+
*/
|
|
905
|
+
dataPointFilters?: ReportDrillInParams.DataPointFilters;
|
|
892
906
|
|
|
893
907
|
/**
|
|
894
908
|
* Body param: Filter expression: a single rule, or an `and`/`or` group combining
|
|
@@ -898,69 +912,51 @@ export interface ReportQueryParams {
|
|
|
898
912
|
filters?: ReportFilterRule | ReportFilterExpression;
|
|
899
913
|
|
|
900
914
|
/**
|
|
901
|
-
* Body param
|
|
902
|
-
* `supportsGroupBy` in the catalog.
|
|
915
|
+
* Body param
|
|
903
916
|
*/
|
|
904
917
|
groupBy?: string;
|
|
905
918
|
|
|
906
919
|
/**
|
|
907
|
-
* Body param
|
|
908
|
-
* supported by some metrics (see `supportsOfficeHours` in the catalog).
|
|
920
|
+
* Body param
|
|
909
921
|
*/
|
|
910
922
|
officeHoursOnly?: boolean;
|
|
911
923
|
|
|
912
924
|
/**
|
|
913
|
-
* Body param:
|
|
925
|
+
* Body param: Page number (1-based).
|
|
914
926
|
*/
|
|
915
|
-
|
|
927
|
+
page?: number;
|
|
916
928
|
|
|
917
929
|
/**
|
|
918
|
-
* Body param:
|
|
919
|
-
* bucket.
|
|
930
|
+
* Body param: Rows per page (1-200, default 25).
|
|
920
931
|
*/
|
|
921
|
-
|
|
932
|
+
pageSize?: number;
|
|
922
933
|
|
|
923
934
|
/**
|
|
924
|
-
* Body param
|
|
925
|
-
* synthetic `__other__` / `Other` segment. Only supported for additive
|
|
926
|
-
* aggregations (`count`, `sum`, `value`) and not for percentage metrics. The
|
|
927
|
-
* `__other__` segment cannot be drilled into. Requires `segmentBy` and
|
|
928
|
-
* `segmentTopValuesLimit`.
|
|
935
|
+
* Body param
|
|
929
936
|
*/
|
|
930
|
-
|
|
937
|
+
segmentBy?: string;
|
|
931
938
|
|
|
932
939
|
/**
|
|
933
|
-
* Body param:
|
|
934
|
-
*
|
|
935
|
-
*
|
|
936
|
-
* the ranking is applied within each retained parent group. Allowed values: `5`,
|
|
937
|
-
* `7`, `10`, `15`, `20`. Requires `segmentBy`.
|
|
940
|
+
* Body param: A metric ID from the datasets catalog. Use when the originating
|
|
941
|
+
* chart aggregates several metrics to pick which one the drill-in follows.
|
|
942
|
+
* Defaults to `metric`.
|
|
938
943
|
*/
|
|
939
|
-
|
|
944
|
+
selectedMetricId?: string;
|
|
940
945
|
|
|
941
946
|
/**
|
|
942
|
-
* Body param:
|
|
943
|
-
* label `Other` that sums the values of every `groupBy` value outside the top set.
|
|
944
|
-
* Only supported for additive aggregations (`count`, `sum`, `value`) and not for
|
|
945
|
-
* percentage metrics. The `__other__` group cannot be drilled into. Requires
|
|
946
|
-
* `groupBy` and `topValuesLimit`.
|
|
947
|
+
* Body param: Stable metric-row ID selected within the launching chart.
|
|
947
948
|
*/
|
|
948
|
-
|
|
949
|
+
selectedMetricRowId?: string;
|
|
949
950
|
|
|
950
951
|
/**
|
|
951
|
-
* Body param
|
|
952
|
-
* to UTC.
|
|
952
|
+
* Body param
|
|
953
953
|
*/
|
|
954
|
-
|
|
954
|
+
sort?: Array<ReportDrillInParams.Sort>;
|
|
955
955
|
|
|
956
956
|
/**
|
|
957
|
-
* Body param
|
|
958
|
-
* selected metric/aggregation over the full filtered primary range. Allowed
|
|
959
|
-
* values: `5`, `7`, `10`, `15`, `20`. The ranked set is stable across every time
|
|
960
|
-
* bucket, and a comparison period reuses the primary period's ranked set (never
|
|
961
|
-
* re-ranked). Requires `groupBy`.
|
|
957
|
+
* Body param
|
|
962
958
|
*/
|
|
963
|
-
|
|
959
|
+
timezone?: string;
|
|
964
960
|
|
|
965
961
|
/**
|
|
966
962
|
* Body param: Result shape. `standard` returns a time series (plus grouped/segment
|
|
@@ -974,7 +970,72 @@ export interface ReportQueryParams {
|
|
|
974
970
|
* Header param: API version for this request. Defaults to your organization's
|
|
975
971
|
* configured API version if not specified.
|
|
976
972
|
*/
|
|
977
|
-
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
973
|
+
'Featurebase-Version'?: '2026-08-19.orbit' | '2026-01-01.nova' | '2025-12-12.clover';
|
|
974
|
+
}
|
|
975
|
+
|
|
976
|
+
export namespace ReportDrillInParams {
|
|
977
|
+
/**
|
|
978
|
+
* Narrows the drill-in to one data point from a previous query (time bucket, group
|
|
979
|
+
* value, heatmap cell, or flow edge). Pass `{}` to list all underlying rows.
|
|
980
|
+
*/
|
|
981
|
+
export interface DataPointFilters {
|
|
982
|
+
/**
|
|
983
|
+
* Day of week (1 = Monday … 7 = Sunday) — for `hourly_heatmap` views.
|
|
984
|
+
*/
|
|
985
|
+
dayOfWeek?: number;
|
|
986
|
+
|
|
987
|
+
/**
|
|
988
|
+
* Flow path ID — for `sankey` views.
|
|
989
|
+
*/
|
|
990
|
+
flowPathId?: string;
|
|
991
|
+
|
|
992
|
+
/**
|
|
993
|
+
* Group value to drill into (a `group` value from `groupedData`).
|
|
994
|
+
*/
|
|
995
|
+
groupValue?: string;
|
|
996
|
+
|
|
997
|
+
/**
|
|
998
|
+
* Hour of day (0-23) — for `hourly_heatmap` views.
|
|
999
|
+
*/
|
|
1000
|
+
hourOfDay?: number;
|
|
1001
|
+
|
|
1002
|
+
/**
|
|
1003
|
+
* Segment value to drill into (a `segment` value from segment data).
|
|
1004
|
+
*/
|
|
1005
|
+
segmentValue?: string;
|
|
1006
|
+
|
|
1007
|
+
/**
|
|
1008
|
+
* Flow source node ID — for `sankey` views.
|
|
1009
|
+
*/
|
|
1010
|
+
sourceNodeId?: string;
|
|
1011
|
+
|
|
1012
|
+
/**
|
|
1013
|
+
* Flow target node ID — for `sankey` views.
|
|
1014
|
+
*/
|
|
1015
|
+
targetNodeId?: string;
|
|
1016
|
+
|
|
1017
|
+
/**
|
|
1018
|
+
* Time bucket to drill into (a `date` value from the query time series).
|
|
1019
|
+
*/
|
|
1020
|
+
timeBucket?: string;
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1023
|
+
export interface Sort {
|
|
1024
|
+
direction: 'asc' | 'desc';
|
|
1025
|
+
|
|
1026
|
+
/**
|
|
1027
|
+
* Column ID to sort by (an attribute ID or `metric.value`).
|
|
1028
|
+
*/
|
|
1029
|
+
fieldId: string;
|
|
1030
|
+
}
|
|
1031
|
+
}
|
|
1032
|
+
|
|
1033
|
+
export interface ReportListDatasetsParams {
|
|
1034
|
+
/**
|
|
1035
|
+
* API version for this request. Defaults to your organization's configured API
|
|
1036
|
+
* version if not specified.
|
|
1037
|
+
*/
|
|
1038
|
+
'Featurebase-Version'?: '2026-08-19.orbit' | '2026-01-01.nova' | '2025-12-12.clover';
|
|
978
1039
|
}
|
|
979
1040
|
|
|
980
1041
|
export interface ReportLookupFilterValuesParams {
|
|
@@ -984,16 +1045,41 @@ export interface ReportLookupFilterValuesParams {
|
|
|
984
1045
|
*/
|
|
985
1046
|
fieldId: string;
|
|
986
1047
|
|
|
1048
|
+
/**
|
|
1049
|
+
* Body param
|
|
1050
|
+
*/
|
|
1051
|
+
cursor?: string;
|
|
1052
|
+
|
|
1053
|
+
/**
|
|
1054
|
+
* Body param
|
|
1055
|
+
*/
|
|
1056
|
+
datasetId?: string;
|
|
1057
|
+
|
|
1058
|
+
/**
|
|
1059
|
+
* Body param
|
|
1060
|
+
*/
|
|
1061
|
+
groupBy?: string;
|
|
1062
|
+
|
|
987
1063
|
/**
|
|
988
1064
|
* Body param: Maximum number of options to return (1-50, default 20).
|
|
989
1065
|
*/
|
|
990
1066
|
limit?: number;
|
|
991
1067
|
|
|
1068
|
+
/**
|
|
1069
|
+
* Body param
|
|
1070
|
+
*/
|
|
1071
|
+
metricId?: string;
|
|
1072
|
+
|
|
992
1073
|
/**
|
|
993
1074
|
* Body param: Optional search string to narrow the returned options.
|
|
994
1075
|
*/
|
|
995
1076
|
query?: string;
|
|
996
1077
|
|
|
1078
|
+
/**
|
|
1079
|
+
* Body param
|
|
1080
|
+
*/
|
|
1081
|
+
segmentBy?: string;
|
|
1082
|
+
|
|
997
1083
|
/**
|
|
998
1084
|
* Body param: Already-selected values to resolve labels for (returned alongside
|
|
999
1085
|
* search results).
|
|
@@ -1004,13 +1090,20 @@ export interface ReportLookupFilterValuesParams {
|
|
|
1004
1090
|
* Header param: API version for this request. Defaults to your organization's
|
|
1005
1091
|
* configured API version if not specified.
|
|
1006
1092
|
*/
|
|
1007
|
-
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
1093
|
+
'Featurebase-Version'?: '2026-08-19.orbit' | '2026-01-01.nova' | '2025-12-12.clover';
|
|
1008
1094
|
}
|
|
1009
1095
|
|
|
1010
|
-
export interface
|
|
1096
|
+
export interface ReportQueryParams {
|
|
1097
|
+
/**
|
|
1098
|
+
* Body param: Aggregation function applied to the metric. Each metric supports a
|
|
1099
|
+
* subset of aggregations — see the `allowedAggregations` field in the
|
|
1100
|
+
* `GET /v2/reports/datasets` catalog.
|
|
1101
|
+
*/
|
|
1102
|
+
aggregation: 'count' | 'sum' | 'avg' | 'median' | 'min' | 'max' | 'range' | 'percentile' | 'value';
|
|
1103
|
+
|
|
1011
1104
|
/**
|
|
1012
1105
|
* Body param: End of the reporting window (ISO 8601 date or datetime, inclusive).
|
|
1013
|
-
* Windows ending before 2026-07-
|
|
1106
|
+
* Windows ending before 2026-07-14 are rejected.
|
|
1014
1107
|
*/
|
|
1015
1108
|
endDate: string;
|
|
1016
1109
|
|
|
@@ -1020,34 +1113,29 @@ export interface ReportDrillInParams {
|
|
|
1020
1113
|
granularity: 'hour' | 'day' | 'week' | 'month';
|
|
1021
1114
|
|
|
1022
1115
|
/**
|
|
1023
|
-
* Body param: Metric ID
|
|
1116
|
+
* Body param: Metric ID to query (e.g. `new_conversations`). Discover metric IDs
|
|
1117
|
+
* via `GET /v2/reports/datasets`.
|
|
1024
1118
|
*/
|
|
1025
1119
|
metric: string;
|
|
1026
1120
|
|
|
1027
1121
|
/**
|
|
1028
1122
|
* Body param: Start of the reporting window (ISO 8601 date or datetime,
|
|
1029
|
-
* inclusive). Reporting data is available from 2026-07-
|
|
1123
|
+
* inclusive). Reporting data is available from 2026-07-14; crossing windows are
|
|
1030
1124
|
* clamped to that boundary.
|
|
1031
1125
|
*/
|
|
1032
1126
|
startDate: string;
|
|
1033
1127
|
|
|
1034
1128
|
/**
|
|
1035
|
-
* Body param:
|
|
1036
|
-
|
|
1037
|
-
chartEditorId?: string;
|
|
1038
|
-
|
|
1039
|
-
/**
|
|
1040
|
-
* Body param: Column IDs to include in each returned row. Omit for legacy
|
|
1041
|
-
* full-width static rows; pass an empty array to use `defaultColumnIds`.
|
|
1129
|
+
* Body param: End of the comparison window. Must be paired with
|
|
1130
|
+
* `compareStartDate`.
|
|
1042
1131
|
*/
|
|
1043
|
-
|
|
1132
|
+
compareEndDate?: string;
|
|
1044
1133
|
|
|
1045
1134
|
/**
|
|
1046
|
-
* Body param:
|
|
1047
|
-
*
|
|
1048
|
-
* underlying rows.
|
|
1135
|
+
* Body param: Start of the comparison window for period-over-period deltas. Must
|
|
1136
|
+
* be paired with `compareEndDate`.
|
|
1049
1137
|
*/
|
|
1050
|
-
|
|
1138
|
+
compareStartDate?: string;
|
|
1051
1139
|
|
|
1052
1140
|
/**
|
|
1053
1141
|
* Body param: Filter expression: a single rule, or an `and`/`or` group combining
|
|
@@ -1057,51 +1145,69 @@ export interface ReportDrillInParams {
|
|
|
1057
1145
|
filters?: ReportFilterRule | ReportFilterExpression;
|
|
1058
1146
|
|
|
1059
1147
|
/**
|
|
1060
|
-
* Body param
|
|
1148
|
+
* Body param: Attribute ID to group results by (e.g. `conversation.channel`). See
|
|
1149
|
+
* `supportsGroupBy` in the catalog.
|
|
1061
1150
|
*/
|
|
1062
1151
|
groupBy?: string;
|
|
1063
1152
|
|
|
1064
1153
|
/**
|
|
1065
|
-
* Body param
|
|
1154
|
+
* Body param: Restrict time-based metrics to configured office hours. Only
|
|
1155
|
+
* supported by some metrics (see `supportsOfficeHours` in the catalog).
|
|
1066
1156
|
*/
|
|
1067
1157
|
officeHoursOnly?: boolean;
|
|
1068
1158
|
|
|
1069
1159
|
/**
|
|
1070
|
-
* Body param:
|
|
1160
|
+
* Body param: Percentile (1-100) — required when `aggregation` is `percentile`.
|
|
1071
1161
|
*/
|
|
1072
|
-
|
|
1162
|
+
percentile?: number;
|
|
1073
1163
|
|
|
1074
1164
|
/**
|
|
1075
|
-
* Body param:
|
|
1165
|
+
* Body param: Attribute ID for secondary segmentation within each group or time
|
|
1166
|
+
* bucket.
|
|
1076
1167
|
*/
|
|
1077
|
-
|
|
1168
|
+
segmentBy?: string;
|
|
1078
1169
|
|
|
1079
1170
|
/**
|
|
1080
|
-
* Body param
|
|
1171
|
+
* Body param: When `true`, fold `segmentBy` values outside the top set into a
|
|
1172
|
+
* synthetic `__other__` / `Other` segment. Only supported for additive
|
|
1173
|
+
* aggregations (`count`, `sum`, `value`) and not for percentage metrics. The
|
|
1174
|
+
* `__other__` segment cannot be drilled into. Requires `segmentBy` and
|
|
1175
|
+
* `segmentTopValuesLimit`.
|
|
1081
1176
|
*/
|
|
1082
|
-
|
|
1177
|
+
segmentShowOther?: boolean;
|
|
1083
1178
|
|
|
1084
1179
|
/**
|
|
1085
|
-
* Body param:
|
|
1086
|
-
*
|
|
1087
|
-
*
|
|
1180
|
+
* Body param: Keep only the top N `segmentBy` values per series, ranked by the
|
|
1181
|
+
* selected metric over the full filtered primary range. Under a time View-by the
|
|
1182
|
+
* ranked segment set is identical across every bucket; under a dimension View-by
|
|
1183
|
+
* the ranking is applied within each retained parent group. Allowed values: `5`,
|
|
1184
|
+
* `7`, `10`, `15`, `20`. Requires `segmentBy`.
|
|
1088
1185
|
*/
|
|
1089
|
-
|
|
1186
|
+
segmentTopValuesLimit?: 5 | 7 | 10 | 15 | 20;
|
|
1090
1187
|
|
|
1091
1188
|
/**
|
|
1092
|
-
* Body param:
|
|
1189
|
+
* Body param: When `true`, append a single synthetic group with id `__other__` and
|
|
1190
|
+
* label `Other` that sums the values of every `groupBy` value outside the top set.
|
|
1191
|
+
* Only supported for additive aggregations (`count`, `sum`, `value`) and not for
|
|
1192
|
+
* percentage metrics. The `__other__` group cannot be drilled into. Requires
|
|
1193
|
+
* `groupBy` and `topValuesLimit`.
|
|
1093
1194
|
*/
|
|
1094
|
-
|
|
1195
|
+
showOther?: boolean;
|
|
1095
1196
|
|
|
1096
1197
|
/**
|
|
1097
|
-
* Body param
|
|
1198
|
+
* Body param: IANA timezone for date bucketing (e.g. `America/New_York`). Defaults
|
|
1199
|
+
* to UTC.
|
|
1098
1200
|
*/
|
|
1099
|
-
|
|
1201
|
+
timezone?: string;
|
|
1100
1202
|
|
|
1101
1203
|
/**
|
|
1102
|
-
* Body param
|
|
1204
|
+
* Body param: Keep only the top N `groupBy` (View-by) values, ranked by the
|
|
1205
|
+
* selected metric/aggregation over the full filtered primary range. Allowed
|
|
1206
|
+
* values: `5`, `7`, `10`, `15`, `20`. The ranked set is stable across every time
|
|
1207
|
+
* bucket, and a comparison period reuses the primary period's ranked set (never
|
|
1208
|
+
* re-ranked). Requires `groupBy`.
|
|
1103
1209
|
*/
|
|
1104
|
-
|
|
1210
|
+
topValuesLimit?: 5 | 7 | 10 | 15 | 20;
|
|
1105
1211
|
|
|
1106
1212
|
/**
|
|
1107
1213
|
* Body param: Result shape. `standard` returns a time series (plus grouped/segment
|
|
@@ -1115,64 +1221,7 @@ export interface ReportDrillInParams {
|
|
|
1115
1221
|
* Header param: API version for this request. Defaults to your organization's
|
|
1116
1222
|
* configured API version if not specified.
|
|
1117
1223
|
*/
|
|
1118
|
-
'Featurebase-Version'?: '2026-01-01.nova' | '2025-12-12.clover';
|
|
1119
|
-
}
|
|
1120
|
-
|
|
1121
|
-
export namespace ReportDrillInParams {
|
|
1122
|
-
/**
|
|
1123
|
-
* Narrows the drill-in to one data point from a previous query (time bucket, group
|
|
1124
|
-
* value, heatmap cell, or flow edge). Pass `{}` to list all underlying rows.
|
|
1125
|
-
*/
|
|
1126
|
-
export interface DataPointFilters {
|
|
1127
|
-
/**
|
|
1128
|
-
* Day of week (1 = Monday … 7 = Sunday) — for `hourly_heatmap` views.
|
|
1129
|
-
*/
|
|
1130
|
-
dayOfWeek?: number;
|
|
1131
|
-
|
|
1132
|
-
/**
|
|
1133
|
-
* Flow path ID — for `sankey` views.
|
|
1134
|
-
*/
|
|
1135
|
-
flowPathId?: string;
|
|
1136
|
-
|
|
1137
|
-
/**
|
|
1138
|
-
* Group value to drill into (a `group` value from `groupedData`).
|
|
1139
|
-
*/
|
|
1140
|
-
groupValue?: string;
|
|
1141
|
-
|
|
1142
|
-
/**
|
|
1143
|
-
* Hour of day (0-23) — for `hourly_heatmap` views.
|
|
1144
|
-
*/
|
|
1145
|
-
hourOfDay?: number;
|
|
1146
|
-
|
|
1147
|
-
/**
|
|
1148
|
-
* Segment value to drill into (a `segment` value from segment data).
|
|
1149
|
-
*/
|
|
1150
|
-
segmentValue?: string;
|
|
1151
|
-
|
|
1152
|
-
/**
|
|
1153
|
-
* Flow source node ID — for `sankey` views.
|
|
1154
|
-
*/
|
|
1155
|
-
sourceNodeId?: string;
|
|
1156
|
-
|
|
1157
|
-
/**
|
|
1158
|
-
* Flow target node ID — for `sankey` views.
|
|
1159
|
-
*/
|
|
1160
|
-
targetNodeId?: string;
|
|
1161
|
-
|
|
1162
|
-
/**
|
|
1163
|
-
* Time bucket to drill into (a `date` value from the query time series).
|
|
1164
|
-
*/
|
|
1165
|
-
timeBucket?: string;
|
|
1166
|
-
}
|
|
1167
|
-
|
|
1168
|
-
export interface Sort {
|
|
1169
|
-
direction: 'asc' | 'desc';
|
|
1170
|
-
|
|
1171
|
-
/**
|
|
1172
|
-
* Column ID to sort by (an attribute ID or `metric.value`).
|
|
1173
|
-
*/
|
|
1174
|
-
fieldId: string;
|
|
1175
|
-
}
|
|
1224
|
+
'Featurebase-Version'?: '2026-08-19.orbit' | '2026-01-01.nova' | '2025-12-12.clover';
|
|
1176
1225
|
}
|
|
1177
1226
|
|
|
1178
1227
|
export declare namespace Reports {
|
|
@@ -1190,9 +1239,9 @@ export declare namespace Reports {
|
|
|
1190
1239
|
type ReportListDatasetsResponse as ReportListDatasetsResponse,
|
|
1191
1240
|
type ReportLookupFilterValuesResponse as ReportLookupFilterValuesResponse,
|
|
1192
1241
|
type ReportQueryResponse as ReportQueryResponse,
|
|
1242
|
+
type ReportDrillInParams as ReportDrillInParams,
|
|
1193
1243
|
type ReportListDatasetsParams as ReportListDatasetsParams,
|
|
1194
|
-
type ReportQueryParams as ReportQueryParams,
|
|
1195
1244
|
type ReportLookupFilterValuesParams as ReportLookupFilterValuesParams,
|
|
1196
|
-
type
|
|
1245
|
+
type ReportQueryParams as ReportQueryParams,
|
|
1197
1246
|
};
|
|
1198
1247
|
}
|