---
title: "Sign a shipment file upload"
method: POST
path: "/shipments/sign-upload"
tags: ["Shipments"]
---

# Sign a shipment file upload

`POST /shipments/sign-upload`

## Request

- Base URL: `https://app-sandbox.resolvepay.com/api`
- URL: `https://app-sandbox.resolvepay.com/api/shipments/sign-upload`
- Auth: one of:
  - HTTP bearer
  - HTTP basic
- TypeScript: <https://skmtc.dev/resolvepay/apis/resolve-api-reference/docs/shipments/sign-upload/post.ts> (a function with typed inputs; its response is checked against the schema)

Returns a legacy signed upload URL for a proof-of-delivery file.
After uploading, provide the returned file details in the `file` field when creating a self-fulfilled shipment.

## Request body

- SignUploadRequest
  - `filename` string, required: Original filename for the file to be uploaded.
  - `filetype` string, required: MIME type of the file.

## Response `200`

Legacy shipment file upload request.

- object
  - `url` string, uri, required
  - `upload_url` string, uri, required

## Other responses

- `400`: Bad request error
- `401`: Unauthorized error
- `429`: Rate limit error

---

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