---
title: Run Health Check
description: "Trigger a full health check run (startup + connectivity checks) and return the updated status summary. Broadcasts results to all connected WebSocket clients."
api: POST /api/health/check
baseUrl: http://localhost:8888
layout: '@/layouts/APIEndpointLayout.astro'
auth: none
section: API Reference
ogType: article
keywords: ["run health check", "trigger diagnostics", "system check"]
tags: ["api", "health"]
---

## Overview

Triggers a full health check run including both startup checks (config, storage) and connectivity checks (LLM reachability). Returns the updated health summary.

Unlike [`GET /api/health`](/api/get-health-status) which returns cached results, this endpoint actively runs all 11 checks and updates the health engine state. After completion, it broadcasts the updated health status to all connected WebSocket clients as a `health_update` message.

<Callout type="info">
Connectivity checks make network calls with a 5-second timeout (e.g. testing the Anthropic API). The response may take a few seconds.
</Callout>

## Request Body

No request body is required.

## Response

<ResponseField name="status" type="string">
  Updated overall system health: `healthy`, `degraded`, or `unhealthy`.
</ResponseField>

<ResponseField name="check_count" type="integer">
  Total number of health checks that were run.
</ResponseField>

<ResponseField name="issues" type="array">
  List of check results that are not `ok`. Same format as [`GET /api/health`](/api/get-health-status).
</ResponseField>

<ResponseField name="last_check" type="string">
  ISO 8601 timestamp of this check run.
</ResponseField>

<RequestExample>
<Tabs items={["cURL", "JavaScript", "Python"]}>
  <Tab title="cURL">
    ```bash
    curl -X POST "http://localhost:8888/api/health/check"
    ```
  </Tab>
  <Tab title="JavaScript">
    ```javascript
    const response = await fetch("http://localhost:8888/api/health/check", {
      method: "POST"
    });
    const data = await response.json();
    console.log(data.status);
    ```
  </Tab>
  <Tab title="Python">
    ```python
    import requests

    response = requests.post("http://localhost:8888/api/health/check")
    data = response.json()
    print(f"Status: {data['status']}, Issues: {len(data['issues'])}")
    ```
  </Tab>
</Tabs>
</RequestExample>

<ResponseExample>
<Tabs items={["200"]}>
  <Tab title="200">
    ```json
    {
      "status": "healthy",
      "check_count": 11,
      "issues": [],
      "last_check": "2025-03-15T10:35:00+00:00"
    }
    ```
  </Tab>
</Tabs>
</ResponseExample>
