---
title: "Complete Video Upload"
method: POST
path: "/analysis/videos/{video_id}/complete"
tags: ["analysis"]
---

# Complete Video Upload

`POST /analysis/videos/{video_id}/complete`

## Request

- Base URL: `https://api.getathly.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getathly.com/analysis/videos/{video_id}/complete`
- Auth: HTTP bearer

## Path parameters

- `video_id` string, uuid, required

## Request body

- AnalysisVideoUploadCompleteRequest
  - `athlete_slug` string, required

## Response `200`

Successful Response

- AnalysisVideoResponse
  - `id` string, required
  - `user_id` string, required
  - `athlete_id` string, required
  - `storage_bucket` string, required
  - `storage_path` string, required
  - `original_filename` string, required
  - `mime_type` string, required
  - `size_bytes` integer, required
  - `upload_status` string, required
  - `upload_error` string, nullable
  - `metadata` object
  - `created_at` string, required
  - `updated_at` string, required
  - `playback_url` string, nullable
  - `signed_upload_url` string, nullable
  - `upload_token` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/getathly/apis/athly-api.md) - [All operations](https://skmtc.dev/getathly/apis/athly-api/llms.txt) - [OpenAPI document](https://skmtc.dev/getathly/apis/athly-api/revisions/6adfdc258d75?raw)
