Camera Management
Camera management spans three controllers that handle direct camera operations, public-facing configuration, and access control relationships.
Axis Camera Operationsβ
The AxisCameraController provides direct communication with Axis cameras through the VAPIXService:
| Endpoint | Method | Purpose |
|---|---|---|
/axiscamera/{deviceId}/status | GET | Query camera system status |
/axiscamera/{deviceId}/properties | GET | Get device info (model, firmware, serial) |
/axiscamera/{deviceId}/applications | GET | List installed ACAP applications |
/axiscamera/{deviceId}/overlay | POST | Set text/image overlay on camera feed |
/axiscamera/{deviceId}/overlay | DELETE | Remove overlay |
/axiscamera/{deviceId}/overlay/restore | POST | Restore default overlay |
Overlay Managementβ
Overlays are text or image annotations displayed on the camera feed. The API allows administrators to:
- Set overlay text (e.g., camera name, location)
- Upload overlay images
- Restore overlays after camera firmware updates
Frontend Camerasβ
The FrontEndCamerasController manages camera configurations that are exposed to the public-facing frontend application:
| Endpoint | Method | Purpose |
|---|---|---|
/frontendcameras | GET | List all cameras visible to the frontend |
/frontendcameras/{id} | GET | Get a single camera's public config |
/frontendcameras | PUT | Update frontend-visible properties |
This controller surfaces a subset of the full device configuration β only properties relevant to the frontend (name, location, thumbnail URL, online status).
User-Agency-Camera Relationshipsβ
The UserAgencyCameraController manages the three-way relationship between users, agencies, and cameras:
| Endpoint | Method | Purpose |
|---|---|---|
/useragencycamera/users | GET | List all users |
/useragencycamera/agencies | GET | List all agencies |
/useragencycamera/user/{userId}/cameras | GET | Get cameras a user can access |
/useragencycamera/agency/{agencyId}/cameras | GET | Get cameras assigned to an agency |
/useragencycamera/agency/{agencyId}/cameras | PUT | Assign cameras to an agency |
Access Flowβ
- Users belong to one or more agencies
- Agencies are granted access to specific cameras
- A user's effective camera access is the union of all their agency assignments
- This model supports scenarios like fire departments, law enforcement, and research institutions each seeing only their relevant cameras