Skip to main content
POST
Create products export

Authorizations

X-Api-Key
string
header
required

Company Level Authentication

Include your API key in the X-Api-Key header for every request:

Headers

snappy-account-id
string

Optional account identifier for swag validation/filtering.

Example:

"acc123456"

snappy-company-id
string

Optional company identifier for swag validation/filtering.

Example:

"cmp123456"

Body

application/json

Request body for an async export job. Price filters use flat body fields rather than query-string filter[price][...] syntax.

catalog
enum<string>
default:marketplace
required

Product catalog to export from (marketplace | swag).

Available options:
marketplace,
swag
Example:

"marketplace"

format
enum<string>
required

Output file format. Async export is NDJSON-only.

Available options:
ndjson
Example:

"ndjson"

Free-text search filter.

type
enum<string>

Filter by product type (e.g. physical, digital, giftCard, donation).

Available options:
physical,
digital,
giftCard,
donation
Example:

"physical"

brandName
string

Filter by brand name.

brandId
string[]

Filter by one or more brand IDs.

tagId
string[]

Filter by one or more tag IDs.

price
object

Inclusive price range using flat price.gte / price.lte fields (not the nested filter[price][gte] / filter[price][lte] query-string form).

productIds
string[]

Limit export to up to 100 specific product IDs.

Maximum array length: 100
locations
string[]

ISO 3166-1 alpha-2 country codes used for price localisation. Defaults to ["US"].

Pattern: ^[A-Z]{2}$
Example:
include
enum<string>[]

Related entities to include.

Minimum array length: 1

Related entities to include.

Available options:
brand,
tags
Example:
fields
enum<string>[]

Computed or expanded product fields for list responses.

Minimum array length: 1

Computed or expanded fields for product list responses.

Available options:
priceRange,
variantsCount,
total
Example:

Response

Export job accepted (200 OK). Poll the returned exportId via GET /v3/products/exports/{exportId}.

Export job accepted. The job runs in the background; poll GET /v3/products/exports/{exportId} for status.

exportId
string
required

Export job identifier. Poll GET /v3/products/exports/{exportId} until the job reaches a terminal state.

Example:

"6650a1b2c3d4e5f6a7b8c9d0"

Last modified on July 9, 2026