Market catalog --- CSV upload / download
Last updated: Apr 20, 2026Section: General
Market catalog --- CSV upload / download
Use this dashboard workflow when you want to edit many catalog rows in one go:
- Export the current catalog as CSV
- Edit rows offline
- Upload CSV back
- Review detected changes
- Apply changes
This page covers the owner dashboard flow (Bearer auth). For external read-only API usage with X-API-Key, see market-catalog-external-api{.interpreted-text role="doc"}.
Overview
The MARKET integration has a dedicated tab:
- Upload / Download in integration details
- Export CSV downloads a round-trip CSV with stable headers
- Import CSV analyzes file content first (preview), then applies create/update changes
Current scope:
- Products and variants only
- Missing rows are ignored (not archived)
- Price lists are not part of this CSV flow yet
CSV contract
CSV headers are fixed and ordered:
row_type,product_id,variant_id,status,type_keys,tag_slugs,product_name,product_attributes_json,product_locales_json,variant_sort_order,variant_sku,variant_attributes_json,variant_locales_json
Important rules:
row_type:productorvariantproduct_id:- optional for new product rows
- required for variant rows
variant_id:- optional for new variant rows
- required to update an existing variant row
type_keysuses|as separator (for product rows)tag_slugsuses|as separator (for product rows)*_attributes_jsonand*_locales_jsoncolumns must contain valid JSON object values when filled
Preview and apply
The dashboard always runs preview first:
- validates row structure and domain constraints
- resolves row action:
created,updated,unchanged, orinvalid - highlights changed fields in the preview table
- shows summary counters
Default preview filter is only changed rows. You can switch to show all rows.
Apply stage:
- requires a preview token from the latest preview response
- fails with conflict if data changed and token is outdated
- applies only create/update operations
Missing rows behavior
Rows that exist in catalog but are absent in uploaded CSV are counted as missing in file and ignored:
- no automatic
ARCHIVEDstatus changes - no deletion
Best practices
- Start from a fresh export before editing
- Keep IDs when updating existing rows
- Avoid changing column order or names
- Use UTF-8 CSV files
- Keep one source of truth for SKU values (variant rows)
Further reading
- External read API and API key scopes:
market-catalog-external-api{.interpreted-text role="doc"} - API keys and permissions:
../../../api/authentication{.interpreted-text role="doc"}