---
title: "List custom_fields"
method: GET
path: "/v1/custom_fields"
tags: ["Custom Fields"]
---

# List custom_fields

`GET /v1/custom_fields`

List all custom fields. book_id is accepted for backwards compatibility but ignored.

## Query parameters

- `page` integer
- `per_page` integer
- `book_id` string
- `entity_type` 'Household' | 'Person' | 'Contact' | 'Opportunity'

## Response `200`

successful

- object
  - `data` CustomField[], required
    - `id` string, required — The custom field ID
    - `field_key` string, required — The unique field key
    - `display_name` string, required — The human-readable field name
    - `entity_type` 'Household' | 'Person' | 'Contact' | 'Opportunity', required — The entity type this field applies to
    - `field_type` 'text' | 'number' | 'date' | 'boolean' | 'single_select' | 'multi_select' | 'cross_reference', required — The field data type
    - `options` object, nullable — Field-specific options (e.g., select_options for select fields, cross_reference_allowed_target_types for cross_reference)
      - `select_options` string[]
      - `cross_reference_allowed_target_types` string[]
  - `pagination` object, required
    - `current_page` integer
    - `total_pages` integer
    - `total_count` integer
    - `per_page` integer

## Other responses

- `400` — bad request - invalid JSON
- `401` — unauthorized - missing or invalid token
- `403` — forbidden

---

[API](https://skmtc.net/slant/apis/slant-public-api-v1.md) · [All operations](https://skmtc.net/slant/apis/slant-public-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/slant/slant-public-api-v1/revisions/b56e0d137554/schema)
