---
title: "Get presigned upload URL"
method: POST
path: "/v1/disputes/{disputeId}/files/presigned-upload-url"
tags: ["Disputes", "Internal"]
---

# Get presigned upload URL

`POST /v1/disputes/{disputeId}/files/presigned-upload-url`

## Request

- Base URL: `https://api.sandbox.eu.ppro.com`
- URL: `https://api.sandbox.eu.ppro.com/v1/disputes/{disputeId}/files/presigned-upload-url`
- Auth: none declared

Use this endpoint to generate a presigned URL for uploading a file to a dispute as a merchant or provider.

## Path parameters

- `disputeId` string, required

## Headers

- `Request-Reference` string

## Request body

- PreSignedUploadRequest: Request to generate a one-time pre-signed upload URL
  - `checksum` string, required: Base64-encoded MD5 checksum of the file content
  - `contentLength` integer, required: Exact file size in bytes; the upload body must match this length
  - `name` string, required: Original filename to use when downloading the file. Deprecated alias: `fileName`.
  - `contentType` string, required: MIME type of the file; the upload must include the same Content-Type header
  - `sender` 'MERCHANT' | 'PROVIDER': Party uploading the file. Defaults to MERCHANT when omitted. Allowed values: MERCHANT, PROVIDER.

## Response `200`

Presigned upload URL generated successfully

- PreSignedUrlResponse
  - `fileKey` string
  - `preSignedUrl` string
  - `expiresAt` string, date-time
  - `fileId` string

## Other responses

- `400`: Bad Request
- `404`: Not found
- `409`: Target event could not be reset due to a concurrent update.
- `500`: Internal Server Error

---

[API](https://skmtc.dev/ppro/apis/risk-management.md) - [All operations](https://skmtc.dev/ppro/apis/risk-management/llms.txt) - [OpenAPI document](https://skmtc.dev/ppro/apis/risk-management/revisions/13f03e5db959?raw)
