---
title: "List Custom Fields"
method: GET
path: "/locations/{location_id}/custom_fields"
tags: ["Custom Fields"]
---

# List Custom Fields

`GET /locations/{location_id}/custom_fields`

Retrieve Custom Fields configured for Appointments and Booking Users in a
Location. Access depends on the Business User's Custom Field permissions.

The literal `record` and `client` filter values mean Appointment and
Booking User respectively. `filter[entity_slug]` is a compatibility alias
for `filter[parent_entity_type]`.

## Path parameters

- `location_id` integer, required

## Query parameters

- `filter[parent_entity_type]` 'record' | 'client'
- `filter[entity_slug]` 'record' | 'client'
- `include` string[]

## Headers

- `Accept` string, required
- `Authorization` string, required

## Response `200`

Custom Fields retrieved successfully

- object
  - `data` CustomFieldResource[], required
    - `type` 'custom_field', required — Literal JSON:API resource type
    - `id` string, required — Location Custom Field ID
    - `attributes` object, required
      - `code` string, required — Deprecated Custom Field key; use `slug`
      - `slug` string, required — Custom Field key used in API payloads
      - `parent_entity_type` 'record' | 'client', required — Deprecated entity wire value; use `entity_slug`
      - `entity_slug` 'record' | 'client', required — Entity wire value. `record` means Appointment and `client` means Booking User.
      - `relation_entity_type` unknown, required
      - `show_in_ui` boolean, required — Deprecated visibility flag; use `is_visible`
      - `is_visible` boolean, required — Whether the Custom Field is visible in Altegio interfaces
      - `title` string, required — Custom Field name
      - `user_can_edit` boolean, required — Deprecated editability flag; use `is_editable`
      - `is_editable` boolean, required — Whether Business Users can edit the Custom Field value
      - `is_required` boolean, required — Whether a value is required
      - `weight` integer, required — Display order
      - `values` unknown[], required — Configured values for list-like Custom Fields
        - unknown
    - `relationships` object — Present when related data is requested through `include`
      - `custom_field_type` ToOneRelationship
        - `data` ResourceIdentifier, required
          - `type` string, required
          - `id` string, required
      - `type` ToOneRelationship
        - `data` ResourceIdentifier, required
          - `type` string, required
          - `id` string, required
      - `ui_options` ToManyRelationship
        - `data` ResourceIdentifier[], required
          - `type` string, required
          - `id` string, required
  - `included` union[] — Resources requested through `include`, when available
    - union
      - CustomFieldTypeResource
        - `type` 'custom_field_type', required
        - `id` string, required — Custom Field Type ID
        - `attributes` object, required
          - `code` string, required — Deprecated type key; use `slug`
          - `slug` string, required — Custom Field Type key
          - `title` string, required — Custom Field Type name
      - CustomFieldUiOptionResource
        - `type` 'custom_field_ui_option', required
        - `id` string, required — Custom Field UI Option ID
        - `attributes` object, required
          - `slug` string, required — UI Option key
          - `value` boolean, required — Whether the UI Option is enabled

## Other responses

- `401` — Unauthorized
- `403` — Forbidden - No Custom Field access for this Location
- `404` — Location not found
- `422` — Invalid filter or include value

---

[API](https://skmtc.net/alteg/apis/business-management.md) · [All operations](https://skmtc.net/alteg/apis/business-management/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/alteg/business-management/revisions/bc9cbcc9c5f1/schema)
