---
title: "POST /v1/targets/query"
method: POST
path: "/v1/targets/query"
tags: ["targets"]
---

# POST /v1/targets/query

`POST /v1/targets/query`

## Request

- Base URL: `https://help.steep.app` (the document declares no server; this is the origin it was published from)
- URL: `https://help.steep.app/v1/targets/query`
- Auth: none declared

Query time-series target data for a metric and target series.

## Request body

- object
  - `metricIdentifier` string, required: The `metric.identifier` to query targets for. Must match the `metricIdentifier` value returned when listing targets.
  - `targetSeries` string, required: The target series to query. Must match the `targetSeries` value returned when listing targets.
  - `breakdownDimensionIdentifiers` string[]: Dimension `identifier`s to break down by. Use keys from a `dimensionValues` object returned when listing targets (`{ dimensionIdentifier: dimensionValue }`). Every combination of values becomes a separate data point carrying each value under its identifier; a `dimensionFilters` entry for a dimension narrows it to the listed values.
  - `breakdownDimensionIdentifier` string: Deprecated, use `breakdownDimensionIdentifiers` with one entry. One dimension `identifier` to break down by; each data point also repeats the value under the deprecated `breakdown`.
  - `dimensionFilters` object: Dimension filters to apply. Keys are dimension `identifier`s; values are allowed values. Derive both from `dimensionValues` returned when listing targets — e.g. `{ "country": "US" }` → `{ "country": ["US"] }`.
  - `limit` integer: Maximum number of rows to return. When the row limit is reached, response `hasMore` is `true`. For a more complete result, increase `limit` or apply stricter filters.

## Response `200`

Response for status 200

- object
  - `data` object[], required
    - `time` string, date-time, required: The time of the data point.
    - `value` unknown, required
    - `breakdown` unknown
  - `timeGrain` 'daily' | 'weekly' | 'monthly' | 'quarterly' | 'yearly', required
  - `cacheTtlInSeconds` unknown, required
  - `limit` number, required: The effective row limit applied to this query.
  - `hasMore` boolean, required: Indicates there is more data beyond the row limit.

## Other responses

- `401`: Response for status 401
- `403`: Response for status 403
- `422`: Response for status 422
- `429`: Response for status 429
- `500`: Response for status 500

---

[API](https://skmtc.dev/steep/apis/steep-api.md) - [All operations](https://skmtc.dev/steep/apis/steep-api/llms.txt) - [OpenAPI document](https://skmtc.dev/steep/apis/steep-api/revisions/cc9677742952?raw)
