> For the complete documentation index, see [llms.txt](https://posetracker.gitbook.io/posetracker-api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://posetracker.gitbook.io/posetracker-api/use-posetracker-on-uploaded-files/upload-tracking-endpoint-video-and-image/query-parameters.md).

# Query parameters

Base URL:

```
https://app.posetracker.com/pose_tracker/upload_tracking
```

Upload Tracking uses the **same engine** as real-time tracking.

Full reference:

* **Shared query parameters (Tracking + Upload Tracking)**

***

### Required

#### `token` (required)

See **token** in the shared reference.

#### <mark style="color:$danger;">`isAndroid`</mark> <mark style="color:$danger;">(required for Android App)</mark>

* Type: boolean
* For android app use ?isAndroid=true

#### `source` (optional)

* **Type:** `"video" | "image"`
* **Default:** `"video"`

***

### Repetition filtering (video only, repetition exercises)

#### `minGrade` (optional)

* **Type:** `string`
* **Allowed values:** `A`, `B`, `C`, `D` (case-insensitive)
* **Description:** Only count repetitions that meet at least this grade.
* **Applies to:** repetition exercises only
* **Ignored by:** duration exercises and custom exercises; ignored for `source=image`

Example:

```
https://app.posetracker.com/pose_tracker/upload_tracking?token=YOUR_API_KEY&source=video&exercise=squat&minGrade=B
```

> Grades are sent inside the `counter` event as `counter.form_score`.

***

### Optional media URL inputs

(unchanged: `videoSrc`, `imageSrc`, CORS requirements)

***

### Shared parameters (video only)

Shared parameters for video mode include: `exercise`, `reference`, `difficulty`, `skeleton`, `keypoints`, `angles`, `progression`, `recommendations`, `blazepose`, `poseBackend`, `runInWorker`.

Use `exercise=...` for built-in PoseTracker movements. Use `reference=REFERENCE_UUID` for custom reference-based tracking.

⚠️ `exercise` and `reference` cannot be used together.

***

### Export (video only, plan-gated)

(unchanged: `export=true` emits `export_ready`)

***

### Notes by mode

#### `source=video`

Emits `counter` per counted rep.

Depending on the selected tracking mode:

* built-in exercise tracking may return `form_score`
* reference-based tracking may return `reference_score`

At the end of video analysis, Upload Tracking also emits a final `counter` with `final=true`. When using `reference`, it may also emit an `exercise_summary` event with aggregate similarity data.

For custom movement tracking, see `reference` in [PoseTracker API query parameters](/posetracker-api/posetracker-api-query-parameters.md) and [REFERENCE](/posetracker-api/use-posetracker-on-real-time-camera-webcam/query-params-details/reference.md).

#### `source=image`

No movement counting. Emits overlay/keypoints/angles messages depending on parameters.
