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

# List deployment runs

> List execution runs for a specific deployment.

`GET /api/v1/cloud/deployments/{id}/runs`

Retrieves all execution runs for a specific deployment with cursor pagination. Results are sorted by triggered time in descending order (newest first).

## Path parameters

| Parameter | Type   | Description                          |
| --------- | ------ | ------------------------------------ |
| `id`      | string | Deployment ID with the `dep_` prefix |

## Headers

| Header          | Required | Description         |
| --------------- | -------- | ------------------- |
| `Authorization` | Yes      | `Bearer $QODER_PAT` |

## Query parameters

| Parameter          | Type    | Required | Description                                                                                                        |
| ------------------ | ------- | -------- | ------------------------------------------------------------------------------------------------------------------ |
| `limit`            | integer | No       | Maximum number of records to return. Default 20, range 1-100. Values above 100 return `400 invalid_request_error`. |
| `page`             | string  | No       | Cursor value returned by `next_page`. Do not combine with `before_id` or `after_id`.                               |
| `after_id`         | string  | No       | Cursor pagination: return records after this ID                                                                    |
| `before_id`        | string  | No       | Cursor pagination: return records before this ID                                                                   |
| `triggered_after`  | string  | No       | Filter runs triggered after this timestamp (ISO 8601)                                                              |
| `triggered_before` | string  | No       | Filter runs triggered before this timestamp (ISO 8601)                                                             |

## Example request

```bash theme={null}
curl -X GET "https://api.qoder.com/api/v1/cloud/deployments/dep_019ec55a2b687b3f94eee77dd77e4b2a/runs?limit=5" \
  -H "Authorization: Bearer $QODER_PAT"
```

## Example response

**HTTP 200 OK**

```json theme={null}
{
  "data": [
    {
      "agent": {
        "id": "agent_019ebb21ef8e7df6a559052c94875160",
        "type": "agent",
        "version": 1
      },
      "created_at": "2026-06-14T08:58:17Z",
      "deployment_id": "dep_019ec55a2b687b3f94eee77dd77e4b2a",
      "error": null,
      "id": "drun_019ec55a68af73028afa5b87931cb2f3",
      "session_id": "sess_019ec55a68b37e1e8d660691af161ab4",
      "trigger_context": {
        "type": "manual"
      },
      "type": "deployment_run"
    }
  ],
  "first_id": "drun_019ec55a68af73028afa5b87931cb2f3",
  "has_more": false,
  "last_id": "drun_019ec55a68af73028afa5b87931cb2f3",
  "next_page": null
}
```

## Response fields

| Field       | Type           | Description                                        |
| ----------- | -------------- | -------------------------------------------------- |
| `data`      | array          | List of Deployment Run objects                     |
| `first_id`  | string         | ID of the first record on the current page         |
| `last_id`   | string         | ID of the last record on the current page          |
| `has_more`  | boolean        | Whether more records are available                 |
| `next_page` | string or null | Cursor value for the next page (null when no more) |

Use `next_page` as the `page` parameter to retrieve the next page.

See [Run a deployment](/cloud-agents/api/deployments/run) for Deployment Run field descriptions.

## Errors

| HTTP | Type                   | Trigger                   |
| ---- | ---------------------- | ------------------------- |
| 401  | `authentication_error` | PAT invalid or expired    |
| 404  | `not_found_error`      | Deployment does not exist |

See [Errors](/cloud-agents/api/conventions/errors) for the full error envelope.

## Related

<CardGroup cols={2}>
  <Card title="Get a deployment run" icon="code" href="/cloud-agents/api/deployments/get-run">
    Inspect details of a single run.
  </Card>

  <Card title="Manually trigger a deployment" icon="play" href="/cloud-agents/api/deployments/run">
    Kick off a deployment run immediately.
  </Card>

  <Card title="List all runs" icon="layer-group" href="/cloud-agents/api/deployments/list-all-runs">
    Query run history across all deployments.
  </Card>

  <Card title="Get a deployment" icon="rocket" href="/cloud-agents/api/deployments/get">
    Inspect deployment configuration and status.
  </Card>
</CardGroup>
