---
title: "List records"
method: POST
path: "/v2/objects/{object}/records/query"
tags: ["Records"]
---

# List records

`POST /v2/objects/{object}/records/query`

Lists people, company or other records, with the option to filter and sort results.

Required scopes: `record_permission:read`, `object_configuration:read`.

## Path parameters

- `object` string, required — A UUID or slug to identify the object to list records for.

## Request body

- object
  - `filter` object — An object used to filter results to a subset of results. See the [full guide to filtering and sorting here](/docs/filtering-and-sorting).
  - `sorts` union[] — An object used to sort results. See the [full guide to filtering and sorting here](/docs/filtering-and-sorting).
    - union
      - object — Sort by attribute
        - `direction` 'asc' | 'desc', required — The direction to sort the results by.
        - `attribute` string, required — A slug or ID to identify the attribute to sort by.
        - `field` string — Which field on the value to sort by e.g. "last_name" on a name value.
      - object — Sort by path
        - `direction` 'asc' | 'desc', required — The direction to sort the results by.
        - `path` array[], required — You may use the `path` property to traverse record reference attributes and parent records on list entries. `path` accepts an array of tuples where the first element of each tuple is the slug or ID of a list/object, and the second element is the slug or ID of an attribute on that list/object. The first element of the first tuple must correspond to the list or object that you are querying. For example, if you wanted to sort by the name of the parent record (a company) on a list with the slug "sales", you would pass the value `[['sales', 'parent_record'], ['companies', 'name']]`.
          - union[]
            - union
              - …
        - `field` string — Which field on the value to sort by e.g. "last_name" on a name value.
  - `limit` number — The maximum number of results to return. Defaults to 500. See the [full guide to pagination here](/docs/pagination).
  - `offset` number — The number of results to skip over before returning. Defaults to 0. See the [full guide to pagination here](/docs/pagination).

## Response `200`

Success

- object — Success
  - `data` object[], required
    - `id` object, required
      - `workspace_id` string, uuid, required — A UUID identifying the workspace this record belongs to.
      - `object_id` string, uuid, required — A UUID identifying the object this record belongs to.
      - `record_id` string, uuid, required — A UUID identifying this record.
    - `created_at` string, required — When this record was created.
    - `values` object, required — A record type with an attribute `api_slug` as the key, and an array of value objects as the values.

## Other responses

- `400` — Bad Request
- `404` — Not Found

## Changes

- **2025-04-24** `4ce2c28668d4` — 1 info
  - the endpoint scheme security `oauth2` was removed from the API

[Change history](https://skmtc.dev/d-stoll/apis/attio-api/changes/v2/objects/:object/records/query/post.md)

---

[API](https://skmtc.dev/d-stoll/apis/attio-api.md) · [All operations](https://skmtc.dev/d-stoll/apis/attio-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/d-stoll/attio-api/revisions/ebcf9b5c6aa3/schema)
