> ## Documentation Index
> Fetch the complete documentation index at: https://docs.overwatchapp.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# GET /api/v1/status — organization status summary

> GET /api/v1/status returns healthy, warning, and down monitor counts plus an overall rollup — ideal for status pages and ops dashboards.

The status endpoint returns a single aggregated snapshot of your organization's monitoring health. Rather than paginating through every monitor, you get counts by health category and a single `overall` value that tells you whether your infrastructure is fully operational, degraded, or in an active incident. This makes it easy to integrate Overwatch data into a public status page, a Slack bot, or an internal ops dashboard.

***

## Get status

```
GET /api/v1/status
```

Returns health counts across all monitors in your organization plus an `overall` rollup status.

### Response

```json theme={null}
{
  "data": {
    "total": 24,
    "healthy": 21,
    "warning": 2,
    "down": 1,
    "overall": "incident"
  }
}
```

<ResponseField name="data.total" type="number">
  Total number of monitors in your organization, regardless of their current status or enabled state.
</ResponseField>

<ResponseField name="data.healthy" type="number">
  Number of monitors with a healthy status: `up`, `ok`, `active`, or `present`.
</ResponseField>

<ResponseField name="data.warning" type="number">
  Number of monitors with a warning status: `degraded`, `expiring_soon`, `havent_heard`, or `changed`.
</ResponseField>

<ResponseField name="data.down" type="number">
  Number of monitors in a non-healthy, non-warning state — effectively everything that is not healthy or warning. This includes `down`, `failed`, `expired`, `missing`, and `no_cert`.
</ResponseField>

<ResponseField name="data.overall" type="string">
  Rollup status for the organization. One of:

  * `operational` — all monitors are healthy or have no results yet.
  * `degraded` — at least one monitor is in a warning state and none are down.
  * `incident` — at least one monitor is in a down state.
</ResponseField>

### Status logic

The `overall` field is determined by this priority order:

1. If `down > 0` → `incident`
2. Else if `warning > 0` → `degraded`
3. Otherwise → `operational`

***

## Example

```bash theme={null}
curl https://overwatchapp.dev/api/v1/status \
  -H "Authorization: Bearer $API_KEY"
```

**Response:**

```json theme={null}
{
  "data": {
    "total": 8,
    "healthy": 7,
    "warning": 1,
    "down": 0,
    "overall": "degraded"
  }
}
```

***

## Use cases

**Status page integration** — Poll this endpoint every minute and display `overall` as a banner on your public status page. Map `operational` to green, `degraded` to yellow, and `incident` to red.

**Ops dashboard** — Show the `total`, `healthy`, `warning`, and `down` counts as summary cards at the top of an internal dashboard to give on-call engineers an instant at-a-glance view.

**Alerting pipeline** — Use `overall` in a webhook or CI step to gate deployments: if `overall` is `incident`, halt the rollout and page the on-call engineer.

<Tip>
  Combine this endpoint with `GET /api/v1/events?status=down` to get both the high-level summary and the specific monitors that are currently failing.
</Tip>
