---
title: "List custom objects"
method: GET
path: "/objects"
tags: ["Objects"]
---

# List custom objects

`GET /objects`

## Request

- Base URL: `https://api.commonroom.io/api/v2`
- URL: `https://api.commonroom.io/api/v2/objects`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/commonroom/apis/common-room-api-v2/docs/objects/get.ts> (a function with typed inputs; its response is checked against the schema)

Retrieve a paginated list of custom objects.

## Query parameters

- `limit` integer
- `cursor` string
- `sort` 'id' | 'name'
- `direction` 'asc' | 'desc'
- `objectTypeId` string, required
- `segmentId` string
- `cols` string

## Response `200`

OK

- CustomObjectList
  - `success` true, required
  - `data` ApiCustomObject[], required
    - `id` string, required: Prefixed custom object ID (format `co_<number>`)
    - `name` string, required: The object's display name
    - `url` string, uri: Common Room URL for this custom object
    - `recordKey` string: External record key for this object
    - `tags` string[]: Prefixed label IDs (format `l_<number>`)
    - `customFields` object: Map of custom-field ID (format `cf_<number>`) to its typed value.
  - `meta` object, required
    - `nextCursor` string, nullable: Cursor for pagination; pass as the `cursor` query parameter to fetch the next page.
    - `recordCount` integer: Total number of records matching the query. Only returned when `cols=recordCount` is requested.

## Other responses

- `400`: Bad Request — also returned for malformed filters, e.g. "Invalid lightFilter: must be valid JSON", "Invalid lightFilter: does not match LightFilterExpression schema", or an unknown filter field.
- `403`: Forbidden
- `429`: Rate Limited

---

[API](https://skmtc.dev/commonroom/apis/common-room-api-v2.md) - [All operations](https://skmtc.dev/commonroom/apis/common-room-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/commonroom/apis/common-room-api-v2/revisions/865d4d43dadf?raw)
