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

# List measurement runs — HTTP

> Find measurement runs for a project, newest first.

Find measurement runs for a project, newest first.

**Method:** `GET`

**Path:** `/projects/{project_id}/runs`

Use the HTTP base for your authorized environment and an `Authorization: Bearer` header. See [authentication](/developers/guides/04-authentication) and [HTTP setup](/developers/guides/06-http-quickstart).

## Parameters

This table covers the standard read profile. It excludes internal application routes and advanced analysis controls.

| Name | Location | Type | Required | Default | Meaning |
| - | - | - | - | - | - |
| `project_id` | path | string | Yes | — | Project ID from list\_projects. Select the project in the intended workspace and environment. |

## Request example

Set `IQRUSH_API_BASE` and `IQRUSH_ACCESS_TOKEN` through secure configuration. Replace project/run IDs and sample selections with values returned by your account. JSON objects and arrays are encoded as query strings.

```bash theme={null}
curl --fail-with-body --silent --show-error --get \
  --header "Authorization: Bearer ${IQRUSH_ACCESS_TOKEN}" \
  --header "Accept: application/json" \
  "${IQRUSH_API_BASE%/}/projects/${IQRUSH_PROJECT_ID}/runs"
```

## Read the response

Top-level `runs` contains `run_id`, execution timestamps, `status`, `data_ready`, and `cold_path_ready` when known. `count` counts the returned runs.

Execution completion, summary readiness, grouped-data readiness, and convergence are different checks.

### Fields to use

These selected fields explain the example and the result to preserve. Field presence depends on the response; this is not a complete response schema.

| Field | Meaning and use |
| - | - |
| `runs[].run_id` | ID to retain for all reads of the chosen measurement. |
| `runs[].status` | Execution state. Select a COMPLETED run for a finished measurement. |
| `runs[].completed_at` | Completion timestamp; use this as the measurement date rather than the response-generation time. |
| `runs[].data_ready` | Whether the run’s summary data is ready. |
| `runs[].cold_path_ready` | Whether the data used for grouped and filtered reads is ready. False can explain a temporary empty result. |
| `count` | Number of returned runs in the full response; the example list is shortened. |

Selected response fields from IQRush Dev. Lists are shortened and project/run IDs are placeholders; this is not the full response.

```json theme={null}
{
  "project_id": "PROJECT_ID",
  "runs": [
    {
      "run_id": "RUN_ID",
      "status": "COMPLETED",
      "completed_at": "2026-09-24T18:23:55.508870+00:00",
      "data_ready": true,
      "cold_path_ready": true
    }
  ],
  "count": 2
}
```

Read the actual returned scope, counts, and interval levels before interpreting these fields.

MCP equivalent: [`list_runs`](/developers/tools/list_runs). Use the parameters and defaults on this page for HTTP.

## If the result is unavailable

Check HTTP status and the response’s `error` field before using data. A successful empty response does not establish a zero value. Preserve `not_available`, `not_available_reason`, `unavailable_reason`, and `linked` where returned. [Errors and recovery](/developers/guides/13-errors) shows observed examples.


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