---
title: "Get an audit upload URL"
method: POST
path: "/audit/uploads"
tags: ["Audit"]
---

# Get an audit upload URL

`POST /audit/uploads`

## Request

- Base URL: `https://api.tarifflo.com/api/v2`
- URL: `https://api.tarifflo.com/api/v2/audit/uploads`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

A presigned PUT URL for one document. PUT the bytes, then start a run with the returned `fileId`.

Requires the API key scope `audit`.

## Request body

- object
  - `filename` string, required: PDF, Excel, Word, CSV or an image; the type is checked again from the bytes.
  - `mimeType` string, required

## Response `200`

Successful response

- object
  - `fileId` string, required: Pass it in `fileIds` when starting the run.
  - `uploadUrl` string, required: PUT the file's bytes here, with the declared `mimeType` as Content-Type.
  - `expiresInSeconds` 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)
