---
title: "Create delivery file upload URL"
method: POST
path: "/products/delivery/upload-url"
tags: ["Products"]
---

# Create delivery file upload URL

`POST /products/delivery/upload-url`

Returns a presigned URL to upload a distributable file. PUT the file bytes to uploadUrl, then attach publicUrl to a product.

## Request body

- object
  - `filename` string, required
  - `contentType` string, required
  - `fileSizeBytes` integer, required

## Response `200`

Upload URL created

- object
  - `success` boolean
  - `uploadUrl` string
  - `publicUrl` string
  - `fileName` string

## Other responses

- `400` — Unsupported file type or size
- `401` — Unauthorized
- `503` — Uploads not configured

## Changes

> 121 revisions in range; 10 could not be searched.

- **2026-08-16** `6fd2903b91ce` — 3 info
  - added the optional property `code` to the response with the `400` status
  - added the optional property `code` to the response with the `401` status
  - added the optional property `code` to the response with the `503` status
- **2026-08-02** `36f92fc0caa2` — 3 breaking
  - the response property `success` became optional for the status `400`
  - the response property `success` became optional for the status `401`
  - the response property `success` became optional for the status `503`
- **2026-06-11** `ad2d3114269a` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/sequenzy/apis/sequenzy-api/changes/products/delivery/upload-url/post.md)

---

[API](https://skmtc.dev/sequenzy/apis/sequenzy-api.md) · [All operations](https://skmtc.dev/sequenzy/apis/sequenzy-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sequenzy/sequenzy-api/revisions/73f826277d9a/schema)
