# Read one heartbeat run

One run with the actions it planned: what each proposes, its state, and the record it is about. This is how a line in the run list is opened to see what is waiting on a person. Any seat; a non-numeric id is a not-found.

Access class: `workspace`.

## Endpoint

`GET /v1/workspace/heartbeat/runs/{id}`

## Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| id | path | string | Yes |
| body | query | null | No |
| params | query | object | No |
| query | query | object | No |

## Responses

### 200

the action's answer

Content type: `application/json`.

```json
{
  "data": {
    "actions": [
      {
        "conversation_id": 1,
        "created_at": "string",
        "deferred_at": "string",
        "deferred_by_user_id": 1,
        "deferred_until": "string",
        "id": 1,
        "kind": "string",
        "payload": "string",
        "plan_index": 1,
        "reason": "string",
        "record_id": 1,
        "reverted_at": "string",
        "reverted_by_user_id": 1,
        "reverted_from": "string",
        "reviewed_at": "string",
        "reviewed_by_user_id": 1,
        "run_id": 1,
        "settled_at": "string",
        "state": "string"
      }
    ],
    "run": {
      "actions_applied": 1,
      "actions_planned": 1,
      "dry_run": true,
      "error_text": "string",
      "finished_at": "string",
      "id": 1,
      "model": "string",
      "reasoning_effort": "string",
      "started_at": "string",
      "wake_count": 1
    }
  }
}
```

### 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"
}
```
