---
title: "GET /speakers"
method: GET
path: "/speakers"
tags: ["Speakers"]
---

# GET /speakers

`GET /speakers`

Retrieving a list of speakers is possible with this endpoint.  
It is important to note that after using the pageSize parameter, the "totalSize" in the response represents the total number of available speakers,  not the number of speakers resulting from the query string.

## Query parameters

- `include` string[]
- `sort` string[]
- `pageToken` string
- `pageSize` integer
- `locationId__in` string[]
- `bridgeId__in` string[]
- `tags__contains` string[]
- `tags__any` string[]
- `name__contains` string
- `name__in` string[]
- `name` string
- `id__in` string[]
- `id__contains` string
- `q` string
- `qRelevance__gte` number, float
- `status__in` DeviceConnectionStatus[]
- `status__ne` DeviceConnectionStatus[]

## Response `200`

OK

- PaginatedSpeakerResponse — Used to wrap results for a paginated response, containing information on how to retrieve further pages and, if available, the total number of results.
  - `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.
  - `totalSize` integer, nullable — The number of resource entries being returned from the result set. This can be omitted if the API endpoint does not have total size information.
  - `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
    - `locationId` string, nullable — ID Of the location.
    - `isShared` boolean
    - `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
    - `notes` string
    - `tags` string[]
    - `capabilities` ApiSpeakerCapabilities
      - `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
    - `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
    - `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.
    - `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` ApiNetworkInfo1
      - `interface` 'lan' | 'wan' — The bridge interface to which the speaker is attached: * lan: Camera lan interface. * wan: Wide Area network interface.
      - `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` ApiDeviceInfo2 — Information that could also be visible on the physical device.
      - `make` string — The Manufactorer or brand of the speaker.
      - `model` string — The model of the speaker.
      - `guid` string, uuid
    - `visibleByBridges` string[]
    - `settings` SpeakerSettings — Device specific settings that can be configured on the speakers. This is accessible for shared speakers?
      - `mainCredentials` object — The credentials that will used for communicating with the devices with the main API of the device, which generally is its ONVIF API.
        - `username` string, required — Username to use when authenticating with the device
        - `password` string — Password to use when authenticating with the device. Password will not be returned in the GET apis. However, POST and PATCH will take the password field.
      - `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
      - `sipCredentials` object — The credentials that will be used to authenticate SIP sessions.
        - `username` string, required — Username to use when authenticating with the device
        - `password` string — Password to use when authenticating with the device. Password will not be returned in the GET apis. However, POST and PATCH will take the password field.
      - `sipPort` integer — Port to which SIP requests should be sent from the bridge. Applicable for sip speakers and defaults to 5060
    - `effectivePermissions` EffectiveSpeakerPermissions
      - `read` boolean
      - `delete` boolean
      - `edit` boolean
    - `qRelevance` number, float — Field is only returned when `q` parameter is used and its value indicates the relevance of the speaker in relation to the terms in the `q` parameter. The range of this value is between 0 and 1, higher is better.

## 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.
- `403` — You have no permission to access the specified resource.
- `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)
