# List health

URL: https://docs.hanzo.ai/docs/openapi/notify/get-notify-health

> Reports that the notify send surface is mounted.

`GET /v1/notify/health`

> [Notify →](https://docs.hanzo.ai/docs/openapi/notify) · [All API references →](https://docs.hanzo.ai/docs/openapi) · [Get started →](https://docs.hanzo.ai/docs/guides)

|               |                                         |
| ------------- | --------------------------------------- |
| **Address**   | `https://api.hanzo.ai/v1/notify/health` |
| **Method**    | `GET`                                   |
| **Operation** | `get_notify_health`                     |
| **Auth**      | `Authorization: Bearer $HANZO_API_KEY`  |

Reports that the notify send surface is mounted.

It is a pure liveness probe: it answers 200 whenever this subsystem is mounted
and checks nothing downstream, so an "ok" here says the routes are reachable, not
that any provider credential is configured. The body is notifyd's verbatim, so
probes and clients that keyed on the standalone service keep working unchanged.

## Request

`GET /v1/notify/health` takes no parameters and no body — the credential is the whole request.

## Response

| Status    | Body                | Meaning |
| --------- | ------------------- | ------- |
| `200`     | notify.notifyHealth | ok      |
| `default` | problem-details     | refused |

`200` body — 2 fields.

| Field     | In   | Type   | Always | Description                                                              |
| --------- | ---- | ------ | ------ | ------------------------------------------------------------------------ |
| `service` | body | string | —      | Service names the subsystem answering — always "notify".                 |
| `status`  | body | string | —      | Status is "ok"; the route answers 200 whenever the subsystem is mounted. |

Failure carries the platform error shape — see [Errors](https://docs.hanzo.ai/docs/errors).

## Examples

**CLI**

```bash
hanzo notify health
```

**SDK**

**.ts**

```ts
import { Configuration, NotifyApi } from 'hanzoai';

const api = new NotifyApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getNotifyHealth();
```

**.py**

```python
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import NotifyApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = NotifyApi(client).get_notify_health()
```

**.go**

```go
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.NotifyAPI.GetNotifyHealth(context.Background()).Execute()
if err != nil {
	return err
}
```

**.rs**

```rust
use hanzo_client::apis::{configuration::Configuration, notify_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = notify_api::get_notify_health(&cfg, Default::default()).await?;
```

**.java**

```java
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.NotifyApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new NotifyApi(client).getNotifyHealth();
```

**HTTP**

```bash
curl https://api.hanzo.ai/v1/notify/health \
  -H "Authorization: Bearer $HANZO_API_KEY"
```

**MCP**

Tool `notify`, op `get_notify_health` — POST the JSON-RPC envelope to `https://api.hanzo.ai/v1/mcp`.

```bash
curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "notify",
         "arguments": {
           "op": "get_notify_health",
           "input": {}
         }
       }
     }'
```

---

[Notify API](https://docs.hanzo.ai/docs/openapi/notify) · [All Hanzo APIs](https://docs.hanzo.ai/docs/openapi) · [Interactive reference](https://docs.hanzo.ai/docs/openapi/reference)
