---
title: "Create presigned upload URL"
method: POST
path: "/v2/media/uploads"
tags: ["publishing"]
---

# Create presigned upload URL

`POST /v2/media/uploads`

Creates a presigned URL for direct file upload. Use this when you have a local file to upload rather than a publicly accessible URL. The returned `presignedUrl` accepts a PUT request with the file body, and `publicUrl` is the final media URL to use when publishing a post.

## Request body

- object
  - `filename` string, required — The filename including extension, used to determine content type.

## Response `201`

Default Response

- object
  - `presignedUrl` string, required — URL to PUT the file to. Expires after a short period.
  - `publicUrl` string, required — The final public URL of the uploaded media, to be used when creating a post.

## Other responses

- `403` — Forbidden
- `500` — Default Response

---

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