Guide to Using Flipsnack API (Application Programming Interface)

Learn how to use each API method for seamless integration

Table of contents

Overview

The Flipsnack API (Application Programming Interface) enables businesses and developers to integrate Flipsnack seamlessly into their existing workflows. With this API, users can automate flipbook creation, update collections, access analytics, and dynamically embed content, streamlining content management and enhancing efficiency.

Key benefits

  • Automation and efficiency: Streamline content creation by automating file uploads, settings updates, and data retrievals.
  • Scalable content management: Manage multiple flipbooks programmatically.
  • Data-driven insights: Retrieve user or flipbook data to track engagement and performance.

Requirements

  • Plan: API access is available on demand as part of the Enterprise plan. 
  • Target audience: Developers, IT professionals, automation engineers, and business teams looking to integrate Flipsnack into their existing workflows.

Request and response parameters

The Flipsnack API uses RESTful requests and returns JSON responses.

API Method: collection.create

Creates a new collection with a flipbook item. This means that a new flipbook will be created in your account. 

Required Parameters

  • apiKey: Your API key.
  • signature: MD5 hash signature. For more details on creating a signature, refer to this page.
  • action: collection.create.
  • file: PDF / JPG / PNG file to upload (only one file can be uploaded).

Example Request

curl -X POST "https://upload.flipsnack.com/v1/" \

-F 'file=@"document.pdf";filename="document.pdf"' \

-F "action=collection.create" \

-F "apiKey=<YOUR-API-KEY>" \

-F "signature=<YOUR-REQUEST-SIGNATURE>"

Response

Returns a JSON object with flipbook details, including title, description, thumbnail URL, status, and settings. Converting and publishing might take a few seconds, during that time the status of the flipbook will be “processing”. Use collection.getColection to check the status of your flipbook.

For comprehensive details, visit the Flipsnack API Reference for collection.create.

API Method: collection.getCollection

Retrieves details of a flipbook.

Required Parameters

  • apiKey: Your API key.
  • signature: MD5 hash signature.
  • action: collection.getCollection.
  • collectionHash: Unique identifier for the collection.

Example Request

curl -X GET "https://api.flipsnack.com/v1/" \

-G \

-d action=collection.getCollection \

-d apiKey=<YOUR-API-KEY> \

-d collectionHash=<COLLECTION-HASH> \

-d signature=<YOUR-REQUEST-SIGNATURE>

Response

Returns flipbook details, including title, description, thumbnail URL, status, and settings.

For more details, visit the Flipsnack API Reference for collection.getCollection.

API Method: collection.update

Updates the settings of an existing flipbook. Because the flipbook will be republished, it might also take a few seconds before your changes go live. To confirm your updates are active, we recommend checking the flipbook’s status with collection.getColection. Refer to the full documentation for a full list of parameters that can be modified.

Example Request

curl -X GET "https://api.flipsnack.com/v1/" \

-G \

-d action=collection.update \

-d apiKey=<YOUR-API-KEY> \

-d collectionHash=<COLLECTION-HASH> \

-d title="New Title" \

-d signature=<YOUR-REQUEST-SIGNATURE>

Response

Returns a JSON object with updated details, including title, description, thumbnail URL, status, and settings 

Warning: This method is not available while the collection is in the processing state

For full details, visit the Flipsnack API Reference for collection.update.

API Method: collection.deleteCollection

Delete a collection in Flipsnack.

Example Request

curl -X GET "https://api.flipsnack.com/v1/" \

-G \

-d action=collection.deleteCollection \

-d apiKey=<YOUR-API-KEY> \

-d collectionHash=<COLLECTION-HASH> \

-d signature=<YOUR-REQUEST-SIGNATURE>

Response

Returns status code 20 - OK if successful.

For detailed instructions, visit the Flipsnack API Reference for collection.deleteCollection.

API Method: collection.getEmbed

Retrieves embed code for a flipbook.

Required request parameters:

  • apiKey: Your API key.
  • signature: MD5 hash signature.
  • action: Must be collection.getEmbed.
  • collectionHash: The hash of the collection to get the embed code.

Optional parameters:

  • https: Deprecated. Default: true.
  • responsive: If true, the embed will take the full container size. Default: false.
  • startPage: Page number where the flipbook will open. Default: 1.
  • width: Width of the embed.
  • height: Height of the embed.

Example request:

curl -X GET "https://api.flipsnack.com/v1/" \

-G \

-d  action=collection.getEmbed \

-d apiKey=<YOUR-API-KEY> \

-d  collectionHash=<COLLECTION-HASH> \

-d  signature=<YOUR-REQUEST-SIGNATURE>

Response:

Returns a JSON object with the embed code.

For detailed instructions, visit the Flipsnack API Reference for collection.getEmbed.

API Method: collection.getStats

Retrieves statistics for a specified collection in Flipsnack.

Required request parameters:

  • apiKey: Your API key.
  • signature: MD5 hash signature.
  • action: Must be user.getStats.

Optional Parameters:

  • startDate: Start date for the statistics interval (YYYY-MM-DD).
  • endDate: End date for the statistics interval (YYYY-MM-DD).
  • includePageStats: If true, returns statistics for each page.

Example request:

curl -X GET "https://api.flipsnack.com/v1/" \

-G \

-d action=user.getStats \

-d apiKey=<YOUR-API-KEY> \

-d signature=<YOUR-REQUEST-SIGNATURE>

Response:

Returns a JSON object with statistics such as:

  • impressions: Total player loads.
  • views: User interactions with the player.
  • time_spent: Total viewing time in seconds.
  • downloads: Number of document downloads.
  • api_uploads_left: Remaining uploads via API.

For detailed instructions, visit the Flipsnack API Reference for user.getStats.

API Method: collection.getList

Returns a list of flipbooks belonging to the user, from a folder or the whole account.

Required request parameters:

  • apiKey: Your API key.
  • signature: MD5 hash signature.
  • action: Must be collection.getList.

Optional parameters:

  • collectionStatus: Type of collection (public, editable, unlisted).
  • query: Search query for titles and descriptions.
  • from: Starting record index. Default: 0.
  • to: Ending record index. Default: 50.
  • orderBy: Field to order by (date_published, date_created, name). Default: date_published.
  • orderMode: Order direction (asc, desc). Default: desc.
  • folder: Folder path where collections are stored.

Example request:

curl -X GET "https://api.flipsnack.com/v1/" \

-G \

-d action=collection.getList \

-d apiKey=<YOUR-API-KEY> \

-d collectionStatus=public \

-d from=0 \

-d to=2 \

-d signature=<YOUR-REQUEST-SIGNATURE>

Response:

Returns a JSON object with the total number of matching collections and a list of collections.

For detailed instructions, visit the Flipsnack API Reference for the collection.getList.

API Method: collection.downloadHTML

Generates and lets you download an HTML package for a flipbook. As this process might also take a few seconds or more, we recommend using the collection.getCollection method to retrieve the status of your publication.  

Required request parameters:

  • apiKey: Your API key.
  • signature: MD5 hash signature.
  • action: Must be collection.downloadHTML.
  • collectionHash: The hash of the collection to download.

Example request:

curl -X GET "https://api.flipsnack.com/v1/" \

-G \

-d action=collection.downloadHTML \

-d apiKey=<YOUR-API-KEY> \

-d collectionHash=<COLLECTION-HASH> \

-d signature=<YOUR-REQUEST-SIGNATURE>

Response:

Returns a JSON object with the status of the request and a URL to download the HTML package once the generation is complete.

Process:

  1. Request HTML Package: Send the request with the necessary parameters.
  2. Check Status: The response will include a status code and, if successful, a URL to download the package.
  3. Download Package: Use the provided URL to download the HTML package.

For more details, visit the Flipsnack API Reference for collection.downloadHTML.

API Method: user.getStats

Retrieves global statistics for all flipbooks under the user account.

Required request parameters:

  • apiKey: Your API key.
  • signature: MD5 hash signature.
  • action: Must be user.getStats.

Example request:

curl -X GET "https://api.flipsnack.com/v1/" \

-G \

-d action=user.getStats \

-d apiKey=<YOUR-API-KEY> \

-d signature=<YOUR-REQUEST-SIGNATURE>

Response:

Returns a JSON object with statistics such as:

  • impressions: Total player loads.
  • views: User interactions with the player.
  • time_spent: Total viewing time in seconds.
  • downloads: Number of document downloads.
  • api_uploads_left: Remaining uploads via API.

For detailed instructions, visit the Flipsnack API Reference for user.getStats.

API Method: zapier.getZapierLeadFormSample

Provides sample data from lead forms, for Zapier integration.

Required request parameters:

  • apiKey: Your API key.
  • action: Must be zapier.getZapierLeadFormSample.
  • collectionHash: The hash of the collection to retrieve sample data.

Example request:

curl -X GET "https://api.flipsnack.com/v1/" \

-G \

-d action=zapier.getZapierLeadFormSample \

-d apiKey=<YOUR-API-KEY> \

-d collectionHash=<YOUR-COLLECTION-HASH>

Response:

Returns a JSON object with sample data, including fields such as "Email address", "Full name", "Phone number", and more.

For detailed instructions, visit the Flipsnack API Reference for zapier.getZapierLeadFormSample.

API Method: products.create

The products.create method enables external systems (such as PIMs, ERPs, or custom applications) to send product data directly to Flipsnack. Each request must include an apiSecretKey for authentication, a sourceHash to group products, and a list of products to insert. Up to 500 products can be submitted per request. The data is validated and processed, making the products available under the Automation tab in the Design Studio.

Required Parameters

  • action: products.create
  • apiKey: Your API key.
  • signature: MD5 hash signature. For more details on creating a signature, refer to this page.
  • sourceHash: the unique hash used to identify the updated feed

 

Examples

cURL

curl -X POST https://api.flipsnack.com/v1/ \

 

-F action=products.create \

 

-F apiKey=<YOUR-API-KEY> \

 

-F signature=<YOUR-REQUEST-SIGNATURE> \

 

-F sourceHash=<YOUR-SOURCE-HASH> \

 

-F products="<YOUR-PRODUCTS>” 



Response

In case of successfully processing all the products the response will look like:

{

"Code":200,

"status":"",

"data": {

"message":"Products updated successfully",

"Errors":[]

}

}

In case of validation error the response will look like this:

{

"code": 400,

"status": "",

"data": {

"message": "Invalid or incomplete data sent!",

"errors": [

"Variable \"$products\" got invalid value \"\" at \"products[0].discount_price\"; Int cannot represent non-integer value: \"\""

]

}

}

In case of max number of products sent exceeded the response will look like:

{

"code": 51,

"status": "The maximum number of products exceeded"

}

In case of missing mandatory parameters the response will look like:

{

    “code”: 30

    "status": "Missing mandatory parameter”

    “Data”: [

            Feed name parameter is missing,

Products parameter is missing

Source hash parameter is missing

Products hashes parameter is missing

        ]

}

Data may contain just one or multiple of the messages but the message will be one of the upper ones.

For detailed instructions, visit the Flipsnack API Reference for products.create.

API Method: products.update

The products.update method allows external systems (such as a PIM or ERP) to send full or partial product data directly to Flipsnack. Each request has a limitation of 500 products per request and must include an apiKey, a signature for authentication, a sourceHash to know exactly which feeds products to update and the product list with the updated fields there is no need to send full products it’s enough to send only the updated fields.The last step is data validation and if all goes well the updated products will be available under the Automation tab in the Design Studio.

Required Parameters

  • apiKey: Your API key.
  • signature: MD5 hash signature. For more details on creating a signature, refer to this page.
  • action: products.create
  • sourceHash: the unique hash used to identify the updated feed

Example Request

curl -X POST https://api.flipsnack.com/v1/ \

 

-F action=products.update \

 

-F apiKey=<YOUR-API-KEY> \

 

-F signature=<YOUR-REQUEST-SIGNATURE> \

 

-F sourceHash=<YOUR-SOURCE-HASH> \

 

-F products="<YOUR-PRODUCTS>” 

 

Response

In case of successfully processing all the products the response will look like:

{

"Code":200,

"status":""

,

"data": {

"message":"Products updated successfully",

"Errors":[]

}

}

In case of validation error the response will look like this:

{

"code": 400,

"status": "",

"data": {

"message": "Invalid or incomplete data sent!",

"errors": [

"Variable \"$products\" got invalid value \"\" at \"products[0].discount_price\"; Int cannot represent non-integer value: \"\""

]

}

}

In case of max number of products sent exceeded the response will look like:

{

"code": 51,

"status": "The maximum number of products exceeded"

}

In case of missing mandatory parameters the response will look like:

{

    “code”: 30

    "status": "Missing mandatory parameter”

    “Data”: [

            Feed name parameter is missing,

Products parameter is missing

Source hash parameter is missing

Products hashes parameter is missing

        ]

}

Data may contain just one or multiple of the messages but the message will be one of the upper ones.

API Method: products.delete

The products.delete method allows external systems (such as a PIM or ERP) to remove products data directly from Flipsnack.

 Each request must include an apiKey, signature for authentication, a sourceHash to know exactly from which feed will the products be removed and the productHashes to be removed.Depending on the situation there might be the case when a while feed is removed and the results will be available under the Automation tab in the Design Studio.

Note:
The deletion works with multiple codes introduced at once, separated with “,”. If all the product codes are deleted, at once or one by one, all the data that was stored under that sourceHash will be deleted as well.

Variants can’t be deleted with this method. Using this method with codes from variants will not work.

 

Required Parameters

  • apiKey: Your API key.
  • signature: MD5 hash signature. For more details on creating a signature, refer to this page.
  • action: products.delete
  • sourceHash: the unique hash used to identify the updated feed

Example Request

curl -X POST https://api.flipsnack.com/v1/ \

-F action=products.delete  \

-F apiKey=<YOUR-API-KEY> \

-F signature=<YOUR-REQUEST-SIGNATURE> \

-F sourceHash=<YOUR-SOURCE-HASH> \

-F productHashes="<YOUR-PRODUCTS-CODES>” 

 

Response

In case of deleting the products successfully:

{

"Code":200,

"status":""

,

"data": {

"message":"Products deleted successfully",

"Errors":[]

}

}

In case there were no products deleted, the response will look like this:

{

"code": 400,

"status": "",

"data": {

"message": "No products to delete",

"errors": []

}

}

In case of missing mandatory parameters, the response will look like:

{

    “code”: 30

    "status": "Missing mandatory parameter”

    “Data”: [

Source hash parameter is missing

Products hashes parameter is missing

        ]

}

Data may contain just one or multiple of the messages but the message will be one of the upper ones.

Next steps

Explore detailed API documentation

For developers needing in-depth technical details, you can visit the Flipsnack API Documentation.

Need expert support?

Our team is here to help. Connect with our team experts or message us via the in-app chat for a personalized demo.