For the complete documentation index, see llms.txt. This page is also available as Markdown.

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.

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

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

Name
Type
Description

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.

Name
Type
Description

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.

Code
Status
When

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:

1

Update the product feed

Call products.create or products.update with the feed's sourceHash.

2

Start the catalog sync

Call collection.syncCatalog with the collectionHash of the catalog linked to that feed.

3

Wait until processing finishes

Poll collection.getCollection until collectionStatus is no longer processing.

4

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