---
title: "Check a keyword's health"
description: "Checks whether the keyword earns its cost over `range` (default 30d). Returns a status (healthy, noisy, quiet, capped, paused or new) with plain-word reasons, numbers by platform and week, cost, the words and authors behind the noise, and suggestions. Send a suggestion's `patch` unchanged to PATCH /v1/keywords/{id}. Its effect comes from replaying the matcher's rules on the window's posts. `ai=true` adds a model-written context (cached a day, up to 20 model calls an hour per workspace). Read only and never billed. Reports are cached 5 minutes and rebuilt after a keyword change. Up to 30 reads a minute per workspace."
canonical: https://docs.rumoro.dev/api/keywords/get-keyword-health
markdown: https://docs.rumoro.dev/api/keywords/get-keyword-health.mdx
---

# Check a keyword's health

`GET /v1/keywords/{id}/health`

Checks whether the keyword earns its cost over `range` (default 30d). Returns a status (healthy, noisy, quiet, capped, paused or new) with plain-word reasons, numbers by platform and week, cost, the words and authors behind the noise, and suggestions. Send a suggestion's `patch` unchanged to PATCH /v1/keywords/{id}. Its effect comes from replaying the matcher's rules on the window's posts. `ai=true` adds a model-written context (cached a day, up to 20 model calls an hour per workspace). Read only and never billed. Reports are cached 5 minutes and rebuilt after a keyword change. Up to 30 reads a minute per workspace.

## Parameters

| Name | In | Description |
| --- | --- | --- |
| `id` | path, required | The keyword's id (kw_...). |
| `range` | query | How many UTC days back from today to read, by match time. One of 7d, 30d or 90d, 30d by default. |
| `ai` | query | true also asks a language model to rewrite the context. The answer is cached for a day per keyword and window, with at most 20 model calls an hour per workspace. With the default false, all suggestions come from the rules only. |

## Responses

| Status | Meaning |
| --- | --- |
| 200 | The health report for the keyword |
| 400 | A query parameter is not valid |
| 401 | The API key is missing or not valid |
| 404 | No keyword with this id |
| 429 | Health was read over 30 times this minute (rate_limited) |

The [OpenAPI document](https://api.rumoro.dev/v1/openapi.json) has every schema. Rules shared by all endpoints are in [Conventions](https://docs.rumoro.dev/conventions.mdx).
