Skip to main content
This is the canonical exercise list for both integrations.
  • WebView: ?exercise=push_upquery parameters
  • SDK: startExercise('push_up') after a successful apiToken handshake
Without a key, the SDK stays on keypoints only. The WebView tracking URL always needs token=. After the SDK handshake, prefer the live list:
Plan gating can hide premium ids. Unknown id → invalid_exercise.

Start / stop (SDK)

StartExerciseOptions

Catalog

Use these ids on the WebView (exercise=) and in startExercise().

Strength and cardio

Mobility and wellness

Jumps (custom)

Shipped in the engine bundle, not only the movement list. Missing height on jump_analysisjump_analysis_missing_height. Session: placement (onPosture) → countdown → measuring.

Other aliases

Events during an exercise

Always (not feature-flagged): counter / onCounter (count + form grade A–F), posture, exercise_summary on stop. Paid opt-in: angles, progression, keypoints during the session, recommendations (not sent for every exercise). See Features & plans and Events.
For LLMs: Same exercise ids on WebView (?exercise=) and SDK (startExercise). Jumps: jump_analysis needs userHeightCm. Aliases face_* and jumpair_time_jump. https://docs.posetracker.com/reference/exercises
Last modified on September 14, 2026