Search Public Exercises
Hybrid vector + keyword search over public_exercises.
The search core (embed → vector KNN → keyword regex → RRF merge → hydrate
- gate) lives in services/exercise_library_search.py, shared with the chat tool search_exercise_library.
The response shape mirrors GET /public-exercises so callers can reuse the existing PublicExerciseOut type.
Query parameters
Free-text search query.
Free-text search query.
Prefix filter on category_path (repeat the query param per segment). Results are post-filtered to rows whose category_path starts with these segments.
Prefix filter on category_path (repeat the query param per segment). Results are post-filtered to rows whose category_path starts with these segments.
Exact-match filter on difficulty (easy/medium/hard).
Exact-match filter on difficulty (easy/medium/hard).
Exact-match filter on type.
Exact-match filter on type.
Admin-only library override. Non-admin callers stay gated by library_filter_for(user) regardless of this param.
Admin-only library override. Non-admin callers stay gated by library_filter_for(user) regardless of this param.
Scope search to a matière (see list endpoint).
Scope search to a matière (see list endpoint).
Max number of results.
Max number of results.
Response
Successful Response
Changes
No recorded changes to this endpoint across all 3 revisions of this API.