> ## Documentation Index
> Fetch the complete documentation index at: https://help.gowindmill.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Search Deep Research runs

> List the Deep Research runs you started through the API, newest first, with paging.

Lists the runs started with this API key's member, newest first. Use it to find a run whose id you didn't keep, or to show a history of runs in your own tool. Runs started from the Windmill Dashboard don't appear here.

```
POST /api/v2/c/{companySlug}/deep-research/search
```

Each item is a summary. For agents, the failure reason, and the report, read the run with [Get a run](/api-reference/deep-research/get-run).

## Authorization

This endpoint works with any valid [API key](/api-reference/overview#authentication). The list only ever contains runs started by the member who created the key.

## Path parameters

**companySlug** `string` *required*

Your company's slug. Find it in your Dashboard URL, right after `/s/`:

`https://app.gowindmill.com/s/{companySlug}/home`

## Body parameters

Send an empty body `{}` to list every run you started, 20 per page.

**filter** `object`

Narrow the list. Omit it to list every run.

**filter properties**

**filter.createdBetween** `object`

Only runs started inside this window. Pass either explicit bounds or a relative range:

* `{ "from": "2026-09-01T00:00:00Z", "to": "2026-09-30T23:59:59Z" }`, ISO 8601 timestamps, either bound optional.
* `{ "range": "last 30 days" }`. Also accepts forms like `"last 3 months"`, `"this quarter"`, `"2 weeks ago"`, and `"year to date"`.

**page** `number` (default: 1)

1-indexed page number.

**pageSize** `number` (default: 20)

Runs per page, 1 to 100.

## Response

**runs** `object[]` *required*

The page of runs, newest first.

**run properties**

**runId** `string` *required*

The run's id.

**prompt** `string` *required*

The prompt the run was started with.

**status** `string` *required*

`RUNNING`, `COMPLETED`, or `FAILED`.

**createdAt** `string` *required*

ISO 8601 time the run was started.

**completedAt** `string | null` *required*

ISO 8601 time the run reached `COMPLETED` or `FAILED`; `null` while running.

**pagination** `object` *required*

**pagination properties**

**page** `number` *required*

The page you asked for.

**pageSize** `number` *required*

The page size you asked for.

**total** `number` *required*

Total runs that match the filter.

**totalPages** `number` *required*

Total pages at this page size.

## Errors

| Status | When |
| - | - |
| `400 Validation error` | `page` is below 1, `pageSize` is outside 1 to 100, or `createdBetween` isn't a valid window. |
| `401 Unauthorized` | The API key is missing, malformed, expired, or revoked. |
| `404 Not Found` | The company slug is wrong. |

```bash List every run theme={null}
curl -X POST \
  'https://api.gowindmill.com/api/v2/c/acme/deep-research/search' \
  -H 'Authorization: Bearer wm_api_xxxxxxxxxxxxxxxxxxxx' \
  -H 'Content-Type: application/json' \
  -d '{}'
```

```bash Runs from the last 30 days, 10 per page theme={null}
curl -X POST \
  'https://api.gowindmill.com/api/v2/c/acme/deep-research/search' \
  -H 'Authorization: Bearer wm_api_xxxxxxxxxxxxxxxxxxxx' \
  -H 'Content-Type: application/json' \
  -d '{ "filter": { "createdBetween": { "range": "last 30 days" } }, "page": 1, "pageSize": 10 }'
```

```json 200 OK theme={null}
{
  "runs": [
    {
      "runId": "01a0d2f4-3b1e-7c8a-9f21-4e6b7a8c9d02",
      "prompt": "How did the platform team's delivery pace change over the summer, and what drove it?",
      "status": "COMPLETED",
      "createdAt": "2026-09-22T14:03:11.402Z",
      "completedAt": "2026-09-22T14:09:52.771Z"
    },
    {
      "runId": "01a0d1c9-8e4a-7d52-b3f7-2c9e1a5b6d70",
      "prompt": "What themes come up in engineering retros this quarter?",
      "status": "RUNNING",
      "createdAt": "2026-09-22T13:41:05.010Z",
      "completedAt": null
    }
  ],
  "pagination": { "page": 1, "pageSize": 20, "total": 2, "totalPages": 1 }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.