Don't return API errors for unknown search parameter keys
This is not a failure condition. Errors will still be returned for invalid search parameters values.
diff --git a/tests/handlers/test_samples.py b/tests/handlers/test_samples.py
index 48b5bc260..aad6a8f4e 100644
--- a/tests/handlers/test_samples.py
+++ b/tests/handlers/test_samples.py
@@ -178,12 +178,15 @@ class TestFind:
     async def test_invalid_query(self, spawn_client, resp_is):
         client = await spawn_client()
 
-        resp = await client.get("/api/samples?per_pag=12")
+        resp = await client.get("/api/samples?per_page=five")
 
         assert resp.status == 422
 
         assert await resp_is.invalid_query(resp, {
-            "per_pag": ["unknown field"]
+                'per_page': [
+                    "field 'per_page' cannot be coerced: invalid literal for int() with base 10: 'five'",
+                    'must be of integer type'
+                ]
         })
 
 
diff --git a/virtool/handlers/samples.py b/virtool/handlers/samples.py
index 5681e8fec..5bf0dec00 100644
--- a/virtool/handlers/samples.py
+++ b/virtool/handlers/samples.py
@@ -21,7 +21,7 @@ async def find(req):
         "find": {"type": "string", "default": "", "coerce": str},
         "page": {"type": "integer", "coerce": int, "default": 1, "min": 1},
         "per_page": {"type": "integer", "coerce": int, "default": 15, "min": 1, "max": 100}
-    })
+    }, allow_unknown=True)
 
     if not v(dict(req.query)):
         return invalid_query(v.errors)
['virtool/handlers/samples.py', 'tests/handlers/test_samples.py']