# List Matters

`lawmatics_list-matters` · Lawmatics MCP tool · Matters

List matters (legal cases) from Lawmatics with optional pagination, filtering, and sorting. Rows carry case title, status, contact fields, and a `relationships` envelope of to-one {id,type} pointers (practice area, contact, company, attorneys, stage, source, ...); use get-matter for full details including to-many relationships.

## Input

- **page** `integer` (> 0) — Page number (1-based)
- **filter** `object` — Optional single-field filter; one filter at a time
  - **field** `string` (required) — Field to filter on. Most standard fields from the matter record work (e.g. status, case_title, first_name, estimated_value_cents); associations take an _id suffix (e.g. stage_id, practice_area_id)
  - **operator** `string` (enum: "=", "!=", "<", "<=", ">", ">=", "like", "ilike", "null", "not_null") — Comparison operator. Omit to use the Lawmatics per-field default (= for ids/numbers/dates, ilike for strings). Use = for *_id fields. For like/ilike put % in the value where fuzzy matching should occur
  - **value** `string` (required) — Value to compare against (ignored for null / not_null operators)
- **sortBy** `string` — Column to sort by. id, created_at, and updated_at always work; most standard matter fields also work (e.g. actual_value_cents)
- **sortOrder** `string` (enum: "asc", "desc") — Sort direction; ascending or descending

## Output

- **matters** `array` (required) — Matters on this page of results. Rows carry case identity, status, contact fields, and to-one relationship pointers; use get-matter for the full record
  - **[]** `object`
    - **id** `string` (required) — Lawmatics matter ID
    - **caseTitle** `string | null` (required) — Title of the matter/case; null if unset
    - **status** `string` (required) — Matter pipeline status (e.g. pnc, hired, lost)
    - **subStatus** `string | null` (required) — Name of the matter's sub-status; null if unset
    - **firstName** `string | null` (required) — First name of the matter's primary contact; null if unset
    - **lastName** `string | null` (required) — Last name of the matter's primary contact; null if unset
    - **email** `string | null` (required) — Primary email address of the matter's contact; null if unset
    - **phone** `string | null` (required) — Primary phone number of the matter's contact; null if unset
    - **createdAt** `string` (required) — When the matter was created, as an ISO 8601 timestamp
    - **updatedAt** `string` (required) — When the matter 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-matter for the full envelope incl. to-many (tasks, notes, files, ...).
      - **source** `object | null` (required) — Lead source pointer; null when unset
        - **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
      - **stage** `object | null` (required) — Pipeline stage pointer; null when unset
        - **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
      - **campaign** `object | null` (required) — Marketing campaign pointer; null when unset
        - **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
      - **practiceArea** `object | null` (required) — Practice area pointer; null when unset
        - **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
      - **salesperson** `object | null` (required) — Salesperson (user) pointer; null when unset
        - **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
      - **leadAttorney** `object | null` (required) — Lead attorney (user) pointer; null when unset
        - **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
      - **originatingAttorney** `object | null` (required) — Originating attorney (user) pointer; null when unset
        - **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
      - **ownedBy** `object | null` (required) — Owning user pointer; null when unset
        - **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
      - **createdBy** `object | null` (required) — Creating user pointer; null when unset
        - **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
      - **contact** `object | null` (required) — Primary contact pointer; null when unset
        - **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
      - **company** `object | null` (required) — Linked company pointer; null when unset
        - **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` (required) — Pagination metadata derived from the API `meta` envelope
  - **totalPages** `number` (required) — Total number of pages available
  - **limitPerPage** `number` (required) — Maximum matters returned per page
  - **totalEntries** `number` (required) — Total number of matters across all pages
