---
title: "GET /cameras"
method: GET
path: "/cameras"
tags: ["Cameras"]
---

# GET /cameras

`GET /cameras`

This endpoint allows you to retrieve a list of cameras associated with the account, with the ability to filter by account ID, location ID, bridge ID, multi-camera ID, and tags. It also supports pagination and the ability to include additional information about cameras.
It is important to note that after using the pageSize parameter, the "totalSize" in the response represents the total number of available cameras, not the number of cameras resulting from the query string.

## Query parameters

- `locationId__in` string[]
- `bridgeId__in` string[]
- `multiCameraId` string
- `multiCameraId__ne` string
- `multiCameraId__in` string[]
- `tags__contains` string[] — List of tags associated with the file.
- `tags__any` string[]
- `packages__contains` string[]
- `layoutId` string
- `name__contains` string
- `name__in` string[]
- `name` string — Name of the item.
- `id__in` string
- `id__notIn` string[]
- `id__contains` string
- `shareDetails.shared` boolean
- `shareDetails.accountId` string
- `shareDetails.firstResponder` boolean
- `deviceInfo.directToCloud` boolean
- `speakerId__in` string[]
- `speakerId__ne` string, nullable
- `q` string
- `qRelevance__gte` number, float
- `enabledAnalytics__contains` string[]
- `status__in` DeviceConnectionStatus[]
- `status__ne` DeviceConnectionStatus[]
- `include` string[]
- `pageToken` string
- `pageSize` integer
- `sort` string[]

## Response `200`

OK

- ApiPaginatedCameraResponse — Used to wrap results for a paginated response, containing information on how to retrieve further pages.
  - `nextPageToken` string, nullable, required — Token to retrieve the next page. The value of this token is passed into the field pageToken. This value can be null if there is no next page.
  - `prevPageToken` string, nullable, required — Token to retrieve the previous page. The value of this token is passed into the field pageToken. This value can be null of there is no previous page.
  - `results` object[], required — The result set from a collection API call.
    - `id` string, required
    - `accountId` string, required
    - `name` string, required — User-defined name for the device.
    - `bridgeId` string, required — The bridge a camera is connected to. Keep in mind that some cameras are connected directly to the cloud, which is when this field will not be reported.
    - `locationId` string, nullable — ID Of the location.
    - `multiCameraId` string, nullable
    - `createTimestamp` string, date-time, required
    - `status` DeviceStatus — Indicates various aspects of the device's status. The statuses defined here should be in sync with the events schema defined for the Device Cloud Status Update.
      - `connectionStatus` 'online' | 'deviceOffline' | 'invalidCredentials' | 'bridgeOffline' | 'off' | 'error' | 'busy' | 'unknown' — Indicates the connection status of the device: * `online`: The device is online and operational. * `deviceOffline`: The device is offline. * `invalidCredentials`: The known credentials for this device, including the default credentials, are invalid. This is causing the device to appear offline. * `bridgeOffline`: The bridge that connects this device to the cloud is offline. However, both the device and the bridge may still be operational locally, even though the cloud has no visibility into their status. * `off`: The device is online, but has been turned off by the user. * `error`: The device is offline due to some problem that has not been described by any of the other statuses. * `busy`: The device is currently busy and unavailable for other operations. * `unknown`: The device state is unknown for some reason.
    - `statusV2` DeviceStatusV2 — Status as reported by the edge device.
      - `cloudConnectionStatus` 'connected' | 'disconnected', required — Socket connection state between device and cloud * `connected`: The device socket connected to cloud. * `disconnected`: The device socket disconnected from cloud.
      - `edgeReportedDeviceStatus` 'operational' | 'error' | 'disabled' | 'unreachable' | 'unknown' | 'initializing', required — Indicates the operational status of the device. The statuses defined here should be in sync with the DeviceStatus schema. * `operational`: The device is online and operational. * `error`: Device not working (requires error details). * `disabled`: Operational but intentionally not recording telemetry * `unreachable`: The device is not reachable (e.g., offline, out of service). * `unknown`: The device state is unknown for some reason. * `initializing`: The device is in the process of initializing.
      - `deviceSpecificError` 'disconnectedFromBridge' | 'generalDeviceError' | 'networkError' | 'invalidCredentials' | 'deviceSupportIssue' | 'queuedForConfiguration' | 'configurationInProgress' | 'deviceDisabled' | 'analogNoPower' | 'analogBadSignal' | 'analogIncompatibleSignal' | 'analogNoSignal' — Indicates the detailed error status of a device, grouped by device type: ONVIF Camera / RTSP Camera / Multicamera: * `generalDeviceError`: Camera error * `networkError`: Network error * `invalidCredentials`: Invalid credentials * `deviceSupportIssue`: Device support issue * `queuedForConfiguration`: Queued for configuration * `configurationInProgress`: Configuration in progress * `deviceDisabled`: Device is turned off * `disconnectedFromBridge`: Disconnected from bridge Analog Camera: * `analogNoPower`: Power loss detected * `analogBadSignal`: Signal quality issue * `analogIncompatibleSignal`: Incompatible signal * `analogNoSignal`: No signal * `disconnectedFromBridge`: Disconnected from bridge * `deviceDisabled`: Device is turned off Managed Switch: * `deviceSupportIssue`: Switch support issue * `disconnectedFromBridge`: Disconnected from bridge
    - `locationSummary` LocationSummary — Summary of location information.
      - `id` string
      - `name` string
      - `address` object
        - `country` string, nullable
        - `region` string, nullable
        - `city` string, nullable
        - `streetAddress` string, nullable
        - `streetAddress2` string, nullable
        - `postalCode` string, nullable
    - `bridgeSummary` BridgeSummary — Summary of bridge information.
      - `id` string
      - `name` string
    - `deviceAddress` DeviceAddress — Address of the device.
      - `name` string, nullable
      - `address` string, nullable
    - `speakerId` string, nullable — Optional unique identifier of the speaker device associated with this camera. This should be a speaker that is audible to anyone visible in the camera view, allowing an operator to talk to visible people.
    - `timeZone` ApiTimeZone
      - `zone` string — The timezone the device is in. The list of supported timezones is provided by the [/timeZones](https://developer.eagleeyenetworks.com/reference/listtimezones) endpoint.
    - `notes` string
    - `tags` string[]
    - `devicePosition` ApiDevicePosition
      - `latitude` number, double, nullable — The latitude of the device. (WGS 84)
      - `longitude` number, double, nullable — The longitude of the device. (WGS 84).
      - `azimuth` number, double, nullable
      - `rangeInMeters` number, double, nullable
      - `floor` integer, nullable
      - `fieldOfView` number, double, nullable — Field of view is the range of the observable world visible at any given time through camera viewfinder.
    - `networkInfo` ApiNetworkInfoWithMainIp
      - `globalIP` string, nullable
      - `ipUsedByBridge` string, nullable — The current IP address the bridge is using, in IPv4 or IPv6 format.
      - `adapters` ApiAdapterInfo[]
        - `macAddress` string, nullable
        - `ipAddress` string, nullable
    - `deviceInfo` ApiDeviceInfo
      - `icon` 'securityCamera' | 'bodycam' | 'doorbell' — This field allows UIs to roughly differentiate between camera types when displaying a list of cameras. * Important: this should not be used in any way to decide on what functionality is available for a camera, that logic should be based on the capabilities and possibly the settings endpoints. * Important: more enum values might be added in the future, clients should handle new values by having a fallback icon, eg a generic "security camera" icon. * Important: The value for a specific model might change without notice.
      - `directToCloud` boolean — Indicates the camera is connected directly to the VMS cloud, and not going through a bridge. This excludes cameras that connect through a different cloud.
      - `make` string, nullable — The Manufacturer or brand of the camera.
      - `model` string, nullable — The model of the camera.
      - `guid` string, uuid, nullable
    - `firmware` ApiFirmware
      - `currentVersion` string, nullable
    - `adminCredentials` AdminCredentials — Credentials that allow the bearer to access the camera's internal UI. This UI, available via the [tunneling endpoint](https://developer.eagleeyenetworks.com/reference/putcameratunnel), can be used to apply certain advanced configurations.
      - `username` string — Username to use when authenticating with the device
      - `password` string — Password to use when authenticating with the device
    - `visibleByBridges` string[]
    - `capabilities` ApiCameraCapabilities
      - `ptz` ApiCameraPTZCapabilities, required
        - `capable` boolean, required — Indicates that the camera has some PTZ capability. Check the other capabilities for what exact capability it has.
        - `panTilt` boolean — Indicates that the camera can be panned and tilted using the API.
        - `zoom` boolean — Indicates that the camera can be zoomed in and out using the API.
        - `positionMove` boolean — Indicates that the camera supports the "position" move, see the PTZ API for details.
        - `directionMove` boolean — Indicates that the camera supports the "direction" move, see the PTZ API for details.
        - `centerOnMove` boolean — Indicates that the camera supports the "centerOn" move, see the PTZ API for details.
        - `fisheye` boolean — Indicates that the camera has a circular panoramic view for which de-warping is supported. See Viewports API for details.
      - `audio` ApiCameraAudioCapabilities, required
        - `recordingEnabled` boolean — Indicates that audio is recorded by the camera. The source of audio can be microphone or other camera.
        - `speaker` boolean — Indicates that audio can be broadcast by the camera, or an associated speaker.
        - `halfDuplex` boolean — Indicates that audio can be used to communicate in both directions, but only one direction at a time. Also known as "push to talk", this behaves the same as most "walkie-talkie" systems: only one side can talk at a time.
        - `fullDuplex` boolean — Indicates that audio can be used to communicate in both directions simultaneously. This behaves similarly to most telephone systems where both sides can talk at the same time.
      - `imageTuning` ApiCameraImageTuningCapabilities, required
        - `continuousZoom` boolean — Indicates that the camera supports image tuning with continuous zooming.
      - `io` ApiDeviceIOCapabilities, required
        - `capable` boolean — Indicates that the device support input / output ports
        - `sharedTrigger` boolean — Indicates an input can trigger video record on many devices on the bridge
      - `varifocal` boolean, required — This camera features a varifocal lens, allowing it to zoom in and out, similar to the PTZ feature. The difference between varifocal and PTZ zoom is that the PTZ hardware is meant for continuous usage while the varifocal capability is only meant for use during setup.
    - `effectivePermissions` EffectiveCameraPermissions
      - `read` boolean
      - `addToLayout` boolean
      - `viewPreviewVideo` boolean — View preview images from cameras
      - `viewLiveVideo` boolean — View full resolution video live
      - `viewHistoricVideo` boolean — View historic video
      - `turnOnOff` boolean — Turn Camera on/off
      - `controlPTZ` boolean — Control Pan, Tilt, Zoom, & recall stations while viewing a preview or live video of PTZ cameras
      - `editPTZStations` boolean — Set PTZ mode and create, delete, edit stations
      - `downloadVideo` boolean — Download preview and full resolution video
      - `delete` boolean
      - `editBillingSettings` boolean — Editing all Camera Settings
      - `editNoBillingSettings` boolean — Edit Camera Settings except for those that affect billing, like Cloud Retention and Full Video Resolution
      - `editMotionAreas` boolean — Set Motion object size and sensitivity, add/delete regions, add/delete alerts for regions. Edit and view existing Analytics. Set object size and sensitivity, add/delete alerts
      - `talkDown` boolean — Allows the users to initiate Talk Down to the camera field(s) of view
    - `shareDetails` ShareDetails
      - `shared` boolean — If true, this camera is owned by another account and shared with the current account. This includes cameras shared using the camera sharing feature, and cameras shared using the first responder feature.
      - `firstResponder` boolean — If true, this camera is shared as a first responder camera.
      - `accountId` string, nullable — If the camera is shared, this is the ID of the account that shared this camera with the current account. Null if the camera is not shared.
      - `accountName` string, nullable — If the camera is shared, this is the name of the account that shared this camera with the current account. Null if the camera is not shared.
    - `analog` Analog
      - `input` integer, nullable — The identifier of the analog input.
    - `packages` string[] — List of packages enabled for a camera.
    - `dewarpConfig` ApiDewarpConfig
      - `cameraId` string, required — Esn identifying the camera
      - `fov` number, required — Camera Field of View
      - `curve` string, required — Type of dewarp curve to apply
      - `mount` 'ceiling' | 'wall' | 'floor', required — Mounting type
      - `scale` object, required — Scale of input video
        - `x` number, required
        - `y` number, required
      - `offset` object, required — Offset of input video
        - `x` number, required
        - `y` number, required
      - `composites` ApiDewarpConfigCompositeGetCreate[], required — All composite objects related to this device
        - `id` string, required — Composite ID.
        - `name` string, required — Human given name of the composite.
        - `aspect` number, required — Aspect ratio of resulting composite image
        - `panes` ApiDewarpConfigPane[], required — Array containing individual panes that make up composite image.
          - `x` string, required — Top left x coordinate of pane relative to top left of composite
          - `y` string, required — Top left y coordinate of pane relative to top left of composite
          - `width` string, required — Width of pane inside of composite
          - `height` string, required — Height of pane inside of composite
          - `shader` 'sphere' | 'panorama' — The shader used to present the pane
          - `fov` number, required — The field of view in degrees of the rendered view. This primarily controls zoom.
          - `lookAt` ApiDewarpConfigVector3, required
            - `x` number, required
            - `y` number, required
            - `z` number, required
    - `publicSafetySharing` PublicSafetySharing
      - `enabled` boolean — Indicates whether the device is shared with public safety agencies.
    - `enabledAnalytics` object[]
      - `creatorId` string, required
      - `type` string, required
    - `qRelevance` number, float — Field is only returned when `q` parameter is used and its value indicates the relevance of the camera in relation to the terms in the `q` parameter. The range of this value is between 0 and 1, higher is better.
  - `totalSize` integer, required — Size of the total result set.

## Other responses

- `400` — The supplied object is invalid. Error detail will contain the validation error.
- `401` — You are not authenticated. Please authenticate and try again.
- `404` — Referenced resource could not be found.
- `500` — Something went wrong in the server. Please try again.

---

[API](https://skmtc.net/eagleeyenetworks/apis/devices.md) · [All operations](https://skmtc.net/eagleeyenetworks/apis/devices/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/eagleeyenetworks/devices/revisions/df57313de545/schema)
