---
title: "Prepare an actor-bound, expiring raster upload for a Draft or Brainstorming Review."
method: POST
path: "/api/v1/draft-reviews/assets/prepare"
tags: ["Draft reviews"]
---

# Prepare an actor-bound, expiring raster upload for a Draft or Brainstorming Review.

`POST /api/v1/draft-reviews/assets/prepare`

## Request

- Base URL: `https://commentary.dev`
- URL: `https://commentary.dev/api/v1/draft-reviews/assets/prepare`
- Auth: HTTP bearer

## Headers

- `X-Commentary-Workspace-Id` string
- `X-Correlation-Id` string

## Request body

- DraftAssetUploadPrepareRequest
  - `path` string, required
  - `mimeType` 'image/png' | 'image/jpeg' | 'image/webp' | 'image/avif', required
  - `byteLength` integer, required
  - `sha256` string, required

## Response `201`

Successful response.

- object
  - `ok` unknown
  - `uploadId` string
  - `uploadUrl` string, uri
  - `expiresAt` string, date-time

## Other responses

- `400`: The request was invalid.
- `401`: Authentication is required.
- `403`: The token or session does not have permission for this resource.
- `404`: The resource was not found.
- `429`: The request was rate limited.

---

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