---
title: "Upload a file for an order requirement"
method: POST
path: "/trading/orders/{orderId}/requirement/file"
tags: ["Trading"]
---

# Upload a file for an order requirement

`POST /trading/orders/{orderId}/requirement/file`

## Request

- Base URL: `https://api.fireblocks.io/v1`
- URL: `https://api.fireblocks.io/v1/trading/orders/{orderId}/requirement/file`
- Auth: none declared
- TypeScript: <https://skmtc.dev/fireblocks/apis/fireblocks-api/docs/trading/orders/:orderId/requirement/file/post.ts> (a function with typed inputs; its response is checked against the schema)

Upload a single file (multipart/form-data) in response to an order requirement on an order that is in
`AWAITING_INFORMATION` status. Call this endpoint once per required file.

Send `fileKey` (matching a `fileKey` from `requiredFiles` on the GET response) and the binary `file`. Its type
must be one of the supported file formats. Fireblocks encrypts each file and uploads it individually to the
underlying provider. The textual response is submitted separately via
`POST /trading/orders/{orderId}/requirement/data`.

Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, Editor.

For detailed information about error codes and troubleshooting, please refer to our [API Error Codes documentation](https://developers.fireblocks.com/reference/api-error-codes).

## Path parameters

- `orderId` string, required

## Headers

- `Idempotency-Key` string

## Request body `multipart/form-data`

- OrderRequirementFileUpload: Multipart body of POST /trading/orders/{orderId}/requirement/file. Uploads a single file as part of an order requirement response. Fireblocks encrypts and uploads each file individually to the underlying provider.
  - `fileKey` string, required: Identifier of the required file this upload satisfies. Must match a `fileKey` from `requiredFiles` on the GET response.
  - `file` string, binary, required: The binary file content. The file's type must be one of the supported OrderRequirementAllowedFileType values; the file name and type are derived from the uploaded part.

## Response `202`

File accepted for processing.

## Other responses

- `400`: Bad request: unsupported file type, missing fileKey, malformed request, or validation failure.
- `401`: Unauthorized. Missing / invalid JWT token in Authorization header.
- `403`: Forbidden: insufficient permissions, disabled feature, or restricted access.
- `404`: Not found: the order does not exist.
- `409`: Conflict: the order exists but does not have an active order requirement (e.g., the order is not in `AWAITING_INFORMATION`).
- `429`: Rate limit exceeded: slow down and retry later.
- `5XX`: Internal error while processing the request.
- `default`: Error Response

---

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