Skip to main content
Bulk-creates products or services from a CSV file. One product is created per data row. Processing is partial: valid rows are created even if other rows fail, and every failed row is reported individually with its row number and reason — no row is ever created silently with an invalid SAT key.

Authentication

Requires a valid Bearer token. The authenticated user must be an owner or admin of the organization.

Path Parameters

Request

Content-Type: multipart/form-data

CSV Columns

The header row is required. Column names match the JSON Create Product field names. Row 1 is always treated as the header. Data rows are numbered starting at row 2.

Example Request

TypeScript SDK
Example products.csv:

Example Response

Common Errors

Row-level failures (invalid SAT keys, missing required columns in a row, duplicate SKU) do not fail the request — they are reported in the errors array of a 200 OK response. The errors below abort the whole import instead.

400 Bad Request

No file was uploaded, the file is not a .csv, the file exceeds 5MB, the CSV is empty, or the header row is missing a required column (description, productKey, or price).