---
title: "Register uploaded email image"
method: POST
path: "/media/complete-upload"
tags: ["Media"]
---

# Register uploaded email image

`POST /media/complete-upload`

Idempotently registers a completed company-scoped image upload in the shared media library and returns its hosted URL.

## Request body

- object
  - `key` string, required
  - `filename` string, required
  - `contentType` string, required
  - `fileSizeBytes` integer, required
  - `width` integer
  - `height` integer
  - `altText` string, required

## Response `200`

Image registered

- object
  - `success` boolean
  - `asset` object
    - `id` string
    - `filename` string
    - `url` string
    - `mimeType` string
    - `size` string
    - `width` string, nullable
    - `height` string, nullable
    - `altText` string, nullable
    - `companyId` string
    - `createdAt` string, date-time

## Other responses

- `400` — Invalid or cross-company upload
- `401` — Unauthorized
- `409` — Image changed while completion was verifying it
- `503` — Uploads not configured

---

[API](https://skmtc.net/sequenzy/apis/sequenzy-api.md) · [All operations](https://skmtc.net/sequenzy/apis/sequenzy-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sequenzy/sequenzy-api/versions/af1cf9620482/schema)
