# List Custom Contact Types

`lawmatics_list-custom-contact-types` · Lawmatics MCP tool · Custom Contact Types

List custom contact types from Lawmatics with optional pagination, filtering, and sorting. Rows carry a `relationships` envelope with a to-one {id,type} pointer to the owning firm; use get-custom-contact-type for the full envelope including the to-many contacts.

## Input

- **page** `integer` (> 0) — Page number (1-based)
- **filter** `object` — Optional single-field filter; one filter at a time
  - **field** `string` (required, enum: "name") — Field to filter on; only 'name' is filterable
  - **operator** `string` (enum: "=", "!=", "<", "<=", ">", ">=", "like", "ilike", "null", "not_null", default: "ilike") — Comparison operator; defaults to case-insensitive 'ilike' for partial matches
  - **value** `string` (required) — Value to compare against (ignored for null / not_null operators)
- **sortBy** `string` (enum: "id", "created_at", "updated_at", "name") — Column to sort by
- **sortOrder** `string` (enum: "asc", "desc") — Sort direction; ascending or descending

## Output

- **customContactTypes** `array` (required) — Custom contact types on this page of results
  - **[]** `object`
    - **id** `string` (required) — Lawmatics custom contact type ID
    - **name** `string` (required) — Custom contact type name / label
    - **createdAt** `string` (required) — When the custom contact type was created, as an ISO 8601 timestamp
    - **updatedAt** `string` (required) — When the custom contact type was last updated, as an ISO 8601 timestamp
    - **relationships** `object` (required) — To-one JSON:API relationship pointers as {id,type} stubs. Not materialized — follow a pointer by calling that resource's own tool. List rows carry to-one pointers only; use get-custom-contact-type for the full envelope incl. to-many (contacts).
      - **firm** `object | null` (required) — Owning firm pointer; null when unreported
        - **id** `string` (required) — ID of the referenced Lawmatics record
        - **type** `string` (required) — JSON:API record class of the reference (e.g. "user", "contact", "prospect", "firm"); resolve it by calling that resource's own get/find tool — this pointer is not materialized
- **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 contact types returned per page; null if not reported
  - **totalEntries** `number | null` (required) — Total number of custom contact types across all pages; null if not reported
