# history.list

List everything anyone changed in the company, newest first: people in Oatmilk, Ask AI, AI apps over MCP, the API, contractors and signers in their portals, and Oatmilk's own automation (Autopilot, syncs, readers). Each item is one step (all records one person changed at once), with who, how (source), what, the record, and whether it was rolled back. Filter by from/to dates, query (text), actorIds, sources (web, assistant, mcp, api, automation, portal, signer), areas (banking, transactions, budgets, inbox, invoices, reimbursements, agreements, contractors, recruiting, tax, compliance, subscriptions, access, settings), actions (exact action names), statuses (succeeded, failed, rolledBack, active, revertible) and targetId (one record's changes). Sort by at, actor, action, area, size or source, asc or desc. Pages with cursor; total counts every match.

`GET | POST /api/v1/accounting/history.list`

Permissions: `accounting:read` · Roles: admin, finance

MCP tool: `accounting_history_list`

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `from` | string |  | The first date to include, as YYYY-MM-DD. at most 40 characters. |
| `to` | string |  | The last date to include, as YYYY-MM-DD. at most 40 characters. |
| `query` | string |  | Text to search for. at most 200 characters. |
| `actorIds` | array of strings |  | A list of record IDs. at most 50 items; each 1–200 characters. |
| `sources` | array of enum values |  | One of: `web`, `assistant`, `mcp`, `api`, `automation`, `portal`, `signer`. at most 7 items. |
| `areas` | array of enum values |  | One of: `banking`, `transactions`, `budgets`, `inbox`, `invoices`, `reimbursements`, `agreements`, `contractors`, `recruiting`, `tax`, `compliance`, `subscriptions`, `access`, `settings`. at most 14 items. |
| `actions` | array of strings |  | at most 100 items; each Matches ^[A-Za-z][A-Za-z0-9_.]{0,119}$. |
| `statuses` | array of enum values |  | One of: `succeeded`, `failed`, `rolledBack`, `active`, `revertible`. at most 5 items. |
| `targetId` | string |  | 1–200 characters. |
| `sort` | enum |  | One of: `at`, `actor`, `action`, `area`, `size`, `source`. Default `"at"`. |
| `direction` | enum |  | One of: `asc`, `desc`. Default `"desc"`. |
| `cursor` | string |  | Where the next page starts: the nextCursor value from the previous response. 1–2000 characters. |
| `limit` | integer |  | How many results to return at most. 1 to 200. Default `50`. |

## Example request

```bash
curl https://app.getoatmilk.com/api/v1/accounting/history.list \
  -H "Authorization: Bearer $OATMILK_API_KEY"
```

Reference page: https://app.getoatmilk.com/docs/api/history.list
