---
title: "GET /cameras/{cameraId}/io/ports"
method: GET
path: "/cameras/{cameraId}/io/ports"
tags: ["Cameras"]
---

# GET /cameras/{cameraId}/io/ports

`GET /cameras/{cameraId}/io/ports`

Retrieves list of device IO ports.

## Query parameters

- `include` string[]

## Response `200`

Successfully fetched.

- PaginatedPortResponse — 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 — Unique ID for the port.
    - `enabled` boolean, required — If the port is not enabled, no events will be created, and the icon will not show up in the live stream.
    - `name` string, required — Human changeable name of the port, defaults to value of the id field.
    - `type` 'input' | 'output', required — Denotes whether this is an input or output port.
    - `idleCircuitState` 'open' | 'closed', required — Indicates the normal, inactive or idle, state of the connected circuit. Possible values: * `open`: means the port is "off" when in `idle` state (open circuit; has no voltage), and the port state being `active` means it is turned "on" (circuit is closed; has voltage). * `closed`: means the port is "on" when in `idle` state (closed circuit; has voltage), and the port state being active means it is turned "off" (open circuit; has no voltage).
    - `rules` PortRules
      - `recordOnActive` boolean — If this value is set to true, the port is an input and the device can record video, then the bridge should start recording when the port becomes active.
      - `icon` 'siren' | 'light' | 'dot' | 'door' | 'bell', nullable — If enabled, the given icon is shown for all livestreams of the camera and highlighted when the port is active. For ports of "output" type the icon can then also be clicked to change the state of the camera.
      - `iconEnabled` boolean — Inidicates if the icon should be visible on all livestreams.
    - `status` PortStatusGet
      - `state` 'active' | 'idle' | 'unknown' — Interpreted state of the connected circuit.
  - `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/versions/df57313de545/schema)
