# ProcessListRequest

The query string of `GET /processes`. Every filter is optional and they combine with AND.

**Kind:** an object, used in requests.

## Fields

| Field | Type | Required | Description |
|---|---|---|---|
| `ids` | `string \| null` |  | CSV of process ids (at most 50): only these runs, whatever their type. Combines with every other filter. Unknown ids, and ids of another tenant's runs, are simply absent from the page. |
| `types` | `string \| null` |  | CSV of `App\|Interaction\|Capsule\|CodePipeline` (case-insensitive). Empty means all four. |
| `state` | `string \| null` |  | `active\|waiting\|terminal` (case-insensitive). |
| `statuses` | `string \| null` |  | CSV of raw, type-specific status names (case-insensitive), e.g. `Running,PendingApproval`. |
| `definitionId` | `uuid \| null` |  | Only runs of this interaction, app, capsule or code pipeline (its id). |
| `namespaceId` | `uuid \| null` |  | Runs of any definition in this namespace. |
| `namespace` | `string[] \| null` |  | Namespace names — repeatable (`namespace=a&namespace=b`), and each value may also be a CSV: runs of any definition in any of them, including deleted definitions. Names are exact (case-sensitive) and resolved in your tenant only; a name that matches no namespace there matches nothing — if no name matches, the page is empty. At most 50 distinct names. Combines with `namespaceId` (AND). |
| `rootProcessId` | `uuid \| null` |  | Only the runs in this run's tree: the runs whose `rootProcessId` is this. |
| `parentProcessId` | `uuid \| null` |  | Only the runs this run started directly: the runs whose `parentProcessId` is this. |
| `resumeFromProcessId` | `uuid \| null` |  | Only the runs restarted from this one (their `resumeFromProcessId`). Only code pipeline runs are ever restarted as a new run, so with this filter no app, interaction or capsule run matches. |
| `retained` | `boolean \| null` |  | `true`: only runs a retention lease keeps (their own lease or one inherited from a retained ancestor); `false`: only runs without one. Absent: both. |
| `createdAfter` | `datetime \| null` |  | Inclusive lower bound on creation time. |
| `createdBefore` | `datetime \| null` |  | Exclusive upper bound on creation time. |
| `cursor` | `string \| null` |  | The `nextCursor` of the previous page. |
| `limit` | `integer \| null` |  | 1–200, default 50. |

## Example

```json
{
  "ids": "...",
  "types": "...",
  "state": "...",
  "statuses": "...",
  "definitionId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
  "namespaceId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
  "namespace": [
    "..."
  ],
  "rootProcessId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
  "parentProcessId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
  "resumeFromProcessId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
  "retained": false,
  "createdAfter": "2026-10-26T12:00:00.0000000Z",
  "createdBefore": "2026-10-26T12:00:00.0000000Z",
  "cursor": "...",
  "limit": 0
}
```
