Reference · built on requestConnectorAccess control & video

UniFi Protect

Cameras, sensors, alarm hubs, and live events from UniFi Protect on a UniFi console, with settings, siren, and alarm actions.

About

UniFi Protect is Ubiquiti's video management application, running on a UniFi console on your own network. Its integration API, versioned with each Protect release, is served locally at https://{consoleIP}/proxy/protect/integration and through the UniFi API Cloud Connector at api.ui.com. The OpenAPI spec for release 7.3.56 covers cameras, sensors, lights, chimes, sirens, speakers, relays, alarm hubs, fobs, bridges, viewers, live views, the NVR, users, and two WebSocket subscriptions.

Through Fibric, an operator listens on the events subscription, pulls a snapshot from the camera involved, and proposes a settings change, a siren, or an alarm trigger. Your approval releases it, and the call is recorded with its outcome.

This is a reference listing. It documents what Fibric would read from UniFi Protect and what it could propose, based on the vendor's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.

Inputs

  • Cameras through GET /v1/cameras and /v1/cameras/{id}, with snapshots from GET /v1/cameras/{id}/snapshot and optional highQuality or package channel
  • Sensors with isOpened, isMotionDetected, leakDetectedAt, tamperingDetectedAt, batteryStatus, and temperature, humidity, and light settings
  • Alarm hubs, sirens, speakers, relays, lights, chimes, fobs, bridges, link stations, viewers, and live views, each with a list and a GET by id
  • Event messages over the /v1/subscribe/events WebSocket: eventAdd and eventUpdate for motion, smart detect, ring, sensor open and closed, water leak, glass break, and entry events
  • Device change messages over the /v1/subscribe/devices WebSocket
  • RTSPS stream URLs per camera and quality through GET and POST /v1/cameras/{id}/rtsps-stream, plus NVR and application info

Proposed actions

  • Target capability: propose a camera, sensor, light, or chime settings change through PATCH /v1/{type}/{id}, such as a name or on-screen display setting
  • Target capability: propose POST /v1/alarm-manager/webhook/{id} to trigger the alarms configured with that id
  • Target capability: propose playing or stopping a siren, activating a relay output, or triggering an alarm hub output
  • Target capability: propose enabling or disabling the alarm through /v1/arm-profiles/enable and disable, or setting the current arm profile
  • Target capability: propose a PTZ preset move, or a patrol start and stop, on a PTZ camera

Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.

What you can build

  • Know when a camera or sensor goes quiet

    Device update messages and the cameras and sensors lists give each device's state and battery status. The operator proposes a ticket for any device offline past your threshold.

    With Camera Health, Sensor Health

  • Catch a water leak early

    A sensorWaterLeakEvent arrives on the events subscription. The operator pulls a snapshot from the nearest camera and proposes the leak response with the sensor name and time.

    With Leak Response

  • Review after-hours motion

    cameraSmartDetectZoneEvent and sensorOpenEvent messages outside the hours you set are listed with snapshots for a person to review each morning.

    With After-Hours Audit

  • Draft an incident from the alarm hub

    For a ring, glass break, or entry opened event, the operator gathers the related events and snapshots and drafts the incident record for your approval.

    With Incident Draft

Requirements

  • A UniFi console running the Protect application, reachable at https://{consoleIP}/proxy/protect/integration or through https://api.ui.com/v1/connector/consoles/{consoleId}/proxy/protect/integration
  • An API key from the UniFi Site Manager, tied to the UI account or organization that created it
  • For events, a client that can hold a WebSocket open to /v1/subscribe/events and /v1/subscribe/devices
  • For streams, RTSPS clients on the same network path; package quality exists only on cameras with hasPackageCamera
Authentication
An API key created in the UniFi Site Manager at unifi.ui.com under Settings and API Keys, shown once, and sent as the X-API-KEY header on every request.

Limits

  • Endpoints are published per Protect release, for example v7.3.56; a console on another release may differ
  • Events arrive only over the WebSocket subscription; the 7.3.56 spec has no endpoint to query past events
  • RTSPS streams are created per camera and quality with POST and removed with DELETE; none exist until created
  • No rate limit figures appear in the Protect API pages read for this listing

Access and pricing

Reference listing. Fibric builds the connector under a managed deployment when you request it. Your quote covers the build, capabilities, usage, and support.

Request UniFi Protect ↗

Questions and answers

Where does the API run?
On the console. The OpenAPI spec lists two servers: https://{consoleIP}/proxy/protect/integration on the local network, and https://api.ui.com/v1/connector/consoles/{consoleId}/proxy/protect/integration through the UniFi API Cloud Connector. Both take the X-API-KEY header.
How do I receive events?
Open a WebSocket to GET /v1/subscribe/events. Messages are eventAdd or eventUpdate, distinguished by type, and carry event schemas such as cameraMotionEvent, cameraSmartDetectLineEvent, sensorOpenEvent, sensorWaterLeakEvent, alarmHubEntryOpenedEvent, and alarmHubGlassBreakEvent. GET /v1/subscribe/devices broadcasts changes to Protect-managed hardware.
Can the API pull video?
It returns stream URLs and images. POST /v1/cameras/{id}/rtsps-stream creates RTSPS streams for the qualities you name, GET lists them, and DELETE removes them. GET /v1/cameras/{id}/snapshot returns an image, with highQuality for 1080P or higher and channel=package for cameras with a package camera.
Ask about UniFi Protect

Ask about the capabilities and requirements in this listing.

For project-specific requirements, contact Fibric.