# Replace workspace heartbeat

Save the heartbeat's settings. The stored bag is the starting point, so a field left out is left alone rather than reset to a zero value. A combination the rules refuse — a default snooze beyond the deferral ceiling, say — is a 400 carrying the sentence. ADMIN ONLY, while reading is any seat's.

Access class: `workspace:admin`.

## Endpoint

`PUT /v1/workspace/heartbeat`

## Request body

Content type: `application/json`.

```json
{
  "body": {
    "allow_system_events": true,
    "allowed_actions": [
      "string"
    ],
    "auto_execute_on_accept_actions": [
      "string"
    ],
    "enabled": true,
    "follow_up": {
      "after_hours": 1,
      "auto_send": true,
      "enabled": true,
      "max_follow_ups": 1
    },
    "lifecycle": {
      "default_defer_days": 1,
      "max_defer_days": 1,
      "revert_window_minutes": 1
    },
    "max_actions_per_run": 1,
    "min_wake_interval_seconds": 1,
    "model": "string",
    "preprocess_merchant_inbound_attachments": true,
    "reasoning_effort": "string",
    "wake_events": [
      "string"
    ]
  },
  "params": {},
  "query": {}
}
```

## Responses

### 200

the action's answer

Content type: `application/json`.

```json
{
  "data": {
    "allow_system_events": true,
    "allowed_actions": [
      "string"
    ],
    "auto_execute_on_accept_actions": [
      "string"
    ],
    "enabled": true,
    "follow_up": {
      "after_hours": 1.5,
      "auto_send": true,
      "enabled": true,
      "max_follow_ups": 1.5
    },
    "lifecycle": {
      "default_defer_days": 1.5,
      "max_defer_days": 1.5,
      "revert_window_minutes": 1.5
    },
    "max_actions_per_run": 1.5,
    "min_wake_interval_seconds": 1.5,
    "model": "string",
    "preprocess_merchant_inbound_attachments": true,
    "reasoning_effort": "string",
    "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"
}
```
