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

# Prepare Upload

`POST /v1/design-uploads`

## Request

- Base URL: `https://api.rmfg.com`
- URL: `https://api.rmfg.com/v1/design-uploads`
- Auth: HTTP bearer

## 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

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

---

[API](https://skmtc.dev/rmfg/apis/rmfg-manufacturing-api.md) - [All operations](https://skmtc.dev/rmfg/apis/rmfg-manufacturing-api/llms.txt) - [OpenAPI document](https://skmtc.dev/rmfg/apis/rmfg-manufacturing-api/revisions/078f984358b9?raw)
