# Create upload targets for one or more CSV files

> POST /imports/upload-urls

Source: https://docs.trykintsugi.com/reference/2026-07-21/create-upload-targets-for-one-or-more-csv-files

POST /imports/upload-urls

Create upload targets for one or more CSV files

Create an import row per file and return a presigned S3 POST target for each. Check `uploadMode` for how to deliver the file. Prefer `POST /imports/initiate` for a single file.

Category: Imports

Request body:
files (ImportUploadFile[], required) - Files to create upload targets for.
  fileName (string, required) - Name of the file to upload.
source (string, required) - Import source the files belong to.
userId (string, required) - Caller-supplied id of the person or process performing the upload, for audit trails.
direction (PublicTransactionDirectionEnum) - SALE or PURCHASE for the whole file; blank per-row direction cells take this value.
  allowed values: SALE, PURCHASE

Response fields:
fileName (string, required) - Name of the file this target is for.
importId (string, required) - Id of the import row created for this file.
uploadUrl (string, required) - Where to upload the file: a presigned S3 POST URL, or a path on this API when uploadMode is local_internal.
uploadFields (object) - Additional form fields required on the upload POST.
uploadMode (string, required) - How to deliver the file. `presigned` sends it to the returned URL directly. `local_internal` only appears in local development: send it to the returned path on this API with your credential.
  allowed values: presigned, local_internal

Response statuses: 200, 400, 401, 403, 404, 409, 422

---

Index of every page: https://docs.trykintsugi.com/llms.txt
