# Health Check

> Reference for the GET /health endpoint used to check that the Centinel service is reachable and ready.

Source: https://docs.centinelanalytica.com/api/health

## GET /health

Health check

Liveness and readiness check for a Centinel service. Both hosts accept a health-authorized customer `x-api-key` or the internal `x-health-check-token`. The collector also accepts a case-insensitive `User-Agent` match for `Amazon-Route53-Health-Check-Service`.

Use `https://validator.centinelanalytica.com/health` for the validator and `https://collector.centinelanalytica.com/health` for the collector. Each returns `200` with `{"status":"ok"}` when ready. Internal authorization can also return `centinel_stack_version`. The service returns `403` when authorization fails.

Servers:

- `https://validator.centinelanalytica.com` (Validator)
- `https://collector.centinelanalytica.com` (Collector)

Authentication, any one of:

- `apiKey`: apiKey in the `x-api-key` header. Your secret API key. Server-only — never call /validate from a browser.
- `healthCheckToken`: apiKey in the `x-health-check-token` header. Internal health-check credential.

### Responses

#### 200

Service is up and ready.

Content type `application/json`.

Schema:

```json
{
  "type": "object",
  "required": [
    "status"
  ],
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "ok"
      ],
      "description": "`ok` when the service is healthy.",
      "example": "ok"
    },
    "centinel_stack_version": {
      "type": "string",
      "description": "Stack version. Present only with internal health authorization."
    }
  }
}
```

Example:

```json
{
  "status": "ok"
}
```

#### 403

Authorization failed. The body is empty.

#### 503

Authorized but not ready to serve yet. The body is empty.

The full OpenAPI document is at https://docs.centinelanalytica.com/openapi.json.
