Milestone XProtect REST API 2023 R3 – Camera Permissions and Camera Deletion

Hi everyone,

I’m currently working with the Milestone XProtect REST API and I have two questions regarding functionality that appears to be missing or restricted.

1. Assigning granular permissions to a role for a specific camera

I have found that the Roles API seems to be blocked/restricted when using AddCamera.

What I’m looking for is a REST endpoint that allows assigning granular permissions to a role for a specific camera, such as:

  • GENERIC_READ

  • VIEW_LIVE

  • EXPORT

  • and other camera-level permissions.

In XProtect 2024, I found the following endpoints:

  • /effectivePermissions

  • /securityNamespaces

However, these appear to be read-only and I cannot find an endpoint that allows me to write or modify the permissions assigned to a role for a specific camera.

Question:
Is there any supported REST API endpoint or method for creating/updating granular role permissions on a specific camera? If not, is this functionality available through another API (SDK, MIP SDK, etc.)?

2. Deleting/removing a camera through REST API

The second issue is related to deleting/removing cameras.

The operation appears to be blocked/restricted by the RemoveCamera functionality. I also found that the helper DeleteHardware is used both by RemoveCamera and by the rollback logic of AddCamera.

However, I cannot find a REST endpoint such as:

DELETE /hardware/{id}

or any other REST operation that allows a camera/hardware device to be deleted.

I have checked the available API functionality across the versions I reviewed, but I haven’t found a supported REST endpoint for this operation.

Question:
Is there a supported REST API method for removing/deleting a camera or hardware device? If not, is camera deletion intentionally unavailable through the REST API, and should this instead be done through the XProtect SDK/MIP SDK or another interface?

Any clarification regarding the intended API design or the supported approach for these two operations would be greatly appreciated.

Thanks!

  1. You can use the task ChangeSecurityPermissions for this. More information here: MIP VMS RESTful Config API reference
  2. A camera is a device on a hardware and cannot be removed individually (but you can disable it if you want it not to be available to users). Hardware can be removed by the DELETE /hardware/{id} operation: MIP VMS RESTful Config API reference