Drill into report rows
Returns the paginated row-level records behind a metric — either the whole reporting window, or one specific data point from a previous POST /v2/reports/query response.
Send the same metric, date range, granularity, filters, groupBy / segmentBy and view as the query you’re drilling into, plus dataPointFilters selecting the data point:
timeBucket— adatefrom the time seriesgroupValue/segmentValue— agroup/segmentvalue from grouped datadayOfWeek+hourOfDay— a heatmap cell (hourly_heatmapview)flowPathIdorsourceNodeId+targetNodeId— a flow edge (sankeyview)
Pass dataPointFilters: {} to list all rows behind the metric for the window.
Results are paginated with page / pageSize (max 200 per page); availableColumns describes every column the dataset can return and defaultColumnIds the recommended subset. Rows are keyed by column ID; identity cells (teammates, contacts) are objects with id + label.
Version Availability
This endpoint is only available in API version 2026-01-01.nova and newer, and only for workspaces with the Reports product enabled (404 otherwise).
Drill into report rows
import Featurebase from 'featurebase-node';
const client = new Featurebase({
apiKey: process.env['FEATUREBASE_API_KEY'], // This is the default and can be omitted
});
const response = await client.reports.drillIn({
endDate: '2026-07-15',
granularity: 'day',
metric: 'new_conversations',
startDate: '2026-07-12',
});
console.log(response.availableColumns);{
"availableColumns": [
{
"id": "id",
"name": "name",
"supportsSort": true,
"valueType": "valueType",
"category": "category"
}
],
"defaultColumnIds": [
"string"
],
"meta": {
"datasetId": "datasetId",
"metricId": "metricId",
"rawMetricId": "rawMetricId",
"reconciliation": {
"kind": "rows",
"rowCount": 0,
"status": "not_applicable",
"denominatorHours": 0,
"displayedRate": 0,
"eligibleDenominatorTotal": 0,
"rawNumeratorTotal": 0
},
"rowGrain": "rowGrain",
"rowSemantics": "metric_rows",
"sourceFact": "sourceFact",
"emptyReason": "no_matching_rows",
"metricRowId": "metricRowId"
},
"object": "report_drill_in_result",
"page": 0,
"pageSize": 0,
"rows": [
{
"foo": "string"
}
],
"timezone": "timezone",
"total": 0
}Returns Examples
{
"availableColumns": [
{
"id": "id",
"name": "name",
"supportsSort": true,
"valueType": "valueType",
"category": "category"
}
],
"defaultColumnIds": [
"string"
],
"meta": {
"datasetId": "datasetId",
"metricId": "metricId",
"rawMetricId": "rawMetricId",
"reconciliation": {
"kind": "rows",
"rowCount": 0,
"status": "not_applicable",
"denominatorHours": 0,
"displayedRate": 0,
"eligibleDenominatorTotal": 0,
"rawNumeratorTotal": 0
},
"rowGrain": "rowGrain",
"rowSemantics": "metric_rows",
"sourceFact": "sourceFact",
"emptyReason": "no_matching_rows",
"metricRowId": "metricRowId"
},
"object": "report_drill_in_result",
"page": 0,
"pageSize": 0,
"rows": [
{
"foo": "string"
}
],
"timezone": "timezone",
"total": 0
}