Skip to main content

API reference

Flipbooker API v1.0.0

57 REST endpoints for flipbooks, subscribers, analytics, tracked links, branding and webhooks. Every request is authenticated with a workspace API key and scoped to that workspace.

Base URL
https://app.flipbooker.com/api/v1
Authentication
Authorization: Bearer wsk_live_…

Books

GET/books

List flipbooks

Returns the workspace flipbooks, newest first. The collection is cursor-paginated.

books:read

Parameters

ParameterTypeDetails
filter[status]string query
publishdraftschedule
filter[name]string query
max 255 chars
sortstring query
name-namecreated_at-created_atupdated_at-updated_atstatus-status
cursorstring query
limitinteger query
1–200

Response 200

FieldTypeDetails
datareqobject[]
data.batch_idstring
data.created_atstring
format: date-time
data.descriptionstring
data.embed_codestring
data.external_catalog_idinteger
data.idreqinteger
data.namereqstring
data.page_countreqinteger
data.preview_urlstring
data.published_datestring
data.random_idreqstring
Example request
curl https://app.flipbooker.com/api/v1/books \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

422 Validation failed
POST/books

Upload a PDF and create a flipbook

Accepts a multipart PDF upload and queues conversion. The response contains a batch ID to poll.

books:write

Request body multipart/form-data

FieldTypeDetails
auto_links_enabledboolean
filesreqstring[]
original_filenamestring
max 255 chars
statusstring
draftpublish
Example request
curl -X POST https://app.flipbooker.com/api/v1/books \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY" \
  -F "files[][email protected]"

Error responses

422 Validation failed
POST/books/create-from-template

Create a flipbook from a template

Creates a flipbook using a catalog template.

books:write

Request body application/json

FieldTypeDetails
contentreqobject[]
content.authorstring
max 255 chars
content.categoriesarray
content.contentstring
max 50000 chars
content.currencystring
max 10 chars
content.datestring
max 100 chars
content.descriptionstring
max 50000 chars
content.excerptstring
max 5000 chars
content.galleryarray
content.idreqstring
content.imagestring
max 2048 chars format: uri
content.pricestring
content.regular_pricestring
content.sale_pricestring
content.short_descriptionstring
max 5000 chars
content.skustring
max 255 chars
content.stock_statusstring
max 100 chars
content.titlereqstring
max 500 chars
content.typestring
max 50 chars
content.urlstring
max 2048 chars format: uri
metadataobject
metadata.currencystring
max 10 chars
metadata.currency_symbolstring
max 20 chars
metadata.site_namestring
max 255 chars
metadata.site_urlstring
max 2048 chars format: uri
sourcereqstring
wordpresswoocommerce
source_typereqstring
postsproducts
template_idinteger
min 1

Response 201

FieldTypeDetails
datareqobject
data.bookreqobject
data.book.batch_idstring
data.book.created_atstring
format: date-time
data.book.descriptionstring
data.book.embed_codestring
data.book.external_catalog_idinteger
data.book.idreqinteger
data.book.namereqstring
data.book.page_countreqinteger
data.book.preview_urlstring
data.book.published_datestring
Example request
curl -X POST https://app.flipbooker.com/api/v1/books/create-from-template \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"content":"<object[]>","source":"wordpress","source_type":"posts"}'

Error responses

422 Validation failed
POST/books/konva

Create an editor flipbook

Creates a flipbook from editor content.

books:write

Request body application/json

FieldTypeDetails
canvasreqobject
canvas.heightreqinteger
1–10000
canvas.objectsreqstring[][]
canvas.orientationreqstring
portraitlandscape
canvas.widthreqinteger
1–10000
page_imagesreqstring[]
settingsobject
settings.allow_fullscreenboolean
settings.animation_typestring
max 255 chars
settings.auto_links_enabledboolean
settings.backgroundstring
max 2048 chars
settings.copyright_enabledboolean
settings.domains_enabledboolean
settings.downloadable_pdfboolean
settings.eod_enabledboolean
settings.flip_soundboolean
settings.image_displaystring
max 255 chars
settings.mobile_animation_typestring
max 255 chars
settings.pdf_passwordstring
max 255 chars
settings.pdf_privacy_statusstring
max 50 chars
settings.share_social_mediaboolean
statusstring
draftpublish
thumbnailstring
max 22020096 chars
titlereqstring
max 255 chars
Example request
curl -X POST https://app.flipbooker.com/api/v1/books/konva \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"canvas":"<object>","page_images":"<string[]>","title":"<string>"}'

Error responses

422 Validation failed
GET/books/uploads/status/active

List active uploads

Returns upload batches that are still converting.

books:read
Example request
curl https://app.flipbooker.com/api/v1/books/uploads/status/active \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"
GET/books/uploads/{batchId}/status

Get upload status

Returns conversion progress for one upload batch.

books:read

Parameters

ParameterTypeDetails
batchIdreqstring path
Example request
curl https://app.flipbooker.com/api/v1/books/uploads/<batchId>/status \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"
GET/books/{book}

Retrieve a flipbook

Fetches a single flipbook by its numeric ID.

books:read

Parameters

ParameterTypeDetails
bookreqinteger path

The book ID

Response 200

FieldTypeDetails
datareqobject
data.batch_idstring
data.created_atstring
format: date-time
data.descriptionstring
data.embed_codestring
data.external_catalog_idinteger
data.idreqinteger
data.namereqstring
data.page_countreqinteger
data.preview_urlstring
data.published_datestring
data.random_idreqstring
Example request
curl https://app.flipbooker.com/api/v1/books/<book> \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

404 Not found
DELETE/books/{book}

Delete a flipbook

Permanently deletes a flipbook and its generated assets.

books:write

Parameters

ParameterTypeDetails
bookreqinteger path

The book ID

Response 200

FieldTypeDetails
datareqobject
data.messagereqstring
metareqstring
Example request
curl -X DELETE https://app.flipbooker.com/api/v1/books/<book> \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

404 Not found
PUT/books/{id}

Update flipbook settings

Updates the supplied flipbook metadata and viewer settings.

books:write

Parameters

ParameterTypeDetails
idreqstring path

Request body application/json

FieldTypeDetails
allow_fullscreenboolean
animation_typestring
max 255 chars
auto_links_enabledboolean
backgroundstring
max 2048 chars
copyright_enabledboolean
descriptionstring
max 50000 chars
domains_enabledboolean
downloadable_pdfboolean
eod_enabledboolean
flip_soundboolean
image_displaystring
max 255 chars
magic_link_error_messagestring
max 1000 chars
magic_link_messagestring
max 1000 chars
mobile_animation_typestring
max 255 chars
pdf_passwordstring
max 255 chars
pdf_privacy_statusstring
max 50 chars
published_datestring
format: date-time
share_social_mediaboolean
slugstring
max 255 chars
statusreqstring
draftschedulepublish
titlestring
max 255 chars

Response 200

FieldTypeDetails
datareqobject
data.batch_idstring
data.created_atstring
format: date-time
data.descriptionstring
data.embed_codestring
data.external_catalog_idinteger
data.idreqinteger
data.namereqstring
data.page_countreqinteger
data.preview_urlstring
data.published_datestring
data.random_idreqstring
Example request
curl -X PUT https://app.flipbooker.com/api/v1/books/<id> \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status":"draft"}'

Error responses

400 Bad request404 Not found422 Validation failed

Batches

GET/batches/{batchId}

Retrieve a batch

Returns the status of an upload batch and the books it produced.

books:read

Parameters

ParameterTypeDetails
batchIdreqstring path

Response 200

FieldTypeDetails
datareqobject
data.booksreqobject[]
data.books.batch_idstring
data.books.created_atstring
format: date-time
data.books.descriptionstring
data.books.embed_codestring
data.books.external_catalog_idinteger
data.books.idreqinteger
data.books.namereqstring
data.books.page_countreqinteger
data.books.preview_urlstring
data.books.published_datestring
Example request
curl https://app.flipbooker.com/api/v1/batches/<batchId> \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

404 Not found
DELETE/batches/{batchId}

Cancel an upload batch

Cancels an upload batch that is still in flight.

books:write

Parameters

ParameterTypeDetails
batchIdreqstring path
Example request
curl -X DELETE https://app.flipbooker.com/api/v1/batches/<batchId> \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Subscribers

GET/subscribers

List subscribers

Returns subscribers captured across the workspace flipbooks.

subscribers:read

Parameters

ParameterTypeDetails
pagination[per_page]integer query
1–200
pagination[rowsPerPage]integer query
1–200
pagination[page]integer query
min 1
filterstring query
typestring query
emaildomain

Response 200

FieldTypeDetails
datareqobject[]
metareqstring
Example request
curl https://app.flipbooker.com/api/v1/subscribers \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

422 Validation failed
POST/subscribers

Create a subscriber

Grants a reader access to a gated flipbook.

subscribers:write

Request body application/json

FieldTypeDetails
book_idreqinteger
emailreqstring
max 255 chars format: email
typestring
emaildomain
Example request
curl -X POST https://app.flipbooker.com/api/v1/subscribers \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"book_id":"<integer>","email":"<string>"}'

Error responses

422 Validation failed

Analytics

GET/analytics/audit-log

Get the analytics audit log

Returns a chronological record of analytics events.

analytics:read Company plan

Parameters

ParameterTypeDetails
book_idreqinteger query
viewer_idinteger query
event_typestring query
access_requestedaccess_grantedaccess_rejecteddocument_downloadedlink_clickedlead_form_submittedform_widget_openedcheckout_widget_opened+1 more
datestring query
tracked_link_idinteger query
limitinteger query
1–500
cursorstring query

Response 200

FieldTypeDetails
datareqobject[]
data.active_msinteger
data.active_secondsnumber
data.book_idreqinteger
data.event_typereqstring
data.idreqstring
data.metadatareqobject | string
data.occurred_atstring
data.page_numberinteger
data.reasonreqstring
data.sourcereqstring
data.source_event_idreqinteger
Example request
curl https://app.flipbooker.com/api/v1/analytics/audit-log?book_id=<book_id> \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

403 Forbidden422 Validation failed
GET/analytics/book-flow

Get reading flow

Returns page-to-page reader transitions for a flipbook.

analytics:read Company plan

Parameters

ParameterTypeDetails
book_idreqinteger query
datestring query
tracked_link_idinteger query

Response 200

FieldTypeDetails
datareqobject
data.aggregatesreqobject
data.aggregates.downloadsreqinteger
data.aggregates.link_clicksreqinteger
data.aggregates.max_total_active_msreqinteger
data.aggregates.max_unique_readersreqinteger
data.aggregates.pagesreqinteger
data.baseline_unique_readersreqinteger
data.book_idreqinteger
data.pagesreqobject[]
data.pages.avg_active_ms_per_readerreqinteger
data.pages.avg_active_ms_per_segmentreqinteger
Example request
curl https://app.flipbooker.com/api/v1/analytics/book-flow?book_id=<book_id> \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

403 Forbidden422 Validation failed
GET/analytics/book-view-events

List view events

Returns raw per-reader flipbook view events.

analytics:read Company plan

Parameters

ParameterTypeDetails
book_idreqinteger query
datestring query
limitinteger query
1–500
cursorstring query
source_hoststring query
max 255 chars
viewer_idinteger query
tracked_link_idinteger query

Response 200

FieldTypeDetails
datareqobject[]
data.book_idreqinteger
data.book_titlestring
data.citystring
data.clicksreqinteger
data.countrystring
data.duration_secondsreqinteger
data.engagement_scorereqstring
data.from_embeddedreqboolean
data.idreqinteger
data.impressionsreqinteger
data.latitudenumber
Example request
curl https://app.flipbooker.com/api/v1/analytics/book-view-events?book_id=<book_id> \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

403 Forbidden422 Validation failed
GET/analytics/interaction-events

List interaction events

Returns raw reader interaction events such as clicks, plays and downloads.

analytics:read Company plan

Parameters

ParameterTypeDetails
book_idreqinteger query
viewer_idinteger query
event_typestring query
session_startedpage_segment_completedlink_clickeddocument_downloadedlead_form_submittedform_widget_openedcheckout_widget_openedcheckout_redirect_clicked+1 more
page_numberinteger query
min 1
session_idstring query
max 255 chars
datestring query
tracked_link_idinteger query
limitinteger query
1–500
cursorstring query

Response 200

FieldTypeDetails
datareqobject[]
data.active_msinteger
data.active_secondsnumber
data.book_idreqinteger
data.citystring
data.countrystring
data.created_atreqstring
data.event_typereqstring
data.exit_reasonreqstring
data.idreqinteger
data.latitudenumber
data.longitudenumber
Example request
curl https://app.flipbooker.com/api/v1/analytics/interaction-events?book_id=<book_id> \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

403 Forbidden422 Validation failed
GET/analytics/page-performance

Summarise page performance

Returns aggregate engagement for each page.

analytics:read Company plan

Parameters

ParameterTypeDetails
book_idreqinteger query
datestring query
tracked_link_idinteger query
Example request
curl https://app.flipbooker.com/api/v1/analytics/page-performance?book_id=<book_id> \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

403 Forbidden422 Validation failed
GET/analytics/reader-journey

Get a reader's journey

Returns the ordered timeline for one reader across sessions.

analytics:read Company plan

Parameters

ParameterTypeDetails
viewer_idinteger query
session_idstring query
max 255 chars
datestring query
Example request
curl https://app.flipbooker.com/api/v1/analytics/reader-journey \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

403 Forbidden422 Validation failed
GET/analytics/reader-pages

Summarise readers by page

Returns per-reader, per-page engagement.

analytics:read Company plan

Parameters

ParameterTypeDetails
book_idreqinteger query
viewer_idinteger query
session_idstring query
max 255 chars
datestring query
tracked_link_idinteger query
page_numberinteger query
min 1
Example request
curl https://app.flipbooker.com/api/v1/analytics/reader-pages?book_id=<book_id> \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

403 Forbidden422 Validation failed
GET/analytics/readers

Summarise readers

Returns one engagement summary per reader.

analytics:read Company plan

Parameters

ParameterTypeDetails
book_idreqinteger query
viewer_idinteger query
session_idstring query
max 255 chars
include_anonymousboolean query
datestring query
sortstring query
recentengagement
tracked_link_idinteger query
limitinteger query
1–500
cursorstring query
Example request
curl https://app.flipbooker.com/api/v1/analytics/readers?book_id=<book_id> \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

403 Forbidden422 Validation failed
GET/analytics/reading-session-pages

Summarise sessions by page

Returns page-level detail within each reading session.

analytics:read Company plan

Parameters

ParameterTypeDetails
book_idreqinteger query
view_event_idreqinteger query

Response 200

FieldTypeDetails
datareqstring
metareqstring
Example request
curl https://app.flipbooker.com/api/v1/analytics/reading-session-pages?book_id=<book_id>&view_event_id=<view_event_id> \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

403 Forbidden422 Validation failed

Exports

GET/exports/analytics/{bookId}

Export analytics

Downloads a flipbook analytics summary as a CSV file.

exports:read Company plan

Parameters

ParameterTypeDetails
bookIdreqinteger path
Example request
curl https://app.flipbooker.com/api/v1/exports/analytics/<bookId> \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"
GET/exports/books/{bookId}/access-audit

Export the access audit

Downloads the flipbook access audit as CSV.

exports:read Company plan

Parameters

ParameterTypeDetails
bookIdreqinteger path
Example request
curl https://app.flipbooker.com/api/v1/exports/books/<bookId>/access-audit \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"
GET/exports/books/{bookId}/leads

Export leads

Downloads captured lead form submissions as CSV.

exports:read

Parameters

ParameterTypeDetails
bookIdreqinteger path
Example request
curl https://app.flipbooker.com/api/v1/exports/books/<bookId>/leads \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"
GET/exports/books/{id}/audit-log

Export the audit log

Downloads the analytics audit log as CSV.

exports:read Company plan

Parameters

ParameterTypeDetails
idreqinteger path
Example request
curl https://app.flipbooker.com/api/v1/exports/books/<id>/audit-log \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"
GET/exports/books/{id}/interaction-events

Export interaction events

Downloads raw reader interaction events as CSV.

exports:read Company plan

Parameters

ParameterTypeDetails
idreqinteger path
Example request
curl https://app.flipbooker.com/api/v1/exports/books/<id>/interaction-events \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"
GET/exports/books/{id}/page-performance

Export page performance

Downloads aggregate page engagement as CSV.

exports:read Company plan

Parameters

ParameterTypeDetails
idreqinteger path
Example request
curl https://app.flipbooker.com/api/v1/exports/books/<id>/page-performance \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"
GET/exports/books/{id}/reader-pages

Export reader page summaries

Downloads per-reader, per-page engagement as CSV.

exports:read Company plan

Parameters

ParameterTypeDetails
idreqinteger path
Example request
curl https://app.flipbooker.com/api/v1/exports/books/<id>/reader-pages \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"
GET/exports/books/{id}/readers

Export reader summaries

Downloads per-reader engagement summaries as CSV.

exports:read Company plan

Parameters

ParameterTypeDetails
idreqinteger path
Example request
curl https://app.flipbooker.com/api/v1/exports/books/<id>/readers \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Brand

GET/brand

Retrieve the brand

Returns the workspace brand and public flipbook styling.

brand:read

Response 200

FieldTypeDetails
datareqobject
data.brandreqobject
metareqstring
Example request
curl https://app.flipbooker.com/api/v1/brand \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"
POST/brand

Create the brand

Creates the workspace brand record.

brand:write

Request body multipart/form-data

FieldTypeDetails
about_brandstring
company_namereqstring
contact_numberstring
facebookstring
filestring
max 2048 chars format: binary
google_analyticsstring
instagramstring
linkedinstring
pintereststring
primary_colorstring
secondary_colorstring
tertiary_colorstring
twitterstring
website_urlstring
format: uri
youtubestring

Response 201

FieldTypeDetails
datareqobject
data.brandreqobject
data.brand.about_brandstring
data.brand.brand_colorobject
data.brand.brand_social_mediaobject
data.brand.company_namestring
data.brand.contact_numberstring
data.brand.created_atstring
format: date-time
data.brand.google_analyticsstring
data.brand.idreqinteger
data.brand.logostring
data.brand.updated_atstring
format: date-time
Example request
curl -X POST https://app.flipbooker.com/api/v1/brand \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY" \
  -F "company_name=<string>" \
  -F "[email protected]"

Error responses

403 Forbidden422 Validation failed
PUT/brand

Update the brand

Updates the supplied workspace brand fields.

brand:write

Request body multipart/form-data

FieldTypeDetails
about_brandstring
company_namereqstring
contact_numberstring
facebookstring
filestring
max 2048 chars format: binary
google_analyticsstring
idreqinteger
instagramstring
linkedinstring
pintereststring
primary_colorstring
secondary_colorstring
tertiary_colorstring
twitterstring
website_urlstring
format: uri
youtubestring

Response 200

FieldTypeDetails
datareqobject
data.brandreqobject
metareqstring
Example request
curl -X PUT https://app.flipbooker.com/api/v1/brand \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY" \
  -F "company_name=<string>" \
  -F "[email protected]" \
  -F "id=<integer>"

Error responses

403 Forbidden422 Validation failed
POST/toggle-take-over-branding

Toggle branding takeover

Turns workspace branding takeover on or off for public flipbook pages.

brand:write

Response 200

FieldTypeDetails
datareqobject
data.brandreqobject
data.brand.about_brandstring
data.brand.brand_colorobject
data.brand.brand_social_mediaobject
data.brand.company_namestring
data.brand.contact_numberstring
data.brand.created_atstring
format: date-time
data.brand.google_analyticsstring
data.brand.idreqinteger
data.brand.logostring
data.brand.updated_atstring
format: date-time
Example request
curl -X POST https://app.flipbooker.com/api/v1/toggle-take-over-branding \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

403 Forbidden404 Not found

Webhooks

GET/webhook-subscriptions

List webhook subscriptions

Returns the workspace webhook subscriptions and their event filters.

webhooks:read

Response 200

FieldTypeDetails
datareqobject[]
data.created_atreqstring
data.deliveries_countreqinteger
data.event_typesreqobject[]
data.filtersreqobject[]
data.has_signing_secretreqboolean
data.idreqinteger
data.is_activereqboolean
data.namereqstring
data.providerreqstring
data.target_urlreqstring
data.updated_atreqstring
Example request
curl https://app.flipbooker.com/api/v1/webhook-subscriptions \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"
POST/webhook-subscriptions

Create a webhook subscription

Subscribes an endpoint to one or more analytics events.

webhooks:write

Response 201

FieldTypeDetails
datareqobject
data.created_atreqstring
data.deliveries_countreqinteger
data.event_typesreqobject[]
data.filtersreqobject[]
data.has_signing_secretreqboolean
data.idreqinteger
data.is_activereqboolean
data.namereqstring
data.providerreqstring
data.target_urlreqstring
data.updated_atreqstring
Example request
curl -X POST https://app.flipbooker.com/api/v1/webhook-subscriptions \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"
PUT/webhook-subscriptions/{subscription}

Update a webhook subscription

Changes a subscription target URL or event list.

webhooks:write

Parameters

ParameterTypeDetails
subscriptionreqinteger path

The subscription ID

Response 200

FieldTypeDetails
datareqobject
data.created_atreqstring
data.deliveries_countreqinteger
data.event_typesreqobject[]
data.filtersreqobject[]
data.has_signing_secretreqboolean
data.idreqinteger
data.is_activereqboolean
data.namereqstring
data.providerreqstring
data.target_urlreqstring
data.updated_atreqstring
Example request
curl -X PUT https://app.flipbooker.com/api/v1/webhook-subscriptions/<subscription> \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

404 Not found
DELETE/webhook-subscriptions/{subscription}

Delete a webhook subscription

Removes a subscription while preserving its delivery history.

webhooks:write

Parameters

ParameterTypeDetails
subscriptionreqinteger path

The subscription ID

Example request
curl -X DELETE https://app.flipbooker.com/api/v1/webhook-subscriptions/<subscription> \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

404 Not found
GET/webhook-subscriptions/{subscription}/deliveries

List webhook deliveries

Returns recent delivery attempts and response statuses.

webhooks:read

Parameters

ParameterTypeDetails
subscriptionreqinteger path

The subscription ID

Response 200

FieldTypeDetails
datareqobject[]
data.attemptsreqinteger
data.created_atreqstring
data.delivered_atreqstring
data.error_messagestring
data.event_idreqstring
data.event_typereqstring
data.idreqinteger
data.payloadreqobject[]
data.response_bodystring
data.response_statusinteger
data.statusreqstring
Example request
curl https://app.flipbooker.com/api/v1/webhook-subscriptions/<subscription>/deliveries \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

404 Not found
POST/webhook-subscriptions/{subscription}/test

Test a webhook subscription

Sends a test delivery to a subscription endpoint.

webhooks:write

Parameters

ParameterTypeDetails
subscriptionreqinteger path

The subscription ID

Response 202

FieldTypeDetails
datareqobject
data.attemptsreqinteger
data.created_atreqstring
data.delivered_atreqstring
data.error_messagestring
data.event_idreqstring
data.event_typereqstring
data.idreqinteger
data.payloadreqobject[]
data.response_bodystring
data.response_statusinteger
data.statusreqstring
Example request
curl -X POST https://app.flipbooker.com/api/v1/webhook-subscriptions/<subscription>/test \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

404 Not found
POST/webhooks

Send a sample webhook

Dispatches a sample event to a URL so you can verify a webhook endpoint.

webhooks:write

Request body application/json

FieldTypeDetails
eventstring
flipbook.createdflipbook.updatedsubscriber.added
payloadarray
urlstring
max 2048 chars format: uri

Response 202

FieldTypeDetails
datareqobject
data.eventreqstring
data.messagereqstring
data.payloadreqobject[]
data.target_urlreqstring
metareqstring
Example request
curl -X POST https://app.flipbooker.com/api/v1/webhooks \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

Error responses

422 Validation failed502 Delivery failed

Catalogs

GET/catalogs

List catalogs

Returns product catalogs in the workspace.

catalogs:read

Parameters

ParameterTypeDetails
limitstring query
default: 25

Response 200

FieldTypeDetails
datareqobject[]
data.created_atreqstring
data.external_idstring
data.idreqinteger
data.last_sync_errorstring
data.last_sync_statusstring
data.last_synced_atreqstring
data.metadataarray
data.namereqstring
data.sourcereqstring
data.source_urlstring
data.statusreqstring
Example request
curl https://app.flipbooker.com/api/v1/catalogs \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"
POST/catalogs

Create a catalog

Creates a product catalog.

catalogs:write

Request body application/json

FieldTypeDetails
external_idstring
max 255 chars
metadataarray
namereqstring
max 255 chars
sourcestring
woocommercewordpressshopifyecwidcustom
source_urlstring
max 2048 chars format: uri
template_keystring

Response 202

FieldTypeDetails
datareqobject
data.catalogreqobject
data.catalog.created_atreqstring
data.catalog.external_idstring
data.catalog.idreqinteger
data.catalog.last_sync_errorstring
data.catalog.last_sync_statusstring
data.catalog.last_synced_atreqstring
data.catalog.metadataarray
data.catalog.namereqstring
data.catalog.sourcereqstring
data.catalog.source_urlstring
Example request
curl -X POST https://app.flipbooker.com/api/v1/catalogs \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"<string>"}'

Error responses

422 Validation failed
GET/catalogs/{catalog}

Retrieve a catalog

Returns one product catalog and its metadata.

catalogs:read

Parameters

ParameterTypeDetails
catalogreqinteger path

The catalog ID

Response 200

FieldTypeDetails
datareqobject
data.catalogreqobject
data.catalog.created_atreqstring
data.catalog.external_idstring
data.catalog.idreqinteger
data.catalog.last_sync_errorstring
data.catalog.last_sync_statusstring
data.catalog.last_synced_atreqstring
data.catalog.metadataarray
data.catalog.namereqstring
data.catalog.sourcereqstring
data.catalog.source_urlstring
Example request
curl https://app.flipbooker.com/api/v1/catalogs/<catalog> \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

404 Not found
DELETE/catalogs/{catalog}

Delete a catalog

Deletes a product catalog.

catalogs:write

Parameters

ParameterTypeDetails
catalogreqinteger path

The catalog ID

Response 200

FieldTypeDetails
datareqobject
data.catalogreqobject
data.catalog.created_atreqstring
data.catalog.external_idstring
data.catalog.idreqinteger
data.catalog.last_sync_errorstring
data.catalog.last_sync_statusstring
data.catalog.last_synced_atreqstring
data.catalog.metadataarray
data.catalog.namereqstring
data.catalog.sourcereqstring
data.catalog.source_urlstring
Example request
curl -X DELETE https://app.flipbooker.com/api/v1/catalogs/<catalog> \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

404 Not found
GET/catalogs/{catalog}/items

List catalog items

Returns the products in a catalog.

catalogs:read

Parameters

ParameterTypeDetails
catalogreqinteger path

The catalog ID

limitstring query
default: 25

Response 200

FieldTypeDetails
datareqobject[]
data.availabilityarray
data.availableboolean
data.catalog_idreqinteger
data.categoriesarray
data.created_atreqstring
data.currencystring
data.descriptionstring
data.external_item_keyreqstring
data.external_product_idreqstring
data.external_variant_idstring
data.galleryarray
Example request
curl https://app.flipbooker.com/api/v1/catalogs/<catalog>/items \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

404 Not found
PATCH/catalogs/{catalog}/items/availability

Update catalog item availability

Updates availability for catalog items.

catalogs:write

Parameters

ParameterTypeDetails
catalogreqinteger path

The catalog ID

Request body application/json

FieldTypeDetails
itemsreqstring[][]
snapshot_atstring
format: date-time

Response 202

FieldTypeDetails
datareqobject
data.summaryreqobject
data.summary.accepted_itemsreqstring
data.summary.errorsreqstring | string[]
data.summary.failed_itemsreqstring
data.summary.statusreqstring
data.summary.total_itemsreqstring
data.sync_jobreqobject
data.sync_job.catalog_idreqinteger
data.sync_job.created_atreqstring
data.sync_job.errorsreqobject[]
data.sync_job.finished_atreqstring
Example request
curl -X PATCH https://app.flipbooker.com/api/v1/catalogs/<catalog>/items/availability \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"items":"<string[][]>"}'

Error responses

404 Not found422 Validation failed
DELETE/catalogs/{catalog}/items/{item}

Delete a catalog item

Removes an item from a catalog.

catalogs:write

Parameters

ParameterTypeDetails
catalogreqinteger path

The catalog ID

itemreqinteger path

The item ID

Response 200

FieldTypeDetails
datareqobject
data.messagereqstring
metareqstring
Example request
curl -X DELETE https://app.flipbooker.com/api/v1/catalogs/<catalog>/items/<item> \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

404 Not found
POST/catalogs/{catalog}/items:bulk-upsert

Bulk upsert catalog items

Creates or updates multiple catalog items in one request.

catalogs:write

Parameters

ParameterTypeDetails
catalogreqinteger path

The catalog ID

Request body application/json

FieldTypeDetails
itemsreqstring[][]

Response 202

FieldTypeDetails
datareqobject
data.summaryreqobject
data.summary.accepted_itemsreqstring
data.summary.errorsreqstring | string[]
data.summary.failed_itemsreqstring
data.summary.statusreqstring
data.summary.total_itemsreqstring
data.sync_jobreqobject
data.sync_job.catalog_idreqinteger
data.sync_job.created_atreqstring
data.sync_job.errorsreqobject[]
data.sync_job.finished_atreqstring
Example request
curl -X POST https://app.flipbooker.com/api/v1/catalogs/<catalog>/items:bulk-upsert \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"items":"<string[][]>"}'

Error responses

404 Not found422 Validation failed
POST/catalogs/{catalog}/render

Render a catalog

Creates a flipbook from a product catalog.

catalogs:readbooks:write

Parameters

ParameterTypeDetails
catalogreqinteger path

The catalog ID

Request body application/json

FieldTypeDetails
coverobject
cover.descriptionstring
max 5000 chars
cover.titlestring
max 255 chars
cover.websitestring
max 2048 chars
itemsstring[]
settingsobject
settings.allow_fullscreenboolean
settings.animation_typestring
max 255 chars
settings.auto_links_enabledboolean
settings.backgroundstring
max 2048 chars
settings.copyright_enabledboolean
settings.domains_enabledboolean
settings.downloadable_pdfboolean
settings.eod_enabledboolean
settings.flip_soundboolean
settings.image_displaystring
max 255 chars
settings.mobile_animation_typestring
max 255 chars
settings.pdf_passwordstring
max 255 chars
settings.pdf_privacy_statusstring
max 50 chars
settings.share_social_mediaboolean
statusstring
draftpublish
template_idinteger
min 1
titlestring
max 255 chars
Example request
curl -X POST https://app.flipbooker.com/api/v1/catalogs/<catalog>/render \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

Error responses

401 Unauthenticated404 Not found422 Validation failed
GET/catalogs/{catalog}/sync-jobs/{syncJob}

Retrieve a catalog sync job

Returns the status of a catalog synchronization job.

catalogs:read

Parameters

ParameterTypeDetails
catalogreqinteger path

The catalog ID

syncJobreqinteger path

The sync job ID

Response 200

FieldTypeDetails
datareqobject
data.sync_jobreqobject
data.sync_job.catalog_idreqinteger
data.sync_job.created_atreqstring
data.sync_job.errorsreqobject[]
data.sync_job.finished_atreqstring
data.sync_job.idreqinteger
data.sync_job.progressreqobject
data.sync_job.started_atreqstring
data.sync_job.statusreqstring
data.sync_job.typereqstring
data.sync_job.updated_atreqstring
Example request
curl https://app.flipbooker.com/api/v1/catalogs/<catalog>/sync-jobs/<syncJob> \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

401 Unauthenticated404 Not found
GET/templates

List catalog templates

Returns the catalog templates available to the workspace.

catalogs:read

Parameters

ParameterTypeDetails
typestring query
max 64 chars

Response 200

FieldTypeDetails
datareqobject[]
data.idreqstring
data.is_defaultreqboolean
data.namereqstring
data.thumbnailsreqobject
data.typereqstring
metareqobject
meta.default_template_idreqstring
meta.default_template_sourcereqstring
Example request
curl https://app.flipbooker.com/api/v1/templates \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"

Error responses

422 Validation failed

Integrations

POST/integrations/shopify/webhooks

Receive a Shopify product webhook

Processes a Shopify product data webhook for catalog synchronization.

catalogs:write

Request body application/json

FieldTypeDetails
payloadreqobject
payload.customerobject
payload.customer.emailstring
max 255 chars format: email
payload.customer.idinteger
payload.data_requestobject
payload.data_request.idinteger
payload.shop_domainreqstring
max 255 chars
payload.shop_idreqinteger
shopDomainreqstring
max 255 chars
topicreqstring
customers/data_requestcustomers/redactshop/redact

Response 202

FieldTypeDetails
actionreqstring
countsreqobject
replayedreqboolean
statusreqstring
Example request
curl -X POST https://app.flipbooker.com/api/v1/integrations/shopify/webhooks \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"payload":"<object>","shopDomain":"<string>","topic":"customers/data_request"}'

Error responses

401 Unauthenticated422 Validation failed

General

GET/health

Health check

Returns the API status and version.

Response 200

FieldTypeDetails
statusreqstring
timestampreqstring
versionreqstring
Example request
curl https://app.flipbooker.com/api/v1/health \
  -H "Authorization: Bearer $FLIPBOOKER_API_KEY"