Create collections export
Use this endpoint to kick off a background export job for all products in a single collection. Returns an exportId to poll.
Required fields
collectionId- the collection to export.catalog- product catalog. One ofmarketplace,swag,giftCards, ordonations.locations- array of ISO 3166-1 alpha-2 country codes for price localisation.
Optional fields
format- output file format. Currentlyndjsononly; defaults tondjson.
Optional headers
Snappy-Account-Id- optional account scoping.Snappy-Company-Id- optional company scoping.
Behavior notes
- Returns 200 OK immediately with an
exportId. The job runs in the background. - Poll
GET /v3/products/exports/{exportId}until the job reaches a terminal state (completedorfailed). On completion, the status response includes adownloadUrlsmap of signed URLs (keyed by file identifier or location code). - The exported NDJSON file contains one product per line, each with its full variant list and per-country
availability. See NDJSON export format for the full shape. - The export record expires 48 hours after creation. Download the file(s) before that - expired records cannot be re-issued; you’ll need to create a new export job.
- Returns
404if the suppliedcollectionIddoes not exist.
Permissions
Requires:products:readAuthorizations
Company Level Authentication
Include your API key in the X-Api-Key header for every request:
Headers
Optional account identifier for swag validation/filtering.
"acc123456"
Optional company identifier for swag validation/filtering.
"cmp123456"
Body
Request body for an async collection export job.
Collection identifier.
^[A-Za-z0-9]{8,}$"abcdef12"
Product catalog to export from (marketplace | swag | giftCards | donations).
marketplace, swag, giftCards, donations "marketplace"
ISO 3166-1 alpha-2 country codes used for price localisation.
1^[A-Z]{2}$Output file format. Async export is NDJSON-only.
ndjson "ndjson"
Response
Export job accepted (200 OK). Poll the returned data.exportId via GET /v3/products/exports/{exportId}.
Export job accepted. The job runs in the background; poll GET /v3/products/exports/{exportId} for status.