---
title: "Add a job attachment"
method: POST
path: "/v1/jobs/{jobId}/attachments"
tags: ["Jobs"]
---

# Add a job attachment

`POST /v1/jobs/{jobId}/attachments`

## Request

- Base URL: `https://api.workwing.io`
- URL: `https://api.workwing.io/v1/jobs/{jobId}/attachments`
- Auth: HTTP bearer

## Path parameters

- `jobId` string, required

## Headers

- `Idempotency-Key` string, required

## Request body

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

## Response `201`

Default Response

- object
  - `data` object, required
    - `id` string, uuid, required
    - `file_name` string, required
    - `file_type` string, required: MIME type
    - `file_size` integer, required: Size in bytes
    - `caption` string, nullable, required
    - `uploaded_by_user_id` string, uuid, nullable, required
    - `uploaded_at` string, date-time, nullable, required
    - `download_url` string, required: Short-lived presigned URL that downloads the file
    - `job_id` string, uuid, required
    - `upload_key` string, nullable, required: Key a mobile client mints when it queues an upload. A file answer in the job's resource_form_data names its attachment by this key. Null for files added any other way.
  - `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)
