collection.syncCatalog
Starts a product-feed sync for an existing catalog or flipbook.
Starts a sync for an existing catalog or flipbook that has a connected product feed. Use this after products.create or products.update to apply the latest product data — prices, descriptions, images, SKUs — to the catalog content.
The call returns as soon as the sync is queued. collectionStatus becomes processing.
Sync updates the stored catalog. Live readers keep serving the previously published catalog until you republish with collection.update.
Note: Requests must be made to https://api.flipsnack.com/v1/ using GET. A POST request returns 40 - Bad Request.
Supported collections
Works for any flipbook with at least one connected product feed (sourceHash linked through Automation):
Catalogs created with collection.createCatalog
Catalog-generator catalogs created in the Flipsnack app
Flipbooks that had a product feed applied in the editor
Collections with no connected feed — for example a PDF uploaded with collection.create — are rejected with code 40 and message Catalog has no associated product feed.
While the sync is running
collection.getCollection and collection.getList report
collectionStatus: processingcollection.update and collection.downloadHTML are unavailable for this collection
Calling
collection.syncCatalogagain before the current sync or publish finishes returns code38
When the sync completes, collectionStatus returns to its previous value (public, editable, unlisted, and so on). Poll collection.getCollection until collectionStatus is no longer processing.
Request parameters
apiKey (required)
string
The API key provided for your user. Omission returns 30 - Missing mandatory parameter. An invalid key returns 41 - Invalid credentials.
signature (required)
string
Request signature. See How to sign a request. Omission returns 30. An invalid signature returns 44.
action (required)
string
Must be collection.syncCatalog.
collectionHash (required)
string
Hash of the catalog or flipbook to re-sync. A missing hash returns 30. An unknown hash returns 46. A hash from another workspace returns 43.
Response parameters
A successful request queues the sync and returns immediately.
collectionHash
string
Hash of the catalog the sync was started for.
collectionStatus
string
Always processing on success.
syncStartedDate
date
UTC timestamp when the sync was triggered, formatted as YYYY-MM-DD HH:MM:SS.
Error codes
See API status codes for all error codes.
30
Missing mandatory parameter
apiKey, signature, action, or collectionHash is missing.
38
Collection is in progress
A sync or publish is already running for this collection. Poll collection.getCollection.
40
Bad Request
Wrong HTTP method (must be GET), or the collection has no connected product feed.
41
Invalid credentials
The API key is invalid.
43
Forbidden
The collection was deleted or belongs to another user.
44
Invalid signature
The request signature is invalid.
46
Invalid collection hash
The collection hash does not exist.
50
Operation failed
The sync could not be started. Retry after a few seconds.
A missing product feed includes data.message:
Recommended workflow
Update the product feed
Call products.create or products.update with the feed's sourceHash.
Wait until processing finishes
Poll collection.getCollection until collectionStatus is no longer processing.
Republish so readers see the data
Call collection.update with the collection's current collectionStatus (public, unlisted, or editable) to republish.
Sync behavior
API catalogs created with collection.createCatalog: the catalog is regenerated from the saved catalog sections, the same way as the initial create.
Other flipbooks with a connected feed: product data is synced onto the existing pages.
Examples
Request
Response