---
title: "Complete upload"
method: POST
path: "/uploads/{upload_id}/complete"
tags: ["uploads"]
---

# Complete upload

`POST /uploads/{upload_id}/complete`

## Request

- Base URL: `https://www.socialfaktory.com/v1`
- URL: `https://www.socialfaktory.com/v1/uploads/{upload_id}/complete`
- Auth: HTTP bearer

Tell the service the bytes are in place and start the ingest. Safe to call again: the ticket is claimed once, so a repeat reports progress rather than ingesting twice.

## Path parameters

- `upload_id` string, required

## Response `200`

Complete upload

- object
  - `upload_id` string, required
  - `status` string, required
  - `error_code` string, nullable
  - `error_message` string, nullable
  - `editor_asset` object, nullable
    - `id` string
    - `kind` string
    - `duration_ms` integer, nullable
    - `width` integer, nullable
    - `height` integer, nullable
    - `mime_type` string, nullable
    - `byte_size` integer, nullable
    - `thumbnail_url` string, nullable
  - `video_reference` object, nullable
    - `id` string
    - `source_url` string
  - `actor` object, nullable
    - `id` string
    - `name` string
    - `portrait_url` string, nullable

## Other responses

- `default`: The error envelope

---

[API](https://skmtc.dev/socialfaktory/apis/socialfaktory-api.md) · [All operations](https://skmtc.dev/socialfaktory/apis/socialfaktory-api/llms.txt) · [OpenAPI document](https://skmtc.dev/socialfaktory/apis/socialfaktory-api/revisions/aa1714ae1ba4?raw)
