---
title: "List NVR status"
method: GET
path: "/v1/nvrs/status"
tags: ["nvrs"]
---

# List NVR status

`GET /v1/nvrs/status`

## Request

- Base URL: `https://developer.coram.ai`
- URL: `https://developer.coram.ai/v1/nvrs/status`
- Auth: API key in header `X-Auth-Token`

Returns status for authorized NVRs in UUID order. Requires read:* scope
and at least LIVE_ONLY surveillance access. Full-access users see every
tenant-owned NVR, including devices without a location. Restricted users
see NVRs at their allowed locations or camera-group locations.
Status combines independent data sources and is not an atomic snapshot.
Invalid or unavailable uptime is null; required database failures fail
the request. Unknown or inaccessible NVR identifiers return an empty collection.

## Query parameters

- `page` integer
- `limit` integer
- `nvr` string

## Headers

- `X-Tenant-User` string
- `X-Tenant-Org` string

## Response `200`

Authorized NVR status page.

- NVRStatusPage
  - `results` NVRStatus[], required: NVR records returned for the requested page.
    - `nvr` string, required: Unique NVR identifier.
    - `software_version` string, nullable, required: NVR software version (release tag or commit SHA). Retained while offline; null if unreported.
    - `last_heartbeat_at` string, date-time, nullable, required: Last NVR stack heartbeat (UTC). Retained while offline; null if none exists.
    - `online` boolean, required: True when the last NVR heartbeat is less than 60 seconds old. False if no heartbeat exists.
    - `uptime_seconds` integer, nullable, required: Time since the NVR last started, in whole seconds. Null if telemetry is unavailable, invalid, inconsistent, or more than two minutes old.
    - `alert_delivery` NVRAlertDeliveryStatus, required: Alert delivery health reported by the NVR.
      - `status` 'healthy' | 'degraded' | 'unknown', required: Current alert delivery status: healthy, degraded, or unknown. Unknown if no report has been accepted in the last 15 minutes.
      - `updated_at` string, date-time, nullable, required: Time (UTC) when the latest alert delivery status report was accepted. Retained when the status becomes unknown; null if no report has been received.
  - `has_more` boolean, required: True if another page of results is available.

## Other responses

- `400`: Invalid query parameters or tenant selection.
- `401`: API key is missing, invalid, revoked, or expired.
- `403`: API key lacks the required permissions or access to the requested organization.
- `404`: The user specified in X-Tenant-User was not found.
- `429`: Too many requests. Try again later.
- `500`: Failed to retrieve NVR status data.

## Changes

- **2026-10-15** `f3fe1746718f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/coram/apis/coram-api/changes/v1/nvrs/status/get.md)

---

[API](https://skmtc.dev/coram/apis/coram-api.md) - [All operations](https://skmtc.dev/coram/apis/coram-api/llms.txt) - [OpenAPI document](https://skmtc.dev/coram/apis/coram-api/revisions/00df3cfc762f?raw)
