---
title: "Get Nvr Devices"
method: GET
path: "/nvrs/{nvr_id}/devices"
tags: ["nvrs"]
---

# Get Nvr Devices

`GET /nvrs/{nvr_id}/devices`

## Request

- Base URL: `https://api.verdun.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.verdun.ai/nvrs/{nvr_id}/devices`
- Auth: HTTP bearer

## Path parameters

- `nvr_id` string, required

## Response `200`

Successful Response

- GetNvrDevicesResponse
  - `stream_access` string: Whether the stored account can open video through the NVR's RTSP relay. auth_unsupported = no Basic/Digest offered (enable digest authentication on the user); auth_rejected = credentials refused for video; camera_forbidden = every camera tried answered 403 after Digest (check camera access permissions); rtsp_unreachable = (Hikvision only) the HTTP sign-in works but nothing answered on the RTSP port; unknown = not checked or inconclusive.
  - `devices` NvrDeviceResponse[], required: Cameras enumerated live from the NVR.
    - `device_id` string, required: Vendor device id (braces stripped): the Nx device UUID, the ONVIF profile token, or the Hikvision channel number ("1").
    - `name` string, required: Device name as configured on the NVR.
    - `physical_id` string, nullable: Nx physical id (usually the MAC).
    - `model` string, nullable: Camera model reported by the NVR.
    - `vendor` string, nullable: Camera vendor reported by the NVR.
    - `mac` string, nullable: Camera MAC address reported by the NVR.
    - `status` string, nullable: Device status on the NVR (Hikvision: Online / Offline from the channel status, null when the NVR does not report it).
    - `video_codec` string, nullable: Codec of the stream the relay will pull, when the NVR reports it. The ingest pipeline requires h264.
    - `stream_codec` string, nullable: Codec read from the relay stream itself (RTSP DESCRIBE), when the probe succeeded. More reliable than video_codec, which is the NVR's own metadata; prefer this when present.
    - `already_onboarded` boolean, required: Whether this device is already a Verdun camera.
    - `onboarded_camera_id` string, uuid, nullable: Existing Verdun camera UUID, when already onboarded.
    - `onboarded_camera_label` string, nullable: Existing Verdun camera label, when already onboarded.

## Other responses

- `422`: Validation Error

---

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