Export Products
GET/api/veracore/integration-instances/:integration_instance/products/export
Download the mirrored Veracore offer catalogue as a spreadsheet.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
The response is a file download (.xlsx or .csv), not JSON.
This export is the first half of a round trip: the file is edited offline and uploaded back through the generic data-import endpoints with entity veracore_product_mappings, which reads the Item and SKU.io SKU columns to move mappings. Because of that, Item and SKU.io SKU are always emitted even when columns does not ask for them — a column preference can never produce a file the importer cannot read.
Query parameters
format—xlsx(default) orcsvscope— which rows to include:filtered(default) — every row matching thefilter[...]/sortparams sent alongside, i.e. exactly what the table is showingall— the whole catalogue; filter/sort params are deliberately ignoredcurrent_page— only the rows on the requested page (honourspage/per_page)selected— only the ids listed inids, still subject to the filters
ids— comma-separatedveracore_products.idvalues; only read whenscope=selectedcolumns— comma-separated column keys to include. Omit for all 13. Unknown keys are ignored;veracore_product_idandsku_product_idare always prepended.
filter[...], sort, page and per_page accept the same values as GET .../products — the export runs the identical query pipeline so it can never disagree with the screen the user pressed Export on.
Column keys → headings
veracore_product_id → Item · title → Title · sku_product_id → SKU.io SKU · product_name → SKU.io Product · mapping_state → Mapping (Mapped / Mapped (manual) / Needs review / Unmapped) · owner_id → Owner · unit_of_measure → UOM · product_type → Product Type · status → Status · is_multi_product_offer → Multi-Product Offer (Yes/No) · bom_product_count → BOM Products · lot_tracked → Lot Tracked (Yes/No) · last_synced_at → Last Synced (application timezone)
The downloaded file is named veracore-products-YYYY-MM-DD-HH-MM-SS.<format>.
Authentication: Requires Bearer token.
Request
Responses
- 200
- 401
- 403
- 404
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.