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

# Monitoring status

> One org-level view of watch health and pipeline freshness via GET /v1/monitoring/status

`GET /v1/monitoring/status` returns a single snapshot of your whole monitoring program: how your watches are doing, how fresh each connected office is, and when the pipeline was last verified end to end. It is the API behind the dashboard Monitoring page.

Scope: `portfolios:manage`.

## Response shape

```json theme={null}
{
  "object": "monitoring_status",
  "watches": {
    "total": 412,
    "by_health": {
      "healthy": 401,
      "lagging": 6,
      "degraded": 2,
      "paused": 3,
      "pending": 0,
      "unsupported": 0
    }
  },
  "offices": [
    {
      "office_code": "uspto",
      "pipeline_status": "ok",
      "coverage_through": "2026-07-06T23:59:59Z",
      "last_completed_sync_at": "2026-07-07T06:10:00Z",
      "last_search_indexed_at": "2026-07-07T06:24:00Z",
      "slo_hours": 48
    }
  ],
  "pipeline": {
    "last_verified_end_to_end_at": "2026-07-07T08:00:00Z",
    "last_real_record_alert_at": "2026-07-07T02:14:00Z",
    "verification": "canary"
  },
  "request_id": "req_..."
}
```

## Blocks

### `watches`

An aggregate over every one of your watches, counted by [health state](/guides/monitoring/watches). The `by_health` object always carries all six states, so a state with no watches reports `0` rather than being omitted. `total` is the count of your non-deleted watches. This block is scoped strictly to your organization.

### `offices[]`

Per connected office, global pipeline freshness (the same data for every customer, so it is safe to cache and share):

| Field                    | Meaning                                                                                                                            |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------- |
| `pipeline_status`        | `ok` when coverage is within the office freshness target; `lagging` when it is stale or there is no coverage signal yet.           |
| `coverage_through`       | The office-DATA time we have processed the office through. This is source data time, never wall-clock.                             |
| `last_completed_sync_at` | When we last finished pulling from the office.                                                                                     |
| `last_search_indexed_at` | When that pull became searchable.                                                                                                  |
| `slo_hours`              | The internal freshness target (in hours) used to compute `pipeline_status`. This is an operational default, not a contractual SLA. |

Only live offices appear here.

## Null-honest pipeline verification

The `pipeline` block reports two independent signals, and both follow one rule: **a stale value is never presented as a fresh verification.**

* `last_verified_end_to_end_at` -- a synthetic change is injected into the live pipeline on a short interval and checked end to end. This timestamp is the last time that check passed. It ages visibly while everything is healthy. If no recent check has passed (the key is absent, or the most recent one is older than our freshness horizon), this field is `null` rather than a misleadingly old timestamp.
* `last_real_record_alert_at` -- a separate, slower signal: the last time the representative real-record path actually saw an office-originated change. The synthetic heartbeat proves the bus is alive right now; this proves the true customer path is delivering real changes. Same null rule.

`null` on either field means "we cannot currently assert this was verified recently", not "verified at the epoch". Treat `null` as unknown, never as fresh.

`verification` is always `"canary"` and names the mechanism behind the timestamps.

## What it does not tell you

This endpoint certifies that evaluation is happening and reports how fresh each office is. It does not certify that every relevant mark was surfaced -- that is bounded by your search strategy and by office coverage. For per-watch evidence of evaluation over a period, use the [attestation endpoint](/guides/monitoring/attestations).
