---
title: "Complete a media upload"
method: POST
path: "/media/uploads/{media_id}/complete"
tags: ["Media upload"]
---

# Complete a media upload

`POST /media/uploads/{media_id}/complete`

Signifies that a media file has been uploaded to a previously-created upload URL and is ready to appear in "My Uploads"

## Path parameters

- `media_id` integer, required

## Request body

- object — An object containing the necessary information for media creation
  - `title` string, required — The title of the media.
  - `description` string — The description of the media.
  - `auto_caption` boolean — Whether to request auto-captioning for the media (false by default). This option is only available if auto-captioning is enabled for your account.

## Response `200`

The media object that was created.

- object
  - `media` Media
    - `id` integer
    - `title` string
    - `description` string
    - `duration` number
    - `created_at` string, date-time
    - `last_viewed` string, date
    - `last_viewed_by_student` string, date
    - `thumbnail_url` string
    - `transcoding_status` string
    - `owner` User
      - `id` integer
      - `full_name` string
      - `display_name` string
      - `email` string
    - `size` integer
    - `source` string
    - `embed_id` string
    - `lti_launch_id` string
    - `archived_at` string, date-time

## Other responses

- `400` — The title is missing
- `401` — Authorization information is missing or invalid.
- `403` — If a user without proper permissions tries to call this endpoint, the call is rejected with 403 Forbidden.
- `404` — The media was not found by ID.
- `409` — This upload has already been completed.
- `501` — Auto-captioning was requested but is not enabled for the account.

---

[API](https://skmtc.net/instructure/apis/studio-public-api.md) · [All operations](https://skmtc.net/instructure/apis/studio-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/instructure/studio-public-api/revisions/4838a5113869/schema)
