---
title: "Get a presigned upload URL"
method: POST
path: "/upload"
tags: ["Upload"]
---

# Get a presigned upload URL

`POST /upload`

## Request

- Base URL: `https://demarker.io/api/v1`
- URL: `https://demarker.io/api/v1/upload`
- Auth: HTTP bearer

Returns a URL valid for 15 minutes. PUT the image with the returned Content-Type, then call /identify with the uploadKey. A key works once and only for the account that requested it.

## Request body

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

## Response `200`

OK

- object
  - `uploadUrl` string
  - `uploadKey` string
  - `expiresAt` string, date-time
  - `maxFileSizeBytes` integer
  - `contentType` string

## Other responses

- `default`: Error

---

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