Search Public Exercises
Changed onHybrid 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.
Request
- Base URL: https://api.excellence-ai.com (the document declares no server; this is the origin it was published from)
- URL: https://api.excellence-ai.com/public-exercises/search
- Auth: OAuth 2 (password, token URL api/login)
Query parameters
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.
Exact-match filter on difficulty (easy/medium/hard).
Exact-match filter on type.
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).
Max number of results.
Response
Successful Response
Changes
- warning
added the new
lacordaireenum value to the/response property for the response status
- warning
- info
added the optional property
/to the response with the status
- info