# List Custom Fields

`lawmatics_list-custom-fields` · Lawmatics MCP tool · Custom Fields

List custom field definitions from Lawmatics with optional pagination.

## Input

- **page** `integer` (> 0) — Page number (1-based)

## Output

- **customFields** `array` (required) — Custom fields on this page of results
  - **[]** `object`
    - **id** `string` (required) — Lawmatics custom field ID
    - **name** `string` (required) — Custom field name / label
    - **type** `string` (required, enum: "Prospect", "Contact", "Company", "Client", "PracticeArea") — Entity this custom field is attached to. A field created with owner 'Matter' is reported here as 'Prospect'
    - **fieldType** `string` (required, enum: "integer", "boolean", "string", "text", "currency", "date", "time", "datetime", "list", "lookup", "multi_picklist") — Data type of the custom field's value
    - **visibility** `string` (enum: "starred", "hidden", "default") — Field visibility in the Lawmatics UI; absent if the API does not report it
    - **practiceArea** `string` — Practice area name this field is scoped to; present only when type is PracticeArea
    - **listOptions** `array` — Selectable options; present only for list and multi_picklist fields
      - **[]** `object`
        - **id** `string | number` (required) — Lawmatics list-option ID; the live API returns this as a string
        - **name** `string` (required) — Display label of the list option
    - **lookupType** `string` (enum: "User", "Contact", "Company", "Prospect") — Entity a lookup field references; present only when fieldType is lookup
    - **createdAt** `string` (required) — When the custom field was created, as an ISO 8601 timestamp
    - **updatedAt** `string` (required) — When the custom field was last updated, as an ISO 8601 timestamp
- **pagination** `object | null` (required) — Pagination metadata from the API response; null when the endpoint returns no meta envelope
  - **totalPages** `number | null` (required) — Total number of pages available; null if not reported
  - **limitPerPage** `number | null` (required) — Maximum custom fields returned per page; null if not reported
  - **totalEntries** `number | null` (required) — Total number of custom fields across all pages; null if not reported
