---
title: "POST /v1/entities/{entityId}/query"
method: POST
path: "/v1/entities/{entityId}/query"
tags: ["entities"]
---

# POST /v1/entities/{entityId}/query

`POST /v1/entities/{entityId}/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/entities/{entityId}/query`
- Auth: none declared

Query rows of an entity. Returns one object per row, keyed by property `column`. Use get entity by `id` first to learn which columns exist, then filter and sort by them.

## Path parameters

- `entityId` string, required: `entity.id` — Unique resource ID (opaque).

## Request body

- object
  - `filters` object[]: Property filters to apply. Rows must match every filter.
    - `column` string, required: Property `column`, as published by get entity by `id`.
    - `operator` '=' | '!=' | '<' | '<=' | '>' | '>=': Comparison operator. Defaults to `=`. A `date` or `time` property takes only `>=`, `<=` or `=`, and compares whole days.
    - `values` unknown[], required: Values to compare against. A row matches any of them, or none of them for `!=`. A `date` or `time` property takes exactly one date string — express a range as two filters on the same column.
      - unknown
  - `sortBy` object: Property to sort by. Defaults to the entity's first sortable property.
    - `column` string, required: Property `column`, as published by get entity by `id`.
    - `direction` 'asc' | 'desc': Sort direction. Defaults to `asc`.
  - `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 narrow the result set with stricter `filters`.

## Response `200`

Response for status 200

- object
  - `cacheTtlInSeconds` unknown, required
  - `sql` string, required
  - `limit` number, required: The effective row limit applied to this query.
  - `hasMore` boolean, required: Indicates there is more data beyond the row limit.
  - `data` object[], required

## 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)
