<!-- Generated from the canonical Teloring documentation source. Do not edit this file. -->

Canonical page: https://docs.teloring.com/api/query-object-records
Last modified: 2026-10-15T07:55:15.000Z

# Query records

import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
import ParamsDetails from "@theme/ParamsDetails";
import RequestSchema from "@theme/RequestSchema";
import StatusCodes from "@theme/StatusCodes";
import OperationTabs from "@theme/OperationTabs";
import TabItem from "@theme/TabItem";
import Heading from "@theme/Heading";
import Translate from "@docusaurus/Translate";

<Heading
  as={"h1"}
  className={"openapi__heading"}
  children={"Query records"}
>
</Heading>

<MethodEndpoint
  method={"post"}
  path={"/objects/{object_id}/records/query"}
  context={"endpoint"}
>
  
</MethodEndpoint>



Records matching a filter tree, sorted and searched exactly like a console view —
the same operators the Filter panel offers, by field `api_id`.

A filter tree is `{operator: AND|OR, conditions: [...]}`; a condition is either
`{field_id, op, value, value2}` or a nested group (two levels, up to 25 conditions).
`op` depends on the field's type — text: `contains`, `eq`, `starts_with`, `is_empty`…;
number: `eq`, `gt`, `lt`, `between`…; date: `on`, `before`, `after`, `in_last`
(value + value2 ∈ days|weeks|months), `this_month`…; choice: `eq`, `in`, `is_empty`;
checkbox: `is_true`, `is_false`; linked record: `eq`, `in`, `is_empty`.
Use the object's definition to see each field's type. Cursor-paged like
**List records**.

<Heading
  id={"request"}
  as={"h2"}
  className={"openapi-tabs__heading"}
>
  <Translate id="theme.openapi.request.title">Request</Translate>
</Heading>

<ParamsDetails
  {...require("./query-object-records.ParamsDetails.json")}
>
  
</ParamsDetails>

<RequestSchema
  {...require("./query-object-records.RequestSchema.json")}
>
  
</RequestSchema>

<StatusCodes
  {...require("./query-object-records.StatusCodes.json")}
>
  
</StatusCodes>
