---
title: "Get an upload URL for a customer attachment"
method: POST
path: "/v1/customers/{customerId}/attachments/upload-url"
tags: ["Customers"]
---

# Get an upload URL for a customer attachment

`POST /v1/customers/{customerId}/attachments/upload-url`

## Request

- Base URL: `https://api.workwing.io`
- URL: `https://api.workwing.io/v1/customers/{customerId}/attachments/upload-url`
- Auth: HTTP bearer

## Path parameters

- `customerId` string, required

## Headers

- `Idempotency-Key` string, required

## Request body

- object
  - `file_name` string, required
  - `file_type` string, required
  - `file_size` integer, required

## Response `200`

Default Response

- object
  - `data` object, required
    - `upload_url` string, required: Presigned URL to PUT the file bytes to, with the declared Content-Type and Content-Length
    - `storage_key` string, required: Pass this to the add-attachment call once the upload completes
    - `expires_in` integer, required: Seconds until upload_url expires
  - `meta` object, required
    - `request_id` string, required
    - `timestamp` string, date-time, required

---

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