diff --git a/src/dispatch/search_filter/views.py b/src/dispatch/search_filter/views.py
index 73e536e8e030..4da5553f147b 100644
--- a/src/dispatch/search_filter/views.py
+++ b/src/dispatch/search_filter/views.py
@@ -28,6 +28,21 @@ def get_filters(common: CommonParameters):
return search_filter_sort_paginate(model="SearchFilter", **common)
+@router.get("/{search_filter_id}", response_model=SearchFilterRead)
+def get_search_filter(
+ db_session: DbSession,
+ search_filter_id: PrimaryKey,
+):
+ """Get a search filter by id."""
+ search_filter = get(db_session=db_session, search_filter_id=search_filter_id)
+ if not search_filter:
+ raise HTTPException(
+ status_code=status.HTTP_404_NOT_FOUND,
+ detail=[{"msg": "A search filter with this id does not exist."}],
+ )
+ return search_filter
+
+
@router.post("", response_model=SearchFilterRead)
def create_search_filter(
db_session: DbSession,
diff --git a/src/dispatch/static/dispatch/src/search/EditDialog.vue b/src/dispatch/static/dispatch/src/search/EditDialog.vue
index 95c7d224d249..2d9c8a4a103f 100644
--- a/src/dispatch/static/dispatch/src/search/EditDialog.vue
+++ b/src/dispatch/static/dispatch/src/search/EditDialog.vue
@@ -81,7 +81,20 @@