Milestone XProtect API Gateway for administrators
The Milestone XProtect VMS is planned to include APIs and streaming protocols that expose the functionality currently available through native .NET libraries and various proprietary protocols.
The XProtect VMS API Gateway supports new integration options through the Milestone Integration Platform VMS API (MIP VMS API).
The MIP VMS API will provide RESTful and WebSocket APIs, based on industry standard protocols such as OpenAPI, for accessing XProtect VMS functionality, simplifying integration projects and serving as a basis for cloud connected communication.
The API Gateway is installed on-premise and is intended to serve as a front-end and common entry point for APIs and streaming services on all the current VMS server components (management server, event server, recording servers, log server, etc). At least one API Gateway must be installed on the same host as the management server or separately, and more than one can be installed (each on their own host).
What's new?
Milestone XProtect VMS 2025 R1
-
WebRTC:
-
In addition to the RESTful WebRTC signaling API, signaling through a WebSocket API is now supported.
-
Executing PTZ commands through a WebRTC data channel to a connected camera is now supported.
-
Milestone XProtect VMS 2024 R2
-
RESTful Config API:
-
Tasks for going to PTZ presets, activating, deactivating and triggering outputs, and getting and setting the absolute position of cameras have been added.
-
Two endpoints for reading permissions have been added:
/securityNamespaces
and/effectivePermissions
. -
The endpoint
/registeredServices
for managing registered services has been added.
-
-
RESTful APIs for tagging video sequences have been added:
-
The endpoint
/bookmarks
for managing bookmarks. -
The endpoint
/evidenceLocks
for managing evidence locks.
-
-
RESTful Events API and RESTful Alarms API are no longer in beta.
-
WebSocket Messages API is no longer in beta.
Milestone XProtect VMS 2024 R1
-
Events and State WebSocket API:
-
Updated protocol with field
inactiveTimeoutSeconds
, included with the Start Session Response message. -
Added Authenticate command that can be used as an alternative to the Authorization header when connecting.
-
-
WebRTC features:
-
Playback is no longer in beta.
-
Milestone XProtect VMS 2023 R3
-
The API Gateway is no longer optional.
At least one API Gateway must be present in an XProtect VMS site.
-
WebRTC new features:
-
Optionally, select a specific stream when creating a WebRTC session.
-
Playback (beta). Specify playback time, speed and whether gaps should be skipped when creating a WebRTC session.
-
Multiple STUN and TURN servers can now be specified in the configuration file for the API Gateway, or when creating a WebRTC session.
-
No default STUN server in the API Gateway configuration.
-
Privacy mask prevents new WebRTC connection.
-
-
Event and State WebSocket API added.
Use the Event and States WebSocket API to subscribe to events in the VMS. When using this API, events will be pushed to the recipient through the established WebSocket connection.
-
WebSocket Messages API (beta) added.
Use the WebSocket Messages API to publish and subscribe to JSON messages in real time between Smart Client, Management Client, Event Server and standalone services.
Future releases of this API might break backwards compatibility
Milestone XProtect VMS 2023 R2
-
RESTful Events API (beta) and RESTful Alarms API (beta)
Use the RESTful Events and Alarms APIs to retrieve stored events and trigger new events, as well as to retrieve alarms, update their priority and state, attach snapshots, and trigger new alarms. These APIs are in beta and future releases of these APIs might break backwards compatibility.
Milestone XProtect VMS 2023 R1
-
Some changes to API Gateway configuration files.
-
WebRTC is enabled by default and now supports mDNS.
Milestone XProtect VMS 2022 R3
-
The API Gateway can be configured to support Cross-Origin Resource Sharing (CORS).
-
Pre-release of WebRTC support.
Milestone XProtect VMS 2022 R2
-
A number of syntax issues in the OpenAPI spec file have been fixed.
-
More complete coverage of the Configuration API.
-
Breaking change: In some parts of the RESTful API, booleans were treated as strings, meaning that the values when provided as input would have to be enclosed in quotation marks and also would be returned in this form. As this is not in compliance with the JSON standard, and also not in accordance the OpenAPI spec file we provide, we have decided to change it to use true/false without the quotation marks.
Limitations
-
Only the following APIs and stream protocols are exposed through the API Gateway:
-
RESTful Configuration API
-
RESTful Alarms API
-
RESTful Events API
-
RESTful Bookmarks and Evidence Locks APIs
-
WebSocket Event and State API
-
WebSocket Messages API
-
WebRTC
-
-
To upgrade from the 2021 R2 pre-release of the API Gateway to later releases, you'll have to uninstall the 2021 R2 pre-release before upgrading.