---
title: "Upload file (multipart), returns public URL for block props"
method: POST
path: "/api/v1/media/upload"
tags: ["media"]
---

# Upload file (multipart), returns public URL for block props

`POST /api/v1/media/upload`

## Request

- Base URL: `https://slatehut.com`
- URL: `https://slatehut.com/api/v1/media/upload`
- Auth: HTTP bearer

Multipart form field `file`. Max size matches dashboard uploads (4 MB). Use the `url` in hero, gallery, navbar, imageText, etc.

## Response `200`

Public blob URL

- object
  - `url` string, uri, required
  - `pathname` string

## Other responses

- `400`: Validation or conflict error
- `401`: Missing or invalid credentials
- `503`: Validation or conflict error

---

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