Skip to main content
This is the canonical exercise list for both integrations.
  • WebView: ?exercise=push_up — query 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

Physical tests

These ids count like any other exercise, and each counted rep also includes an analysis object. Field list and the first test: Physical tests.

Jumps (custom)

Shipped in the engine bundle, not only the movement list. Missing height on jump_analysis → jump_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. Physical tests also set analysis on that counter — Physical tests. 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 jump → air_time_jump. Physical tests (back_flexibility_test) add analysis on the counter. https://docs.posetracker.com/reference/exercises
Last modified on September 22, 2026