diff --git a/docs/docs/integrations/api.md b/docs/docs/integrations/api.md index 515f7495a..af2f1fe24 100644 --- a/docs/docs/integrations/api.md +++ b/docs/docs/integrations/api.md @@ -155,20 +155,22 @@ Version info Events from the database. Accepts the following query string parameters: -| param | Type | Description | -| -------------------- | ---- | ----------------------------------------------- | -| `before` | int | Epoch time | -| `after` | int | Epoch time | -| `cameras` | str | , separated list of cameras | -| `labels` | str | , separated list of labels | -| `zones` | str | , separated list of zones | -| `limit` | int | Limit the number of events returned | -| `has_snapshot` | int | Filter to events that have snapshots (0 or 1) | -| `has_clip` | int | Filter to events that have clips (0 or 1) | -| `include_thumbnails` | int | Include thumbnails in the response (0 or 1) | -| `in_progress` | int | Limit to events in progress (0 or 1) | -| `time_range` | str | Time range in format after,before (00:00,24:00) | -| `timezone` | str | Timezone to use for time range | +| param | Type | Description | +| -------------------- | ----- | ----------------------------------------------- | +| `before` | int | Epoch time | +| `after` | int | Epoch time | +| `cameras` | str | , separated list of cameras | +| `labels` | str | , separated list of labels | +| `zones` | str | , separated list of zones | +| `limit` | int | Limit the number of events returned | +| `has_snapshot` | int | Filter to events that have snapshots (0 or 1) | +| `has_clip` | int | Filter to events that have clips (0 or 1) | +| `include_thumbnails` | int | Include thumbnails in the response (0 or 1) | +| `in_progress` | int | Limit to events in progress (0 or 1) | +| `time_range` | str | Time range in format after,before (00:00,24:00) | +| `timezone` | str | Timezone to use for time range | +| `min_score` | float | Minimum score of the event | +| `max_score` | float | Maximum score of the event | ### `GET /api/timeline` diff --git a/frigate/http.py b/frigate/http.py index acb2eaf12..acfeb0a85 100644 --- a/frigate/http.py +++ b/frigate/http.py @@ -777,6 +777,8 @@ def events(): in_progress = request.args.get("in_progress", type=int) include_thumbnails = request.args.get("include_thumbnails", default=1, type=int) favorites = request.args.get("favorites", type=int) + min_score = request.args.get("min_score", type=float) + max_score = request.args.get("max_score", type=float) clauses = [] @@ -899,6 +901,12 @@ def events(): if favorites: clauses.append((Event.retain_indefinitely == favorites)) + if max_score is not None: + clauses.append((Event.data["score"] <= max_score)) + + if min_score is not None: + clauses.append((Event.data["score"] >= min_score)) + if len(clauses) == 0: clauses.append((True))