---
title: "Get signed URL for CSV upload"
method: POST
path: "/jobs/uploads"
tags: ["Jobs"]
---

# Get signed URL for CSV upload

`POST /jobs/uploads`

## Request

- Base URL: `https://app.buildworkpro.com/api/v1`
- URL: `https://app.buildworkpro.com/api/v1/jobs/uploads`
- Auth: HTTP bearer

Returns a short-lived signed PUT URL. Caller uploads the CSV bytes directly to that URL, then passes the returned sourcePath to POST /{module}/imports.

## Headers

- `Idempotency-Key` string, uuid

## Request body

- object
  - `contentType` 'text/csv'

## Response `200`

Signed URL

- object
  - `data` object, required
    - `uploadUrl` string, uri, required
    - `sourcePath` string, required
    - `expiresInSeconds` integer, required
  - `meta` ResponseMeta, required
    - `request_id` string: Server-generated request identifier
    - `pagination` PaginationMeta
      - `cursor` string, nullable, required: Opaque cursor for the next page; null when no more results
      - `has_more` boolean, required: Whether more pages are available after this one
      - `count` integer, required: Items in this page

## Other responses

- `403`: Error
- `422`: Error

---

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