# List the heartbeat's runs

The heartbeat's recent runs, newest first — when it woke, what woke it and what it planned — together with the closed vocabularies a settings pane needs: the action kinds, the wake events, the models and the effort levels. `limit` defaults to 50 and anything over 200 falls back to 50. Any seat.

Access class: `workspace`.

## Endpoint

`GET /v1/workspace/heartbeat/runs`

## Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| body | query | null | No |
| params | query | object | No |
| query | query | object | No |

## Responses

### 200

the action's answer

Content type: `application/json`.

```json
{
  "data": {
    "action_kinds": [
      "string"
    ],
    "efforts": [
      "string"
    ],
    "models": [
      "string"
    ],
    "runs": [
      {
        "actions_applied": 1.5,
        "actions_planned": 1.5,
        "dry_run": true,
        "error_text": "string",
        "finished_at": "string",
        "id": 1.5,
        "model": "string",
        "reasoning_effort": "string",
        "started_at": "string",
        "wake_count": 1.5
      }
    ],
    "wake_events": [
      "string"
    ]
  }
}
```

### default

a refusal: `{"error": "<what a person needs to read>"}`. 401 no credential, 402 the plan does not include this, 403 the seat does not, 404 the thing does not exist or is not yours to see.

Content type: `application/json`.

```json
{
  "error": "string"
}
```
