# runs.list

List AI and automation runs with their current step, status, and summary. Filter by kind (or a comma-separated kinds list), subject, or status. Contributors see only runs for their own submissions.

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

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

MCP tool: `accounting_runs_list`

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `kind` | string |  | Which kind of record or job this is. Matches ^[a-z][a-z0-9_.]{1,60}$. |
| `kinds` | string |  | at most 1000 characters; Matches ^[a-z][a-z0-9_.]{1,60}(,[a-z][a-z0-9_.]{1,60}){0,19}$. |
| `subjectType` | string |  | The kind of record this is about, such as entry, invoice or mail. Matches ^[a-z][a-z0-9_]{1,40}$. |
| `subjectId` | string |  | The ID of the record this is about. 1–200 characters. |
| `subjectIds` | string |  | at most 4000 characters; Matches ^[A-Za-z0-9_:.,-]*$. |
| `status` | enum |  | Only include records with this status. One of: `queued`, `running`, `succeeded`, `failed`, `needs_review`, `cancelled`. |
| `activeOnly` | boolean |  |  |
| `limit` | integer |  | How many results to return at most. 1 to 100. Default `30`. |
| `offset` | integer |  | How many results to skip, for the next page of a list. 0 to 100000. Default `0`. |

## Example request

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

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