diff --git a/server/api/routes/annotations.py b/server/api/routes/annotations.py
index 01c527d6716e871b533ec495261460cb791f5c95..f4385931f784cfa490c1ed1d774b6c52cf760c3c 100644
--- a/server/api/routes/annotations.py
+++ b/server/api/routes/annotations.py
@@ -73,6 +73,7 @@ from nacsos_data.util.annotations.validation import (
 )
 from nacsos_data.util.annotations.assignments.random import random_assignments
 from nacsos_data.util.annotations.assignments.random_exclusion import random_assignments_with_exclusion
+from nacsos_data.util.annotations.assignments.random_nql import random_assignments_with_nql
 
 from server.api.errors import (
     SaveFailedError,
@@ -389,6 +390,17 @@ async def make_assignments(payload: MakeAssignmentsRequestModel,
         except ValueError as e:
             raise HTTPException(status_code=http_status.HTTP_400_BAD_REQUEST,
                                 detail=str(e))
+    elif payload.config.config_type == 'random_nql':
+        try:
+            assignments = await random_assignments_with_nql(
+                assignment_scope_id=payload.scope_id,
+                annotation_scheme_id=payload.annotation_scheme_id,
+                project_id=permissions.permissions.project_id,
+                config=payload.config,  # type: ignore[arg-type] # FIXME
+                engine=db_engine)
+        except ValueError as e:
+            raise HTTPException(status_code=http_status.HTTP_400_BAD_REQUEST,
+                                detail=str(e))
     else:
         raise HTTPException(status_code=http_status.HTTP_501_NOT_IMPLEMENTED,
                             detail=f'Method "{payload.config.config_type}" is unknown.')