> ## Documentation Index
> Fetch the complete documentation index at: https://docs.honeyhive.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# QueryChartResponse

> TypeScript response type from the HoneyHive API

> **QueryChartResponse** = `object`

## Description

Response body for POST /v1/charts/query

## Properties

### data

> **data**: \{ `data`: \{ `buckets`: `string`\[]; `series`: `object`\[]; }; `kind`: `"time_series"`; `measures`: `object`\[]; `meta`: \{ `effective_bucket`: \{ `fill`: `"zero"` | `"null"`; `interval`: `string`; }; `matched_event_count`: `number`; `ranking?`: \{ `limit`: `number`; `total_series`: `number`; }; `warnings`: `object`\[]; }; } | \{ `data`: \{ `categories`: `object`\[]; `series`: `object`\[]; }; `format`: `"number"` | `"duration_ms"` | `"currency_usd"` | `"percent"`; `kind`: `"categorical"`; `meta`: \{ `warnings`: `object`\[]; }; `unit`: `"ms"` | `"usd"` | `"tokens"` | `"events"` | `"sessions"` | `"%"` | `"number"`; } | \{ `data`: \{ `comparison?`: \{ `date_range`: \{ `end_time`: `string`; `start_time`: `string`; `timezone?`: `string`; }; `sparkline?`: \{ `buckets`: `string`\[]; `interval`: `string`; `values`: (`number` | `null`)\[]; }; `value`: `number` | `null`; }; `sparkline?`: \{ `buckets`: `string`\[]; `interval`: `string`; `values`: (`number` | `null`)\[]; }; `value`: `number` | `null`; }; `kind`: `"scalar"`; `measures`: `object`\[]; `meta`: \{ `matched_event_count`: `number`; `warnings`: `object`\[]; }; } | \{ `data`: \{ `bins`: `object`\[]; `markers`: \{\[`key`: `string`]: `number` | `null`; }; }; `format`: `"number"` | `"duration_ms"` | `"currency_usd"` | `"percent"`; `kind`: `"histogram"`; `meta`: \{ `matched_event_count`: `number`; `warnings`: `object`\[]; }; `unit`: `"ms"` | `"usd"` | `"tokens"` | `"events"` | `"sessions"` | `"%"` | `"number"`; } | \{ `data`: \{ `rows`: `object`\[]; }; `kind`: `"table"`; `measures`: `object`\[]; `meta`: \{ `matched_event_count`: `number`; `ranking`: \{ `limit`: `number`; `total_categories`: `number`; }; `warnings`: `object`\[]; }; } | \{ `data`: \{ `points`: `object`\[]; }; `kind`: `"scatter"`; `measures`: `object`\[]; `meta`: \{ `matched_event_count`: `number`; `truncated`: `boolean`; `warnings`: `object`\[]; }; }

#### Union Members

##### Type Literal

\{ `data`: \{ `buckets`: `string`\[]; `series`: `object`\[]; }; `kind`: `"time_series"`; `measures`: `object`\[]; `meta`: \{ `effective_bucket`: \{ `fill`: `"zero"` | `"null"`; `interval`: `string`; }; `matched_event_count`: `number`; `ranking?`: \{ `limit`: `number`; `total_series`: `number`; }; `warnings`: `object`\[]; }; }

##### data

> **data**: `object`

###### data.buckets

> **buckets**: `string`\[]

###### Description

Full axis, no gaps; UTC instants of timezone-local bucket starts

###### data.series

> **series**: `object`\[]

##### kind

> **kind**: `"time_series"`

###### Description

discriminator enum property added by openapi-typescript

##### measures

> **measures**: `object`\[]

##### meta

> **meta**: `object`

###### meta.effective\_bucket

> **effective\_bucket**: `object`

###### meta.effective\_bucket.fill

> **fill**: `"zero"` | `"null"`

###### meta.effective\_bucket.interval

> **interval**: `string`

###### meta.matched\_event\_count

> **matched\_event\_count**: `number`

###### Description

Rows in scope after filters and dedup; powers empty-state vs error-state UI

###### meta.ranking?

> `optional` **ranking?**: `object`

###### meta.ranking.limit

> **limit**: `number`

###### meta.ranking.total\_series

> **total\_series**: `number`

###### meta.warnings

> **warnings**: `object`\[]

***

##### Type Literal

\{ `data`: \{ `categories`: `object`\[]; `series`: `object`\[]; }; `format`: `"number"` | `"duration_ms"` | `"currency_usd"` | `"percent"`; `kind`: `"categorical"`; `meta`: \{ `warnings`: `object`\[]; }; `unit`: `"ms"` | `"usd"` | `"tokens"` | `"events"` | `"sessions"` | `"%"` | `"number"`; }

##### data

> **data**: `object`

###### data.categories

> **categories**: `object`\[]

###### data.series

> **series**: `object`\[]

##### format

> **format**: `"number"` | `"duration_ms"` | `"currency_usd"` | `"percent"`

##### kind

> **kind**: `"categorical"`

###### Description

discriminator enum property added by openapi-typescript

##### meta

> **meta**: `object`

###### meta.warnings

> **warnings**: `object`\[]

##### unit

> **unit**: `"ms"` | `"usd"` | `"tokens"` | `"events"` | `"sessions"` | `"%"` | `"number"`

***

##### Type Literal

\{ `data`: \{ `comparison?`: \{ `date_range`: \{ `end_time`: `string`; `start_time`: `string`; `timezone?`: `string`; }; `sparkline?`: \{ `buckets`: `string`\[]; `interval`: `string`; `values`: (`number` | `null`)\[]; }; `value`: `number` | `null`; }; `sparkline?`: \{ `buckets`: `string`\[]; `interval`: `string`; `values`: (`number` | `null`)\[]; }; `value`: `number` | `null`; }; `kind`: `"scalar"`; `measures`: `object`\[]; `meta`: \{ `matched_event_count`: `number`; `warnings`: `object`\[]; }; }

##### data

> **data**: `object`

###### data.comparison?

> `optional` **comparison?**: `object`

###### data.comparison.date\_range

> **date\_range**: `object`

###### Description

Server-derived; the UI labels the delta with this rather than re-deriving it

###### data.comparison.date\_range.end\_time

> **end\_time**: `string`

Format: date-time

###### Description

RFC 3339 end of the range (exclusive); Z or explicit offset

###### data.comparison.date\_range.start\_time

> **start\_time**: `string`

Format: date-time

###### Description

RFC 3339 start of the range (inclusive); Z or explicit offset

###### data.comparison.date\_range.timezone?

> `optional` **timezone?**: `string`

###### Description

IANA timezone name; defaults to UTC. Affects bucket alignment only.

###### data.comparison.sparkline?

> `optional` **sparkline?**: `object`

###### data.comparison.sparkline.buckets

> **buckets**: `string`\[]

###### data.comparison.sparkline.interval

> **interval**: `string`

###### data.comparison.sparkline.values

> **values**: (`number` | `null`)\[]

###### data.comparison.value

> **value**: `number` | `null`

###### data.sparkline?

> `optional` **sparkline?**: `object`

###### data.sparkline.buckets

> **buckets**: `string`\[]

###### data.sparkline.interval

> **interval**: `string`

###### data.sparkline.values

> **values**: (`number` | `null`)\[]

###### data.value

> **value**: `number` | `null`

##### kind

> **kind**: `"scalar"`

###### Description

discriminator enum property added by openapi-typescript

##### measures

> **measures**: `object`\[]

##### meta

> **meta**: `object`

###### meta.matched\_event\_count

> **matched\_event\_count**: `number`

###### Description

Rows in scope after filters and dedup; powers empty-state vs error-state UI

###### meta.warnings

> **warnings**: `object`\[]

***

##### Type Literal

\{ `data`: \{ `bins`: `object`\[]; `markers`: \{\[`key`: `string`]: `number` | `null`; }; }; `format`: `"number"` | `"duration_ms"` | `"currency_usd"` | `"percent"`; `kind`: `"histogram"`; `meta`: \{ `matched_event_count`: `number`; `warnings`: `object`\[]; }; `unit`: `"ms"` | `"usd"` | `"tokens"` | `"events"` | `"sessions"` | `"%"` | `"number"`; }

##### data

> **data**: `object`

###### data.bins

> **bins**: `object`\[]

###### data.markers

> **markers**: `object`

###### Index Signature

\[`key`: `string`]: `number` | `null`

##### format

> **format**: `"number"` | `"duration_ms"` | `"currency_usd"` | `"percent"`

##### kind

> **kind**: `"histogram"`

###### Description

discriminator enum property added by openapi-typescript

##### meta

> **meta**: `object`

###### meta.matched\_event\_count

> **matched\_event\_count**: `number`

###### Description

Rows in scope after filters and dedup; powers empty-state vs error-state UI

###### meta.warnings

> **warnings**: `object`\[]

##### unit

> **unit**: `"ms"` | `"usd"` | `"tokens"` | `"events"` | `"sessions"` | `"%"` | `"number"`

***

##### Type Literal

\{ `data`: \{ `rows`: `object`\[]; }; `kind`: `"table"`; `measures`: `object`\[]; `meta`: \{ `matched_event_count`: `number`; `ranking`: \{ `limit`: `number`; `total_categories`: `number`; }; `warnings`: `object`\[]; }; }

##### data

> **data**: `object`

###### data.rows

> **rows**: `object`\[]

##### kind

> **kind**: `"table"`

###### Description

discriminator enum property added by openapi-typescript

##### measures

> **measures**: `object`\[]

##### meta

> **meta**: `object`

###### meta.matched\_event\_count

> **matched\_event\_count**: `number`

###### Description

Rows in scope after filters and dedup; powers empty-state vs error-state UI

###### meta.ranking

> **ranking**: `object`

###### meta.ranking.limit

> **limit**: `number`

###### meta.ranking.total\_categories

> **total\_categories**: `number`

###### meta.warnings

> **warnings**: `object`\[]

***

##### Type Literal

\{ `data`: \{ `points`: `object`\[]; }; `kind`: `"scatter"`; `measures`: `object`\[]; `meta`: \{ `matched_event_count`: `number`; `truncated`: `boolean`; `warnings`: `object`\[]; }; }

##### data

> **data**: `object`

###### data.points

> **points**: `object`\[]

##### kind

> **kind**: `"scatter"`

###### Description

discriminator enum property added by openapi-typescript

##### measures

> **measures**: `object`\[]

##### meta

> **meta**: `object`

###### meta.matched\_event\_count

> **matched\_event\_count**: `number`

###### Description

Rows in scope after filters and dedup; powers empty-state vs error-state UI

###### meta.truncated

> **truncated**: `boolean`

###### Description

True when the group count exceeded the limit

###### meta.warnings

> **warnings**: `object`\[]

***

### success

> **success**: `boolean`


## Related topics

- [Charts Methods](https://docs.honeyhive.ai/v2/sdk-reference/typescript/ref/charts/index.md)
- [Clients](https://docs.honeyhive.ai/v2/changelog/clients.md)
- [Run a chart query](https://docs.honeyhive.ai/v2/api-reference-autogen/charts/run-a-chart-query.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.