Skip to main content
POST
Bulk import lots

Authorizations

X-API-Key
string
header
required

Body

multipart/form-data
file
file
required

Data file to import. One of .csv, .tsv, .xlsx.

Response

OK

Outcome of a single upload to any of the POST /import/* endpoints.

Shared by the product, lot and serial imports so one response shape covers all three. The four counters (created / updated / skipped / error_count) sum to total_rows for any successful request. The endpoint returns 200 even when individual rows fail — per-row failures are reported in errors rather than aborting the whole upload. A non-empty errors list is therefore expected on partial success and is not itself an error condition.

total_rows
integer
required

Total number of data rows processed (excluding the header row).

Required range: x >= 0
created
integer
required

Number of new records created from the upload.

Required range: x >= 0
updated
integer
required

Number of existing records updated. Matched on GTIN for a product import, on (GTIN, lot_identifier) for a lot, and on (GTIN, serial) for a serial.

Required range: x >= 0
skipped
integer
required

Number of rows that wrote nothing: a row whose values already match the stored record, or a row that failed validation (those also appear in errors).

Required range: x >= 0
error_count
integer
required

Number of rows that failed validation. Equals the length of errors.

Required range: x >= 0
errors
RowErrorOut · object[]

Per-row validation failures. Empty when every row imported cleanly.