---
title: "Upload PDF files for broker submission"
method: POST
path: "/api/broker_submissions/{submission_heron_id}/files"
tags: ["BrokerSubmissions"]
---

# Upload PDF files for broker submission

`POST /api/broker_submissions/{submission_heron_id}/files`

## Request

- Base URL: `https://app.herondata.io`
- URL: `https://app.herondata.io/api/broker_submissions/{submission_heron_id}/files`
- Auth: API key in header `x-api-key`

Upload one or more PDF files for a specified broker submission.
Authenticate by passing a broker API key in the `x-api-key` header. Generate keys via the `/api/broker_submissions/api_keys/generate` endpoint.

## Path parameters

- `submission_heron_id` string, required

## Request body `multipart/form-data`

- object
  - `downstream_processing` boolean: (Optional) Whether to trigger downstream processing (classification, parsing, Flowmingo workflow start, etc.) after the files are uploaded. Defaults to true to preserve existing behaviour. Set to false to upload files without triggering downstream processing — useful when uploading multiple files in sequence and you only want the workflow to start after the final upload.
  - `file_class` string: (Optional) The type of document being uploaded. Applies to all files in this request. If omitted, Heron's file classifier will automatically determine the file type. Common values: bank_statement, iso_application_form, debt_summary, void_check, invoice, pnl_statement, balance_sheet, tax_return.
  - `files` string[], required: Array of PDF files to upload.

## Response `201`

All files uploaded successfully

- object[]
  - `file` string: Name of the uploaded file
  - `status` 'uploaded': Status of the file upload

## Other responses

- `207`: Partial success - some files uploaded, others failed
- `400`: All files failed validation or upload, or no files attached
- `401`: Missing or invalid API key
- `404`: Broker submission not found, or does not belong to the authenticated broker
- `422`: Request payload failed validation (e.g. invalid file_class, file too large, wrong mime type, too few or too many files)

---

[API](https://skmtc.dev/herondata/apis/heron-data-api.md) - [All operations](https://skmtc.dev/herondata/apis/heron-data-api/llms.txt) - [OpenAPI document](https://skmtc.dev/herondata/apis/heron-data-api/revisions/1ec936e17fef?raw)
