---
title: "Prepare Upload"
method: POST
path: "/v1/design-uploads"
tags: ["Design uploads"]
---

# Prepare Upload

`POST /v1/design-uploads`

## Headers

- `Idempotency-Key` string, required

## Request body

- V1DesignUploadRequest — Create a short-lived, owner-bound upload capability for one STEP file.
  - `filename` string, required — STEP/STP basename, without directories.
  - `size_bytes` integer, nullable
  - `sha256` string, nullable

## Response `201`

Successful Response

- unknown

## Other responses

- `400` — Malformed request.
- `401` — Missing or invalid credentials.
- `403` — The credentials do not permit this operation.
- `404` — The resource does not exist or is not visible to the caller.
- `409` — The resource is not ready, or Idempotency-Key was reused with a different request.
- `413` — The uploaded file exceeds the size limit.
- `415` — Unsupported Content-Type.
- `422` — Validation failed; see `error.param` and `error.details`.
- `429` — Rate limit exceeded; retry after the `Retry-After` header.
- `500` — Unexpected failure; safe to retry with the same Idempotency-Key.
- `503` — A dependency is temporarily unavailable; retry later.

## Changes

- **2026-09-07** `35a1cd3bea64` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/rmfg/apis/fastapi/changes/v1/design-uploads/post.md)

---

[API](https://skmtc.dev/rmfg/apis/fastapi.md) · [All operations](https://skmtc.dev/rmfg/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc.dev/rmfg/apis/fastapi/revisions/737527fc081e?raw)
