post /api/imports
Creates a Import resource.
Uploads a CSV, TSV or XLSX file and creates an import job for it. The body is multipart/form-data with the file, the target type, and optional metadata (such as the locale, the XLSX sheetName, or reset). The upload is synchronous, but processing is asynchronous: the job is returned with its status, and its report stays null until processing ends. Requires the imports:write and imports:read scopes.
Reset replaces existing data
With metadata[reset]=true, all existing data of the import type is deleted before the file is imported, atomically. The number of deleted records per table is reported in report.reset.
Request body Property Type Required Description filestringrequired CSV, TSV or XLSX file metadataobject- Per-import options (e.g. locale, sheetName for XLSX) Show metadata fields Property Type Required Description localestring- optionCountinteger- Number of option columns (product import only, 1-3). resetboolean- When true, delete all existing data of this type before importing (atomic). sheetNamestring-
type"collections" | "categories" | "attributes" | "suppliers" | "attribute_options" | "purchase_offer" | "sale_offer" | "metafield_value" | "product"required The resource type to import
Response 201 - Import resource created
Content-Type: application/ld+json
Property Type Required Description @contextstring | object- @idstringrequired @typestringrequired createdAtstring | null- format"csv" | "tsv" | "xlsx" | null- idstring- metadataobject- reportobject | null- Per-row processing report. Null until the import has been processed. Show report fields Property Type Required Description errorstring- Present only when the import failed systemically. errorsobject[]required Show errors fields Property Type Required Description lineintegerrequired messagesstring[]required
failedintegerrequired importedintegerrequired resetobject- Records deleted per table, present only when metadata[reset]=true. totalRowsintegerrequired
status"pending" | "processing" | "completed" | "failed" | null- type"collections" | "categories" | "attributes" | "suppliers" | "attribute_options" | "purchase_offer" | "sale_offer" | "metafield_value" | "product" | nullrequired updatedAtstring | null-
Errors 400 - Invalid input
Format JSON-LD JSON Property Type Required Description @contextstring | object- @idstringrequired @typestringrequired codestring- Stable identifier of the error in the error code catalogue (see /api/error-codes). Present on catalogued errors only. descriptionstring | null- detailstring | null- A human-readable explanation specific to this occurrence of the problem. instancestring | null- A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. messagestring- End-user message localized in the request locale, with this occurrence's values substituted. Present on catalogued errors only. slugstring- Stable, readable key of the error in the error code catalogue. Present on catalogued errors only. statusinteger | null- titlestring | null- A short, human-readable summary of the problem. For a catalogued error it repeats the slug. typestring- A URI reference that identifies the problem type. For a catalogued error it is the error code resource, /api/error-codes/{code}.
Property Type Required Description codestring- Stable identifier of the error in the error code catalogue (see /api/error-codes). Present on catalogued errors only. detailstring | null- A human-readable explanation specific to this occurrence of the problem. instancestring | null- A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. messagestring- End-user message localized in the request locale, with this occurrence's values substituted. Present on catalogued errors only. slugstring- Stable, readable key of the error in the error code catalogue. Present on catalogued errors only. statusinteger | null- titlestring | null- A short, human-readable summary of the problem. For a catalogued error it repeats the slug. typestring- A URI reference that identifies the problem type. For a catalogued error it is the error code resource, /api/error-codes/{code}.
403 - Access denied. The caller is missing one or more permissions required for this operation.
Content-Type: application/problem+json
Property Type Required Description @contextstring | object- @idstringrequired @typestringrequired detailstring- missingPermissionsstring[]- Permissions that the caller is missing for this operation. Present only when the 403 is caused by a denied permission. statusinteger- titlestring- typestring-
422 - An error occurred
Format JSON-LD JSON Property Type Required Description @contextstring | object- @idstringrequired @typestringrequired descriptionstring- detailstring- instancestring | null- statusinteger- titlestring | null- typestring- violationsobject[]- Show violations fields Property Type Required Description codestring- The code of the violation hintstring- An extra hint to understand the violation messagestringrequired The message associated with the violation parametersobject- Dynamic placeholder values for the violation message template (substitute into the code catalogue message). payloadobject- The serialized payload of the violation propertyPathstringrequired The property path of the violation slugstring- Stable centralized error-code slug for this violation (see /api/error-codes).
Property Type Required Description detailstring- instancestring | null- statusinteger- titlestring | null- typestring- violationsobject[]- Show violations fields Property Type Required Description codestring- The code of the violation hintstring- An extra hint to understand the violation messagestringrequired The message associated with the violation parametersobject- Dynamic placeholder values for the violation message template (substitute into the code catalogue message). payloadobject- The serialized payload of the violation propertyPathstringrequired The property path of the violation slugstring- Stable centralized error-code slug for this violation (see /api/error-codes).