# Health check

Documentation owner: product `access`; documentation version: `3.9.1`.
Source: `content/products/access/3.9.1/operations/health-check.md` at commit `eaf7a020437971baeee95e87eaf963636040ac71`.

The heartbeat endpoint lets load balancers and monitoring systems confirm that Access and all configured modules have started successfully.

## Enable the endpoint

Heartbeat is disabled by default. Enable it in the [`Node`](/modules/node/2026.117/) module configuration:

```json
{
  "name": "Node",
  "config": {
    "heartbeat": {
      "enabled": true
    },
    "modules": []
  }
}
```

With the default settings, an unauthenticated `GET /heartbeat` request returns HTTP `200` with the plain-text response `OK`.

## Configuration

| Name | Description | Default | Mandatory |
| --- | --- | --- | --- |
| `enabled` | Deploys the Heartbeat module when Access starts through `Node`. | `false` | false |
| `http_context` | Base HTTP context for the endpoint. | `"/heartbeat"` | false |
| `context_path` | Route below the HTTP context. | `"/*"` | false |
| `data_file` | Optional path to a regular file whose contents are returned with a JSON content type. If the path is missing or is not a regular file, the endpoint falls back to the plain-text response. | `""` | false |

### Custom JSON response

Use `data_file` when monitoring systems need deployment-specific metadata:

```json
{
  "name": "Node",
  "config": {
    "heartbeat": {
      "enabled": true,
      "http_context": "/health",
      "context_path": "/*",
      "data_file": "<installation path>/config/heartbeat.json"
    },
    "modules": []
  }
}
```

The file is read for every request and returned with `Content-Type: application/json`. Cache headers prevent clients and intermediaries from caching the response.
