List Workspace Photos
GET/api/v1/devices/photos
List workspace-wide photos with renderable GPS coords (Phase 122-01).
Returns the newest limit photos (max 500) whose captured_at is in
[from, to] across all workspace devices the requester can see. Photos
whose coordinate resolution returns null are excluded (D-05) — only
renderable photos cross the wire for the dashboard map layer.
Role scoping (D-04 / v1.20 D-09):
- field_worker: only own device's photos
- manager/owner: all workspace devices
Cross-workspace device_ids are silently filtered out (no information
leak via differential 403). Over 50 device_ids returns 400
TOO_MANY_DEVICE_IDS to bound query parameter abuse.
Coexists with GET /devices/{uuid}/sessions/{sid}/photos which is preserved unchanged (Phase 120-04). The two endpoints have intentionally different null-coord semantics: per-session keeps null-coord rows (still listed in the session detail panel), workspace-wide drops them (can't render).
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 422
OK
Bad Request
Unauthorized
Forbidden
Not Found
Validation Error