---
title: "Complete Video Upload"
method: POST
path: "/api/available/video/{task_uid}/complete"
tags: ["upload"]
---

# Complete Video Upload

`POST /api/available/video/{task_uid}/complete`

## Request

- Base URL: `https://api.ncspeech.org` (the document declares no server; this is the origin it was published from)
- URL: `https://api.ncspeech.org/api/available/video/{task_uid}/complete`
- Auth: HTTP bearer

Close the attempt after the client's direct-to-GCS PUT.

A file over the task's cap, by the reported size or by what GCS holds, is
refused with 413 and the attempt closes with its object. Otherwise verifies
the object exists with exactly the reported size (422 otherwise — the
attempt stays open, the client may re-PUT and retry with the same token),
then does what the multipart endpoint does after it has the bytes:
progress → Pending, `video_uploads` row, websocket notice, GCS provenance
metadata, worker dispatch. The response has the multipart endpoint's shape.

## Path parameters

- `task_uid` string, required

## Headers

- `X-Video-Complete-Token` string, nullable
- `X-Test-UID` string, nullable

## Request body

- VideoCompletePayload: What landed. `sizeBytes` is the client's count of the bytes it PUT — /complete demands that GCS holds exactly that many.
  - `sizeBytes` integer, required
  - `durationSeconds` number, nullable
  - `gps` string, nullable
  - `captureMeta` string, nullable

## Response `200`

Successful Response

- MediaStubUploadResponse
  - `message` string, required
  - `contentType` string, nullable, required
  - `sizeBytes` integer, required
  - `taskUid` string, nullable
  - `taskStatus` string, nullable
  - `openPalm` boolean, nullable
  - `gpsCoordinates` unknown[], nullable
    - unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/ncspeech/apis/advanced-data-collector-api.md) - [All operations](https://skmtc.dev/ncspeech/apis/advanced-data-collector-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ncspeech/apis/advanced-data-collector-api/revisions/fec602f8df8c?raw)
