# List Notes

`lawmatics_list-notes` · Lawmatics MCP tool · Notes

List notes from Lawmatics with optional pagination, filtering, and sorting. Prefer a filter when possible — the unfiltered firm-wide list is slow and may time out. Filter by notable_id (the matter/contact/company the note is attached to), notable_type, name, or created_at.

## Input

- **page** `integer` (> 0) — Page number (1-based)
- **filter** `object` — Optional single-field filter; one filter at a time
  - **field** `string` (required, enum: "notable_id", "notable_type", "name", "created_at") — Field to filter on: notable_id (numeric id of the matter/contact/company the note is attached to), notable_type (Prospect / Contact / Company — case-sensitive), name (note title), or created_at (date)
  - **operator** `string` (enum: "=", "!=", "<", "<=", ">", ">=", "like", "ilike", "null", "not_null") — Comparison operator. Omit to use the Lawmatics per-field default (= for ids/dates, ilike for strings). Use = for notable_id/notable_type and a range operator (e.g. >) for created_at
  - **value** `string` (required) — Value to compare against (ignored for null / not_null operators)
- **sortBy** `string` (enum: "id", "created_at", "updated_at") — Column to sort by
- **sortOrder** `string` (enum: "asc", "desc") — Sort direction; ascending or descending

## Output

- **notes** `array` (required) — Notes on this page of results
  - **[]** `object`
    - **id** `string` (required) — Unique ID of the note
    - **title** `string | null` (required) — Title/subject of the note; null if unset
    - **body** `string | null` (required) — Body content of the note; null if unset
    - **createdAt** `string | null` (required) — When the note was created, as an ISO 8601 timestamp; null if unknown
    - **updatedAt** `string | null` (required) — When the note was last updated, as an ISO 8601 timestamp; null if unknown
    - **relationships** `object` (required) — JSON:API relationship pointers as {id,type} stubs. Not materialized — follow a pointer by calling that resource's own get tool (e.g. type 'prospect' -> get-matter). List rows carry the to-one `notable` pointer only; get-note also returns the authoring `createdBy` user pointer.
      - **notable** `object | null` (required) — Pointer to the record this note is attached to (e.g. type 'prospect', 'contact', 'company'); 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 notes returned per page; null if not reported
  - **totalEntries** `number | null` (required) — Total number of notes across all pages; null if not reported
