> ## Documentation index
> Fetch the complete documentation index at: https://developer.rhombus.com/llms.txt
> Use it to discover all available pages before exploring further.

# Get minimal NVR state list

> Get basic state information about all NVRs in organization

```http
POST https://api2.rhombussystems.com/api/relay/getMinimalNVRStateList
```

EU organizations send the same request to `https://api2.eu.rhombussystems.com`.

## Authentication and parameters

- `x-auth-apikey` (header, required): Your Rhombus API key. Must be accompanied by the `x-auth-scheme` header set to `api-token` (or `partner-api-token` for partner endpoints).
- `Authorization` (header): instead of an API key, an OAuth access token (`Bearer <token>`) with the `read` scope.
- `x-auth-scheme` (header, string, default: `api-token`): Authentication scheme identifier. Use `api-token` or `partner-api-token` with the `x-auth-apikey` header, `api` or `partner-api` with `x-auth-apikey` plus a client certificate, `api-oauth-token` or `partner-api-oauth-token` with `x-auth-access-token`, and `federated-token` with `x-auth-ft`. A request with `Authorization: Bearer <token>` and no `x-auth-scheme` is treated as OAuth, and `federated-token` may also be sent as the `x-auth-scheme` and `x-auth-ft` query parameters. One of: `api-token`, `api`, `api-oauth-token`, `federated-token`, `partner-api-token`, `partner-api`, `partner-api-oauth-token`.
- `x-auth-org` (header, string<RUUID>): Client organization UUID (22-character RUUID), for partner credentials only. With it the call runs in that client organization with the partner support authority's role. Without it a partner credential runs as the partner organization, which outside the partner endpoints is deprecated (responses carry `Deprecation` and `Sunset: Tue, 05 Jan 2027 00:00:00 GMT`). A malformed value returns 400 `INVALID_AUTH_ORG`; a client organization the partner cannot access returns 403 `PARTNER_CLIENT_ACCESS_DENIED`.

## Request body

Content type: `application/json`. Request object for getting basic state information about all NVRs in the organization.

No fields: send `{}`.

## Response 200

OK. Content type: `application/json`

- `error` (boolean | null)
- `errorCode` (string | null): Stable, machine-readable code for the failure (one of the ApiErrorCode catalog) when error is true. Branch on this, not on errorMsg.
- `errorMsg` (string | null)
- `nvrstates` (array<object> | null): List of minimal NVR state information for all NVRs in the organization
- `warningMsg` (string | null)

## Errors

Also 400, 401, 403, 429, 500, 503 with the standard error body (`errorCode`, `errorMsg`): https://developer.rhombus.com/errors

## OpenAPI

````yaml
openapi: 3.0.1
info:
  title: Rhombus API
  version: "1.0"
servers:
  - description: Production Server
    url: https://api2.rhombussystems.com
security:
  - ApiKeyAuth: []
paths:
  /api/relay/getMinimalNVRStateList:
    post:
      description: Get basic state information about all NVRs in organization
      operationId: getMinimalNVRStateList
      parameters:
        - description: "Authentication scheme identifier. Use `api-token` or `partner-api-token` with the `x-auth-apikey` header, `api` or `partner-api` with `x-auth-apikey` plus a client certificate, `api-oauth-token` or `partner-api-oauth-token` with `x-auth-access-token`, and `federated-token` with `x-auth-ft`. A request with `Authorization: Bearer <token>` and no `x-auth-scheme` is treated as OAuth, and `federated-token` may also be sent as the `x-auth-scheme` and `x-auth-ft` query parameters."
          example: api-token
          in: header
          name: x-auth-scheme
          required: false
          schema:
            default: api-token
            enum:
              - api-token
              - api
              - api-oauth-token
              - federated-token
              - partner-api-token
              - partner-api
              - partner-api-oauth-token
            type: string
        - description: "Client organization UUID (22-character RUUID), for partner credentials only. With it the call runs in that client organization with the partner support authority's role. Without it a partner credential runs as the partner organization, which outside the partner endpoints is deprecated (responses carry `Deprecation` and `Sunset: Tue, 05 Jan 2027 00:00:00 GMT`). A malformed value returns 400 `INVALID_AUTH_ORG`; a client organization the partner cannot access returns 403 `PARTNER_CLIENT_ACCESS_DENIED`."
          in: header
          name: x-auth-org
          required: false
          schema:
            format: RUUID
            maxLength: 22
            minLength: 22
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Relay_GetMinimalNVRStateListWSRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Relay_GetMinimalNVRStateListWSResponse"
          description: OK
        "400":
          $ref: "#/components/responses/BadRequest"
        "401":
          $ref: "#/components/responses/Unauthorized"
        "403":
          $ref: "#/components/responses/Forbidden"
        "429":
          $ref: "#/components/responses/TooManyRequests"
        "500":
          $ref: "#/components/responses/InternalServerError"
        "503":
          $ref: "#/components/responses/ServiceUnavailable"
      security:
        - ApiKeyAuth: []
        - oauth2:
            - read
      summary: Get minimal NVR state list
      tags:
        - Relay Webservice
components:
  schemas:
    Relay_GetMinimalNVRStateListWSRequest:
      description: Request object for getting basic state information about all NVRs in the organization.
      type: object
    Relay_GetMinimalNVRStateListWSResponse:
      description: Response object containing basic state information about all NVRs in the organization.
      properties:
        error:
          nullable: true
          type: boolean
        errorCode:
          description: Stable, machine-readable code for the failure (one of the ApiErrorCode catalog) when error is true. Branch on this, not on errorMsg.
          nullable: true
          type: string
        errorMsg:
          nullable: true
          type: string
        nvrstates:
          description: List of minimal NVR state information for all NVRs in the organization
          items:
            $ref: "#/components/schemas/MinimalNVRStateType"
          nullable: true
          type: array
        warningMsg:
          nullable: true
          type: string
      type: object
    MinimalNVRStateType:
      description: List of minimal NVR state information for all NVRs in the organization
      properties:
        connectionStatus:
          $ref: "#/components/schemas/DeviceStatusEnum"
        createdAtMillis:
          format: int64
          nullable: true
          type: integer
        defaultInterface:
          nullable: true
          type: string
        defaultInterfaceMac:
          nullable: true
          type: string
        directionRadians:
          format: float
          nullable: true
          type: number
        externalIPAddress:
          nullable: true
          type: string
        facetNameMap:
          additionalProperties:
            nullable: true
            type: string
          nullable: true
          type: object
        firmwareUpdateInProgress:
          nullable: true
          type: boolean
        firmwareVersion:
          nullable: true
          type: string
        floorNumber:
          format: int32
          nullable: true
          type: integer
        healthStatus:
          $ref: "#/components/schemas/DeviceStatusEnum"
        healthStatusDetails:
          $ref: "#/components/schemas/DeviceHealthStatusDetailsEnum"
        hwVariation:
          $ref: "#/components/schemas/HardwareVariationEnum"
        lanAddresses:
          items:
            nullable: true
            type: string
          nullable: true
          type: array
        latitude:
          format: double
          nullable: true
          type: number
        liveStreamShared:
          nullable: true
          type: boolean
        liveStreamsSharedCount:
          format: int32
          nullable: true
          type: integer
        locationUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        longitude:
          format: double
          nullable: true
          type: number
        mediaRegion:
          nullable: true
          type: string
        mediaStorageDeviceUuid:
          description: RUUID with optional appended facet information
          example: AAAAAAAAAAAAAAAAAAAAAA.v0
          format: DeviceFacetUuid
          nullable: true
          type: string
        mummified:
          nullable: true
          type: boolean
        name:
          nullable: true
          type: string
        numThirdPartyCamerasAssigned:
          format: int32
          nullable: true
          type: integer
        numThirdPartyCamerasSupported:
          format: int32
          nullable: true
          type: integer
        policyUuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        region:
          nullable: true
          type: string
        secondaryLanAddresses:
          items:
            nullable: true
            type: string
          nullable: true
          type: array
        serialNumber:
          nullable: true
          type: string
        ssid:
          nullable: true
          type: string
        subLocationsHierarchyKey:
          description: |
            A sequence of one or more base 64 (url-safe) uuid substrings.
            These substrings are separated by dots (.).
          example: AAAAAAAAAAAAAAAAAAAAAA.AAAAAAAAAAAAAAAAAAAAAA.AAAAAAAAAAAAAAAAAAAAAA
          format: SubLocationsHierarchyKey
          nullable: true
          pattern: ^([A-Za-z0-9\-_]{22})([.][A-Za-z0-9\-_]{22})*$
          type: string
        supportedFacets:
          items:
            $ref: "#/components/schemas/DeviceFacetEnum"
          nullable: true
          type: array
          uniqueItems: true
        uuid:
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          format: RUUID
          nullable: true
          type: string
        wifiApMac:
          nullable: true
          type: string
        wifiBars:
          format: int32
          nullable: true
          type: integer
        wifiSignalStrength:
          format: int32
          nullable: true
          type: integer
      type: object
    DeviceStatusEnum:
      enum:
        - RED
        - ORANGE
        - YELLOW
        - GREEN
      type: string
    DeviceHealthStatusDetailsEnum:
      enum:
        - DISCONNECTED
        - FIRMWARE_BEHIND
        - NOT_RECORDING
        - LINK_SPEED_LOW
        - MALFUNCTIONING_MODULES
        - CALIBRATING
        - DELAYED
        - NONE
      type: string
    HardwareVariationEnum:
      enum:
        - RASPBERRY_PI_3
        - CAMERA_R1
        - CAMERA_R2
        - CAMERA_R2_LONG_RANGE
        - CAMERA_R2_180
        - CAMERA_R3
        - CAMERA_R4
        - CAMERA_R100
        - CAMERA_R120
        - CAMERA_R170
        - CAMERA_R200
        - CAMERA_R500
        - CAMERA_R510
        - CAMERA_R520
        - CAMERA_R600
        - SENSOR_ASSET_TAG_T1
        - SENSOR_DOOR_D1
        - SENSOR_DOOR_D20
        - SENSOR_ENVIRONMENTAL_E1
        - SENSOR_ENVIRONMENTAL_E15
        - SENSOR_ENVIRONMENTAL_E2
        - SENSOR_MOTION_M1
        - SENSOR_MOTION_M15
        - GATEWAY_A1
        - GATEWAY_A100
        - GATEWAY_ENVIRONMENTAL_E50
        - CAMERA_R220
        - CAMERA_R230
        - CAMERA_R36S
        - CAMERA_R410
        - CAMERA_R540
        - CAMERA_R545
        - BADGE_READER_DR1
        - BADGE_READER_DR40
        - BADGE_READER_DR20
        - DOOR_CONTROLLER_DC1
        - DOOR_CONTROLLER_DC20
        - DOOR_CONTROLLER_DC10
        - ETHERNET_TESTER_ET1
        - IO_BOARD_TB1
        - BLE_BUTTON_B10
        - BLE_BUTTON_B15
        - CAMERA_THIRD_PARTY_RELAY
        - CAMERA_THIRD_PARTY_NVR
        - CAMERA_THIRD_PARTY_NVR_MULTISENSOR
        - NVR_N100
        - CAMERA_R130
        - NVR_N500
        - CAMERA_R150
        - ROBOT_RC1
        - CAMERA_R210
        - CAMERA_R650
        - NVR_N550
        - NVR_N551
        - ROBOT_RC2
        - UNSPECIFIED
      type: string
    DeviceFacetEnum:
      description: facet information for media
      enum:
        - ""
        - v0
        - v1
        - v2
        - v3
        - a0
        - v4
        - v5
        - v6
        - v7
        - v8
        - v9
        - v10
        - v11
        - v12
        - v13
        - v14
        - v15
        - v16
        - v17
        - v18
        - v19
        - v20
        - v21
        - v22
        - v23
        - v24
        - v25
        - v26
        - v27
        - v28
        - v29
        - v30
        - v31
        - v32
        - v33
        - v34
        - v35
        - v36
        - v37
        - v38
        - v39
        - v40
        - v41
        - v42
        - v43
        - v44
        - v45
        - v46
        - v47
        - v48
        - v49
        - v50
        - v51
        - a1
        - a2
        - a3
        - a4
        - a5
        - a6
        - a7
        - a8
        - a9
        - a10
        - a11
        - a12
        - a13
        - a14
        - a15
        - a16
        - a17
        - a18
        - a19
        - a20
        - a21
        - a22
        - a23
        - a24
        - a25
        - a26
        - a27
        - a28
        - a29
        - a30
        - a31
        - a32
        - a33
        - a34
        - a35
        - a36
        - a37
        - a38
        - a39
        - a40
        - a41
        - a42
        - a43
        - a44
        - a45
        - a46
        - a47
        - a48
        - a49
        - a50
        - a51
      example: v0, a0
      format: DeviceFacet
      type: string
  securitySchemes:
    ApiKeyAuth:
      description: Your Rhombus API key. Must be accompanied by the `x-auth-scheme` header set to `api-token` (or `partner-api-token` for partner endpoints).
      in: header
      name: x-auth-apikey
      type: apiKey
    oauth2:
      description: 'OAuth 2.0 authorization code flow with PKCE (`S256`). Send the access token as `Authorization: Bearer <token>`. Each operation lists the scopes it requires; a token without them is refused 403 with `WWW-Authenticate: Bearer error="insufficient_scope"`.'
      flows:
        authorizationCode:
          authorizationUrl: https://console.rhombus.com/oauth/authorize
          refreshUrl: https://auth-web.rhombussystems.com/oauth/token
          scopes:
            physical: Unlock doors and elevators, lockdown, alarms, speakers and robots
            read: View cameras, footage and settings
            write: Change settings and data
          tokenUrl: https://auth-web.rhombussystems.com/oauth/token
      type: oauth2
````
