---
title: "Bulk upload files to a BULK_MATCH group"
method: POST
path: "/collect/sessions/{token}/submit/bulk"
tags: ["collect.sessions"]
---

# Bulk upload files to a BULK_MATCH group

`POST /collect/sessions/{token}/submit/bulk`

Uploads multiple files for a BULK_MATCH group. Files are stored without item assignment — server-side matching happens asynchronously.

## Path parameters

- `token` string, required — The session token

## Response `201`

Files uploaded successfully

- CollectBulkSubmission
  - `submissions` object[], required
    - `id` string, uuid, required
    - `status` string, required
    - `fileName` string, nullable, required
    - `fileSize` number, nullable, required
    - `fileMimeType` string, nullable, required
    - `createdAt` string, date-time, required

## Other responses

- `410` — Token has expired
- `422` — The validation error(s)
- `429` — Rate limit exceeded
- `500` — Internal server error

## Changes

- **2026-08-19** `80748f72965e` — 1 info
  - added the media type `application/json` for the response with the status `500`

[Change history](https://skmtc.dev/steuerboard/apis/steuerboard-api/changes/collect/sessions/:token/submit/bulk/post.md)

---

[API](https://skmtc.dev/steuerboard/apis/steuerboard-api.md) · [All operations](https://skmtc.dev/steuerboard/apis/steuerboard-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/steuerboard/steuerboard-api/revisions/80748f72965e/schema)
