---
title: "Get Camera Alarm Heat"
method: GET
path: "/cameras/{camera_id}/alarm-heat"
tags: ["cameras"]
---

# Get Camera Alarm Heat

`GET /cameras/{camera_id}/alarm-heat`

## Request

- Base URL: `https://api.verdun.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.verdun.ai/cameras/{camera_id}/alarm-heat`
- Auth: HTTP bearer

Where this camera's alarms came from over the last 7 days, as small
heat grids for the Masking zones editor. Same audience as editing masks
(configure_ignore_zones), within the caller's scope.

## Path parameters

- `camera_id` string, required

## Response `200`

Successful Response

- GetCameraAlarmHeatResponse
  - `camera_id` string, uuid, required: Camera row id.
  - `window_end` string, date-time, required: End of both windows (server clock).
  - `grid_w` integer, required: Grid width in cells.
  - `grid_h` integer, required: Grid height in cells.
  - `layers` AlarmHeatLayer[], required: One grid per window x source x object class (8).
    - `window` 'h24' | 'd7', required: Time window ending at window_end.
    - `source` 'queued' | 'all', required: 'queued' = alarms that reached the operator queue (same rule as events_queued on GET /logs/summary); 'all' = every motion event, including those the DeepAlert gate or the agent closed first.
    - `object_class` 'person' | 'vehicle', required: DeepAlert object class.
    - `cells` array[], required: Sparse [cell_index, weight] pairs over a grid_w x grid_h grid (row-major, cell_index = y * grid_w + x) in the zone editor's stretched frame. Each moving object adds about 1 in total; boxes that sit still for the whole alarm (parked cars) are left out.
      - number[]
  - `summaries` AlarmHeatSummary[], required: Alarm counts per window x source (4).
    - `window` 'h24' | 'd7', required: Time window ending at window_end.
    - `source` 'queued' | 'all', required: Same meaning as on a layer.
    - `alarms` integer, required: Events in this window and source.
    - `alarms_with_people` integer, required: Of those, how many had at least one moving person box.
    - `alarms_with_vehicles` integer, required: Of those, how many had at least one moving vehicle box.
    - `alarms_with_objects` integer, required: Of those, how many had at least one moving box of either class.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/verdun/apis/verdun-api.md) - [All operations](https://skmtc.dev/verdun/apis/verdun-api/llms.txt) - [OpenAPI document](https://skmtc.dev/verdun/apis/verdun-api/revisions/35a2a6ebedda?raw)
