KintsugiKintsugi
API reference / Create upload targets for one or more CSV files

Create upload targets for one or more CSV files

POST/imports/upload-urls

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.

Authorization

Api-KeystringRequired

Your secret API key. Include it with every request.

Headers

Api-Versiondate

Release date, as YYYY-MM-DD. Defaults to 2026-07-21.

Organization-Idstring

Target organization id (Organization-Id selector).

Connection-Idstring

Target connection id; resolves to its organization.

Entity-Idstring

Platform entity id; resolves to a connection's organization.

Entity-Sourcestring

Optional source to disambiguate an Entity-Id.

Body

filesImportUploadFile[]Required

Files to create upload targets for.

sourcestringRequired

Import source the files belong to.

userIdstringRequired

Caller-supplied id of the person or process performing the upload, for audit trails.

directionPublicTransactionDirectionEnum

SALE or PURCHASE for the whole file; blank per-row direction cells take this value.

Available options:SALEPURCHASE

Response

fileNamestringRequired

Name of the file this target is for.

importIdstringRequired

Id of the import row created for this file.

uploadUrlstringRequired

Where to upload the file: a presigned S3 POST URL, or a path on this API when uploadMode is local_internal.

uploadFieldsobject

Additional form fields required on the upload POST.

uploadModestringRequired

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.

Available options:presignedlocal_internal
200

Successful Response

400

The request was invalid.

401

Authentication failed or was missing.

403

The credential is not permitted for this request.

404

The requested resource was not found.

409

The request conflicts with existing state.

422

The request failed validation.

cURL
POST /imports/upload-urls
-H "Api-Key: ***"
-H "Api-Version: 2026-07-21"
{
"files": [
{
"fileName": "certificate.pdf"
}
],
"source": "API",
"userId": "3f6c2b1e-8a4d-4c2e-9b1f-2d7e5a6c9f10",
"direction": "SALE"
}
Response
[
{
"fileName": "certificate.pdf",
"importId": "impt_2mNpQr7Ls8f3k",
"uploadUrl": "https://www.example.com",
"uploadFields": {},
"uploadMode": "presigned"
}
]
Create upload targets for one or more CSV files (2026-07-21) | Kintsugi API Reference