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.
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.
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.
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.
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.
This connector listing is developed, published, and supported by Fibric. It describes integration with UniFi Protect through published interfaces. Third-party names and logos identify the systems an integration connects to; they are the property of their respective owners, who are not affiliated with Fibric and do not sponsor or endorse this listing. Trademark policy