---
title: "Add files to an upload: one signed PUT URL per file"
method: POST
path: "/sort-sessions/{sortSessionId}/files"
tags: ["Uploads"]
---

# Add files to an upload: one signed PUT URL per file

`POST /sort-sessions/{sortSessionId}/files`

## Request

- Base URL: `https://api.tarifflo.com/api/v2`
- URL: `https://api.tarifflo.com/api/v2/sort-sessions/{sortSessionId}/files`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Requires the API key scope `filing`.

## Path parameters

- `sortSessionId` string, required

## Request body

- object
  - `entrySessionId` string, nullable
  - `files` object[], required
    - `filename` string, required
    - `mimeType` string, required
    - `size` integer, required
    - `path` string[]
    - `contentHash` string
    - `declaredDoctype` 'product_sheet'

## Response `200`

Successful response

- object
  - `results` object[], required
    - `packetId` string, required
    - `signedUrl` string, nullable, required
    - `filename` string, required
    - `path` string[], required
    - `reused` boolean, required
    - `entryAttachment` 'attached' | 'already_on_entry' | 'in_sort_run', nullable, required
  - `minted` number, required
  - `reused` number, required
  - `attributed` number, required

## Other responses

- `400`: Invalid input data
- `401`: Authorization not provided
- `403`: Insufficient access
- `500`: Internal server error

---

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