collection.createCatalog
Generates a product catalog from feeds and templates.
Generates a product catalog by laying out feed products on templates.
Generation runs asynchronously. The call returns when the catalog is queued.
Poll collection.getCollection until the status changes.
For static template pages and blank spacers, use collection.createFromTemplate.
Note: Requests must be made to https://api.flipsnack.com/v1/.
Request parameters
apiKey (required)
string
The API key provided for your user.
action (required)
string
Must be collection.createCatalog.
sections (required)
JSON string
A JSON-encoded array of feed sections.
title
string
Title of the generated catalog.
folder
string
Destination folder path, such as Catalogs/2026.
sections is a JSON-encoded string. This allows signatures over flat parameters.
Sections
sections is a non-empty ordered array of feed section objects.
Only sectionType: "feed" is accepted.
Feed section fields
Feed sections lay out products from one or more feeds. Products can be grouped, sorted, and filtered.
sectionType
string
Yes
Must be feed.
sources
object[]
Yes
Product feeds.
templates
object[]
Yes
Templates for product layout.
groupBy
object[]
No
Groups products before layout.
sortBy
object[]
No
Orders products before layout.
filters
object[]
No
Include or exclude rules.
Sources
sourceHash
string
Yes
Hash of the product feed.
Templates
templateHash
string
Yes
Hash of the generator template.
Only templates[0] is used for product layout. Use separate sections for different templates.
Group products
groupBy is evaluated in order. The first entry is the outermost group.
field
string
Yes
Feed column used for grouping.
pageBreak
boolean
No
Starts a new page for each value. Default: false.
Sort products
sortBy is evaluated in order. The first entry is the primary sort key.
field
string
Yes
Feed column used for sorting.
order
string or string[]
Yes
asc, desc, or custom field-value order.
With custom order, unmatched products follow matched products in their relative order.
Filters
filters is an ordered array of filter blocks. include blocks narrow results. exclude blocks remove results.
mode
string
Yes
include or exclude.
match
string
No
all (AND) or any (OR). Default: all.
conditions
object[]
Yes
Conditions in this block.
Each condition has these fields:
field
string
Yes
Feed column. Use sku to match SKUs.
value
mixed
Yes
String, string array, or numeric-string range.
Operators
in / nin
string[]
Included / excluded values.
eq / ne
string
Equal / not equal.
lt / lte
numeric string
Less than / less than or equal.
gt / gte
numeric string
Greater than / greater than or equal.
between
[min, max] numeric strings
Inclusive range.
contains
string
Field contains the substring.
Numeric operators require numeric strings, such as "100".
Authentication
Sign each request with the secret key associated with apiKey:
Exclude
signaturefrom the request parameters.Sort the remaining parameters alphabetically by key.
Concatenate them as
key1value1key2value2….Prepend the secret key.
Generate the MD5 hash of the resulting string.
The sections value signs as one parameter value.
Examples
Request
Use this sections array before URL or JSON encoding:
Response parameters
The response returns the new catalog hash. Generation continues in the background.
Poll collection.getCollection using the returned collectionHash.
Error codes
See API status codes for all error codes.
Validation failures (code 40) can include data.message and data.errors.
Last updated