---
title: "List objects or fetch by ID"
method: GET
path: "/api/objects/{objectType}"
tags: ["Objects"]
---

# List objects or fetch by ID

`GET /api/objects/{objectType}`

## Request

- Base URL: `https://app.useitem.io`
- URL: `https://app.useitem.io/api/objects/{objectType}`
- Auth: API key in header `x-api-key`

**List mode** (no `id` or `email` param): Returns a paginated list of objects with optional search, filtering, and sorting.

**Single-object mode** (with `id` or `email`): Returns a single object by ID or email lookup.

## Query parameters

- `id` integer
- `email` string
- `limit` integer
- `offset` integer
- `search` string
- `sort_by` string
- `sort_order` 'asc' | 'desc'
- `filter[{field_name}]` string
- `include_all_fields` boolean
- `include_summary` boolean

## Response `200`

Success

- union
  - object
    - `data` ObjectRecord[]
      - `id` integer: Unique record ID
      - `name` string
      - `email` string
      - `created_at` string, date-time
      - `updated_at` string, date-time
    - `pagination` Pagination
      - `total` integer: Total number of records matching the query
      - `limit` integer: Maximum records returned per page
      - `offset` integer: Number of records skipped
      - `has_more` boolean: Whether more records exist beyond this page
  - object
    - `data` ObjectRecord: A flat object containing all fields. System fields (name, email, phone, etc.) and custom fields are merged into a single level — the `custom_fields` JSON column is flattened so every field is a top-level key.
      - `id` integer: Unique record ID
      - `name` string
      - `email` string
      - `created_at` string, date-time
      - `updated_at` string, date-time

## Other responses

- `400`: Bad request
- `401`: Invalid or missing API key
- `404`: Object type or record not found

---

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