Recovery & Exercise Catalog APIs
High-level reference for endpoints added for recovery content, exercise/video filtering by muscle group or equipment, and instructional videos on reference data.
All paths are under /api/v1.
Feature flags
Enable these on the partner (client) in Admin → Partners → Enabled Features:
Admin routes use admin JWT auth (collection may still show X-API-Key for legacy tooling).
Client APIs
Exercise catalog (workout_builder)
Auth: X-API-Key + workout_builder enabled.
Recovery videos (recovery_videos)
Auth: X-API-Key + recovery_videos enabled.
Studio player (device token)
Recovery kiosk mode (config.mode = "recovery"). Requires studio_player + recovery_videos.
Partner portal mode options: Classes (browse), Live, Scheduled (ondemand), Recovery. Recovery mode is shown when the partner has recovery_videos enabled.
Partner picker helpers: GET /studio-body-parts, GET /studio-equipment (under partner studio routes).
Admin APIs
Recovery videos
CSV multi-value fields use pipe | (or comma) for bodyParts / equipment titles.
Exercises (filter extensions)
Reference data — instructional video + CSV
Body parts and equipment now accept optional video (instructional clip) on create/update.
Per-resource export/import:
Import body shape: { "rows": [ { ...fields } ] }. Upsert by id when present.
CSV columns:
Data model (recovery)
recovery_videos
├── recovery_video_body_parts → body_parts (many)
└── recovery_video_equipment → equipment (many)
Body parts / equipment also store optional video for standalone instructional media (surfaced via /exercises/instructional-videos).
Postman
Updated collections (repo root):
FytOS_Admin_API.postman_collection.json— Recovery folder, reference export/import, exercise filtersFytOS_Client_API.postman_collection.json— Exercise Catalog + Recovery Videos folders
(synced copy:apps/docs/FytOS_Client_API.postman_collection.json)
Re-import those files into Postman to pick up the new requests.