Developer API · REST

FlipLink API Reference

Create flipbooks & documents, configure the viewer, capture leads, and manage custom domains — all programmatically. Authenticate with your API key and try every endpoint live, right from this page.

Base URL https://go.fliplink.me

Get a key →

Introduction

The FlipLink REST API lets you create and manage flipbooks & documents programmatically — upload PDFs, configure the viewer, capture leads, manage custom domains, and more. Every endpoint is reachable under the base URL below and authenticated with your API key.

Base URL
https://go.fliplink.me

Authentication

Send your API key on every request. Two header styles are supported — use whichever your HTTP client prefers:

Auth headers
X-Api-Key: YOUR_API_KEY
# — or —
Authorization: Bearer YOUR_API_KEY

A missing or invalid key is rejected with HTTP 401 (an HTML “Unauthorized” page — there is no JSON body, so don’t try to parse one on a 401). Once the key is valid, every other error comes back as HTTP 200 with Result: ERROR (see below). Keep your key secret — never expose it in client-side code you ship to end users.

Response format & result types

All responses are JSON and carry a top-level Result field — there are exactly two values:

  • "Result": "OK" — success. Read endpoints add their payload; write endpoints add a human Message (e.g. "Updated successfully") and create/duplicate return the new ID and URL.
  • "Result": "ERROR" — failure, with a Message explaining why.

Important: only auth failures (401), oversize uploads (413) and rate limiting (429) use a non-200 HTTP status. Everything else — validation, “not found”, business rules — returns HTTP 200 with Result: ERROR, so check Result, not just the status.

Pagination

List endpoints accept PageNo, PageSize, and Offset query parameters. Omit them for sensible defaults.

Rate limits

Each API key is limited to 300 requests per minute. The window is fixed and resets on the clock minute (not a rolling 60 seconds). Every response carries the current budget in its headers:

Rate-limit headers
X-RateLimit-Limit: 300          # requests allowed per minute
X-RateLimit-Remaining: 287      # requests left in the current window
X-RateLimit-Reset: 1781962140   # Unix epoch (seconds) when the window resets

When you exceed the limit you get HTTP 429. Wait until X-RateLimit-Reset (or back off and retry), and keep an eye on X-RateLimit-Remaining to stay under the cap.

Plan limits & quotas

Your flipbook quota is returned on create responses and get-subscription-details as Flipbooks_Count / Flipbooks_Max / Flipbooks_Left. Max upload size is exposed as MaxFileSizeMB.

Errors

Common conditions you should handle (each endpoint lists its own below too):

  • 401 — missing or invalid API key (HTML page, no JSON)
  • 413 — upload exceeds the plan’s max file size
  • 429 — rate limited; back off and retry
  • 200 + Result:ERROR — everything else: not found ("Item not found"), validation ("Unknown field(s) …"), or a business rule ("This custom URL is already in use…", "File is not a valid PDF")

Profile

Who Am I

Returns the account that owns the API key — user/vendor IDs, name, email, brand, app URL, and the plan's max upload size (MaxFileSizeMB).

GEThttps://go.fliplink.me/api/whoami

Prerequisites — none. This is the root call: it authenticates your API key, the prerequisite for every other endpoint.

No parameters.

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

GET/api/whoami
curl -X GET 'https://go.fliplink.me/api/whoami' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "UserID": "10000",
  "VendorID": "20000",
  "Name": "Your Account",
  "Email": "you@example.com",
  "Brand": "Fliplink",
  "AppURL": "go.fliplink.me",
  "MaxFileSizeMB": 150
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Get Profile

Returns the account profile for the API key — display name, phone, and profile-image URL.

GEThttps://go.fliplink.me/api/get-profile
PrerequisitesWho Am I(valid API key)Get Profile

No parameters.

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

GET/api/get-profile
curl -X GET 'https://go.fliplink.me/api/get-profile' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "Name": "Your Account",
  "Phone": "",
  "ProfileImage": ""
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Set Profile (partial)

Partial update — omitted fields keep their existing values. At least one field required.

PUThttps://go.fliplink.me/api/set-profile
PrerequisitesWho Am I(valid API key)Set Profile (partial)

Body parameters

Namee.g. Mark Stevens
Phonephonee.g. +14155550142
ProfileImageURLe.g. https://...

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-profile
curl -X PUT 'https://go.fliplink.me/api/set-profile' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'Name=Mark Stevens' \
  --data-urlencode 'Phone=+14155550142' \
  --data-urlencode 'ProfileImage=https://...'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Body parameters

Subscription & Payments

Get Subscription Details

Returns your current plan and quota — plan name, status, fees, next-invoice date, max file size, max items/CNAMEs, and feature flags.

GEThttps://go.fliplink.me/api/get-subscription-details
PrerequisitesWho Am I(valid API key)Get Subscription Details

No parameters.

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

GET/api/get-subscription-details
curl -X GET 'https://go.fliplink.me/api/get-subscription-details' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "Subscription": {
    "BrandName": "",
    "Name": "Your Account",
    "Mobile": "",
    "SubscriptionPlan": "LTD Individual",
    "SubscriptionFees": "USD 39.00",
    "Tax": "",
    "SubscriptionID": "#20000",
    "ActiveFrom": "12 Jun 2026",
    "Status": "Active",
    "NextInvoice": "01 Jan 2050",
    "Email": "you@example.com",
    "PhotoIMG": "/Content/assetsNew/media/avatars/blank.png",
    "MaxFileSizeBytes": 157286400,
    "MaxFileSize": "150",
    "MaxCNAME": "Unlimited",
    "AdvancedSharing": "Yes",
    "LeadEmailVerification": "Yes",
    "IsLTD": "Yes",
    "MaxItems": "200"
  }
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

List Payments

Returns your billing history — each plan purchase/renewal with order ID, amount, plan, date, and item count.

GEThttps://go.fliplink.me/api/list-payments
PrerequisitesWho Am I(valid API key)List Payments

No parameters.

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

GET/api/list-payments
curl -X GET 'https://go.fliplink.me/api/list-payments' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "Items": [
    {
      "OrderID": "#10001",
      "Amount": "USD 39.00",
      "Plan": "LTD Individual / 822bf1b6",
      "Date": "12 Jun 2026",
      "DateIso": "2026-06-12T00:00:00+05:30",
      "InvoiceURL": "",
      "ItemCount": 100
    }
  ]
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Items — Create

Create by File

Creates a flipbook (or document) from an uploaded PDF, sent as multipart/form-data. The file is stored, a thumbnail is generated, and the record is registered.

Notes
- Whether you get a Flipbook or a Document is chosen by the request Host header — go.fliplink.me (default) returns Flipbooks, go.doclink.me returns Documents.
- *_Count / *_Max / *_Left reflect your plan quota after this create.
- Use the returned ID for follow-up calls (set-meta, set-cta-primary, save-as-template, etc.).
- Max file size is per-plan (see MaxFileSizeMB from who-am-i).

POSThttps://go.fliplink.me/api/create-by-file
PrerequisitesWho Am I(valid API key)Create by File

Body (multipart/form-data)

Filefile
Namee.g. My Document
Titlee.g. My Title
DocTypeenumFlipbook or Document. On go.doclink.me always treated as Document.One of: Flipbook, Document

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Uploaded file is not a readable PDF{ "Result": "ERROR", "Message": "File is not a valid PDF." }
413Upload exceeds the plan's max file size{ "Result": "ERROR", "Message": "File exceeds the maximum allowed upload size." }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

POST/api/create-by-file
curl -X POST 'https://go.fliplink.me/api/create-by-file' \  -H 'X-Api-Key: YOUR_API_KEY' \
  -F 'File=@/path/to/file' \
  -F 'Name=My Document' \
  -F 'Title=My Title' \
  -F 'DocType=Flipbook'
Example response200 OK
{
  "Result": "OK",
  "ID": "90001",
  "URL": "https://go.fliplink.me/view/<slug>",
  "Flipbooks_Count": 12,
  "Flipbooks_Max": 200,
  "Flipbooks_Left": 188
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Body (form-data)

Create by URL

Creates a flipbook (or document) from a PDF URL. The server downloads FileURL, uploads it to S3, generates a thumbnail, and registers the record.

Notes
- The field-name prefix Flipbooks_* vs Documents_* is chosen by the request Host header — go.fliplink.me (default) returns Flipbooks, go.doclink.me returns Documents.
- *_Count / *_Max / *_Left reflect the account's plan quota after this create.
- The source URL must respond within 60s — slow or unreachable sources fail with Source URL timed out after 60s. For unreliable sources, prefer /api/create-by-file.

POSThttps://go.fliplink.me/api/create-by-url
PrerequisitesWho Am I(valid API key)Create by URL

Body parameters

FileURLURLe.g. https://example.com/document.pdf
Namee.g. My Document
Titlee.g. My Title
DocTypeenume.g. FlipbookOne of: Flipbook, Document

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200FileURL host is private / not allowed{ "Result": "ERROR", "Message": "FileURL host is not allowed." }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

POST/api/create-by-url
curl -X POST 'https://go.fliplink.me/api/create-by-url' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'FileURL=https://example.com/document.pdf' \
  --data-urlencode 'Name=My Document' \
  --data-urlencode 'Title=My Title' \
  --data-urlencode 'DocType=Flipbook'
Example response200 OK
{
  "Result": "OK",
  "ID": "90001",
  "URL": "https://go.fliplink.me/view/<slug>",
  "Flipbooks_Count": 12,
  "Flipbooks_Max": 200,
  "Flipbooks_Left": 188
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Body parameters

Items — Read

Get one

Returns the full record for a single flipbook/document by ID — every stored column: title, URLs, view/lead/sale counts, folder, and status flags. The full record is returned wrapped in an `Item` object with ~190 columns; the example below is an abbreviated, representative subset.

GEThttps://go.fliplink.me/api/get/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Get one

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

GET/api/get/{flipbookId}
curl -X GET 'https://go.fliplink.me/api/get/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "Item": {
    "ID": 96216,
    "Name": "My Document",
    "Title": "My Title",
    "DocType": "Flipbook",
    "IsPublished": true,
    "Pages": 8,
    "Folder": "Marketing",
    "SkinName": "Light Wood",
    "CustomURL": "my-document-96216",
    "ValidTillDate": "",
    "NoOfViews": 42,
    "NoOfLeads": 3,
    "NoOfSales": 0,
    "IsForSale": false,
    "IsLeadCapture": true,
    "IsPasswordProtected": false,
    "BookLayout": 1,
    "ScrollBehaviour": 1,
    "IsRightToLeft": false,
    "CoverType": "1",
    "PageDepth": "1",
    "FullURL": "https://go.fliplink.me/view/8BDB015E-1C2A-4625-8EF6-81263AB98172",
    "EmbedURL": "https://go.fliplink.me/view/8BDB015E-1C2A-4625-8EF6-81263AB98172"
  }
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Find by URL

Looks up a flipbook by its public/share URL and returns its full record (same shape as get).

GEThttps://go.fliplink.me/api/find-by-url
PrerequisitesWho Am I(valid API key)Find by URL

Query parameters

URLURLFull viewer URL, a CNAME URL, or just the bare CustomURL slug. The server takes the last path segment as the slug.

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

GET/api/find-by-url
curl -X GET 'https://go.fliplink.me/api/find-by-url?URL=https%3A%2F%2Fgo.fliplink.me%2Fview%2F%3Cslug%3E' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "Item": {
    "ID": 96216,
    "VendorID": "20000",
    "FilePDF": "/docs/20001/894abc58~demo_multipage.pdf",
    "Name": " coverage 20-Jun",
    "CreatedOn": "/Date(1781945608053)/",
    "NoOfViews": 1,
    "IsActive": true,
    "CustomURL": "your-flipbook-slug",
    "Title": "",
    "Description": " desc",
    "SkinID": -1,
    "LogoIMG": "",
    "LogoURL": "https://fliplink.me",
    "BackgroundIMG": "",
    "BackgroundDisplayFit": "",
    "BackgroundFillDirection": "",
    "ColorPanel": "#5A5F63",
    "ColorBackground": "#F2F2F2",
    "ColorLink": "#75869C",
    "FaviconIMG": "",
    "IsShare": true,
    "IsPrint": true,
    "IsDownload": false,
    "IsTextSelection": true,
    "IsThumbnails": true,
    "IsSound": false,
    "IsFullscreen": false,
    "IsZoom": false,
    "IsSearch": true,
    "IsPinnedThumbnails": false,
    "IsCTAButton": false,
    "CTAButtonText": "Buy",
    "CTAButtonColor": "#3366FF",
    "CTAButtonTextColor": "       ",
    "CTAButtonURL": "https://fliplink.me",
    "IsPasswordProtected": false,
    "Password": "",
    "IsLeadCapture": true,
    "LeadCaptureTitle": "",
    "IsLeadEmail": true,
    "IsLeadEmailMandatory": true,
    "IsLeadName": true,
    "IsLeadNameMandatory": false,
    "IsLeadPhone": false,
    "IsLeadPhoneMandatory": false,
    "IsLeadCompany": false,
    "IsLeadCompanyMandatory": false,
    "IsLeadDate": false,
    "IsLeadDateMandatory": false,
    "IsLeadCustom1": false,
    "IsLeadCustom1Mandatory": false,
    "Custom1Label": "",
    "IsLeadCustom2": false,
    "IsLeadCustom2Mandatory": false,
    "Custom2Label": "",
    "IsLeadPrivacyPolicy": false,
    "PrivacyPolicyURL": "",
    "IsLeadAllowSkip": true,
    "PageTurnMode": "Flip",
    "BookLayout": 1,
    "Shadowdepth": 1,
    "IsFixedZoomMode": false,
    "IsHardCover": false,
    "IsBookThickness": true,
    "IsLinkHighlight": true,
    "IsRightToLeft": false,
    "IMGPdf": "/Content/assets/media/users/no-image.png",
    "Pages": 8,
    "FacebookAnalyticsCode": "",
    "GoogleAnalyticsCode": "",
    "GoogleTagManager": "",
    "Folder": "-Folder",
    "PabblyWebhookURL_NewLead": "https://example.com/webhook-apitest",
    "TitleColor": "#3366FF",
    "CNAME": "",
    "IsNoIndex": false,
    "BackgroundMusic": "",
    "BackgroundMusicCustom": "",
    "AutoFlipInSecs": 0,
    "PwdTitle": "This is a private flipbook.\r\nTo view it, please enter the password.",
    "PwdPlaceholder": "Password",
    "PwdButton": "Submit",
    "LeadEmail": "Email",
    "LeadName": "Name",
    "LeadPhone": "Phone",
    "LeadCompany": "Company",
    "LeadDate": "Date",
    "LeadButton": "Submit",
    "SkinName": "Light Wood",
    "DocType": "Flipbook",
    "IsSendEmailOnView": false,
    "LeadFormAfterPages": 0,
    "CustomLoadingText": " loading",
    "IsShareButtons": true,
    "IsNotes": false,
    "IsCTAButton2": false,
    "CTAButtonText2": "More",
    "CTAButtonColor2": "#3366FF",
    "CTAButtonTextColor2": "       ",
    "CTAButtonURL2": "",
    "IsVerifyEmail": false,
    "IsVerifyMobile": false,
    "TwillioAPIKey": "",
    "IsShowControls": true,
    "NotificationsEmail": "antifragiletech@gmail.com",
    "GoogleSheetURL": "",
    "GoogleSheetIDKey": "",
    "GoogleSheetName": "",
    "PrivacyPolicyText": "",
    "PageDepth": "1",
    "CoverType": "1",
    "IsPublished": true,
    "LeadPhoneCountry": "",
    "LeadAfterPages": 0,
    "EmailsAllowed": "",
    "EmailVerifyTitleText": "antifragiletech@gmail.com",
    "EmailVerifyButtonText": "antifragiletech@gmail.com",
    "LeadSkipText": "",
    "OrdPos": 1,
    "IsStarred": false,
    "IsShowLogoMobile": true,
    "PreviewPDF": "",
    "IsForSale": false,
    "SaleCurr": "USD",
    "SaleAmount": 10,
    "SalePageTitle": "",
    "SaleAccessPageTitle": "",
    "SalePurchaseButtonText": "",
    "SaleButtonText": "",
    "SaleAccessButtonText": "",
    "SaleButtonColor": "#3366FF",
    "SaleGatewayName": "",
    "SaleGatewayKey": "",
    "SaleGatewaySecret": "",
    "EmailLeadSubject": "",
    "EmailLeadBody": " body",
    "EmailViewSubject": "antifragiletech@gmail.com",
    "EmailViewBody": "antifragiletech@gmail.com",
    "EmailSaleSubject": "antifragiletech@gmail.com",
    "EmailSaleBody": "antifragiletech@gmail.com",
    "TopLeft": "",
    "TopRight": "",
    "BottomLeft": "",
    "BottomRight": "",
    "IsCTAHiddenInPreview": false,
    "IsApprovalButton": false,
    "ApprovalButtonText": "Approve Document",
    "ApprovalButtonColor": "#000000",
    "ApprovalButtonTextColor": "#FFFFFF",
    "EmailApproveRequestSubject": "Document Approval Request: ##DOCUMENT_TITLE##",
    "EmailApproveRequestBody": "<p dir=\"ltr\" style=\"line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;\"><span style=\"color: #222222; font-family...",
    "EmailApproveRemindSubject": "Pending Document Approval: ##DOCUMENT_TITLE##",
    "EmailApproveRemindBody": "<p dir=\"ltr\" style=\"line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;\"><span style=\"color: #222222; font-family...",
    "EmailApproveSubmitSubject": "Document Approved: ##DOCUMENT_TITLE##",
    "EmailApproveSubmitBody": "<p>Hi,</p>\n<p>We are pleased to inform you that the following document has been approved:</p>\n<p>Name: <strong>##DOCU...",
    "IsBackgroundMusicLoop": false,
    "IsNavFirstLast": true,
    "IsShareFacebook": true,
    "IsShareTwitter": true,
    "IsShareWhatsApp": true,
    "IsShareTelegram": false,
    "IsShareLinkedIn": false,
    "IsSharePinterest": false,
    "IsShareReddit": false,
    "IsShareTumblr": false,
    "IsShareMessenger": false,
    "IsShareEmail": false,
    "IsShareLine": false,
    "IsShareWeChat": false,
    "IsShareInstagram": false,
    "IsShareFlipboard": false,
    "IsShareGeneral": false,
    "ScrollBehaviour": 1,
    "AIProvider": "",
    "AIKey": "",
    "IsVA": false,
    "VAButtonText": "",
    "VAButtonColor": "#3366FF",
    "VAButtonTextColor": "#3366FF",
    "VAText": "",
    "VAEmbeddings": "",
    "VAButtonStatus1": "0",
    "VAButtonStatus2": "0",
    "VAButtonStatus3": "0",
    "VAButtonStatus4": "0",
    "FrontPDF": "/docs/20001/f9496e75~dummy.pdf",
    "MiddlePDF": "/docs/20001/0b14ad4d~demo_multipage.pdf",
    "BackPDF": "/docs/20001/68504e6d~dummy.pdf",
    "URLPrefix": "https://go.fliplink.me/view/",
    "NoOfSales": 0,
    "WebhookURL_NewLead": "https://example.com/webhook-apitest",
    "CreatedOnIso": "2026-06-20T14:23:28+05:30"
  }
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Query parameters

List

Lists your flipbooks/documents with paging (PageNo/PageSize). Each item includes IDs, title, URLs, view/lead/sale counts, folder, and status flags.

GEThttps://go.fliplink.me/api/list
PrerequisitesWho Am I(valid API key)List

Query parameters

Folder
SearchText
PageNonumbere.g. 1
PageSizenumbere.g. 25
Offsetnumbere.g. 0
SortByenumOptional. One of: `Name`, `DocType`, `CreatedOn`, `NoOfViews`, `NoOfLeads`. Empty = default ordering; unknown values fall back to the default.One of: Name, DocType, CreatedOn, NoOfViews, NoOfLeads
SortOrderenumOptional. `ASC` or `DESC`. Ignored if SortBy is empty. Unknown values silently fall back to default.One of: ASC, DESC

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

GET/api/list
curl -X GET 'https://go.fliplink.me/api/list?Folder=%3CFolder%3E&SearchText=%3CSearchText%3E&PageNo=1&PageSize=25&Offset=0&SortBy=%3CSortBy%3E&SortOrder=%3CSortOrder%3E' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "Items": [
    {
      "ID": 93286,
      "Name": "INSPECT matrix Document - Copy 000",
      "Title": "MX Title",
      "CreatedOn": "Jun 12 2026  4:48PM",
      "CreatedOnIso": "2026-06-12T22:18:49.723+05:30",
      "CreatedDate": "Jun 12, 2026",
      "CreatedTime": " 4:48PM",
      "ValidTillDate": "",
      "NoOfViews": 0,
      "CustomURL": "0DF318DC-1CDB-4851-9620-76D3CB8F43C7",
      "Password": "",
      "FilePDF": "/docs/20001/0DF318DC~dummy.pdf",
      "NoOfLeads": 0,
      "NoOfSales": 0,
      "FullURL": "https://go.fliplink.me/view/0DF318DC-1CDB-4851-9620-76D3CB8F43C7",
      "EmbedURL": "https://go.fliplink.me/view/0DF318DC-1CDB-4851-9620-76D3CB8F43C7",
      "IMGPdf": "/Content/assets/media/users/no-image.png",
      "Pages": 0,
      "IsUnpublished": "",
      "Folder": "",
      "IsTemplate": false,
      "CNAMEMessage": "",
      "DocType": "Document",
      "DocTypeColor": "danger",
      "SSL": "No",
      "CompressDataKey": "",
      "Optimised": "",
      "IsPinnedThumbnails": true,
      "IsApprovalButton": true,
      "NoOfApprovals": 0,
      "FrontPDF": "/docs/20001/730d7569~dummy.pdf",
      "MiddlePDF": "/docs/20001/4b34cbea~dummy.pdf",
      "BackPDF": "/docs/20001/e4454ad1~dummy.pdf"
    }
  ],
  "TotalRecordCount": 14,
  "TotalItems": 14,
  "UserItems": 14,
  "PageSize": 10,
  "Capped": false
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Query parameters

Get PDF URL

Returns the public S3 URL of the item's main PDF (merged version if front/back wrapped).

GEThttps://go.fliplink.me/api/get-pdf/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Get PDF URL

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

GET/api/get-pdf/{flipbookId}
curl -X GET 'https://go.fliplink.me/api/get-pdf/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "URL": "https://<bucket>.s3.us-east-1.amazonaws.com/docs/<vendor>/<hash>~main.pdf"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Items — Modify

Duplicate

Creates one or more server-side copies of a flipbook — each copy gets its own new ID and share URL. You can duplicate up to 20 at once (Count).

POSThttps://go.fliplink.me/api/duplicate/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Duplicate

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

Countnumber1–500 (clamped server-side)

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

POST/api/duplicate/{flipbookId}
curl -X POST 'https://go.fliplink.me/api/duplicate/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'Count=3'
Example response200 OK
{
  "Result": "OK",
  "Count": 1,
  "Items": [
    {
      "ID": "93213",
      "URL": "https://go.fliplink.me/C73371B4-B041-4EBD-A518-1E5B5B56DA44"
    }
  ]
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Replace PDF (file)

Multipart upload. Auto re-merges with existing front/back if attached.

PUThttps://go.fliplink.me/api/replace-pdf/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Replace PDF (file)

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body (multipart/form-data)

Filefile

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Uploaded file is not a readable PDF{ "Result": "ERROR", "Message": "File is not a valid PDF." }
413Upload exceeds the plan's max file size{ "Result": "ERROR", "Message": "File exceeds the maximum allowed upload size." }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/replace-pdf/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/replace-pdf/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  -F 'File=@/path/to/file'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body (form-data)

Replace PDF (URL)

Replaces an existing flipbook's PDF with one the server downloads from a URL you provide. The flipbook keeps its ID, settings, and share link.

PUThttps://go.fliplink.me/api/replace-pdf-by-url/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Replace PDF (URL)

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

FileURLe.g. https://example.com/new.pdf

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/replace-pdf-by-url/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/replace-pdf-by-url/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'File=https://example.com/new.pdf'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Save as Template (toggle)

Marks the flipbook as a reusable template (Status=true) or removes it from templates (Status=false). Templates appear in list-templates and can seed new flipbooks.

PUThttps://go.fliplink.me/api/save-as-template/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Save as Template (toggle)

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

Statustrue | falsetrue/false. Default true if omitted.

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/save-as-template/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/save-as-template/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'Status=true'
Example response200 OK
{
  "Result": "OK",
  "Message": "Saved as template"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Assign to Folder

Moves the flipbook into a folder for organisation. Folders are created on demand — assign to a folder name that doesn't exist yet and it's created automatically (there is no separate 'create folder' call). Send an empty Folder to remove the flipbook from its folder. A folder exists only while at least one flipbook is in it, so moving the last flipbook out makes the folder disappear from list-folders. Folder names may contain / (e.g. Marketing/Q2).

PUThttps://go.fliplink.me/api/assign-to-folder/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Assign to Folder

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

FolderFolder name to move the flipbook into — created if it doesn't exist (or reuse a name from list-folders). Send empty to clear the assignment.

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/assign-to-folder/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/assign-to-folder/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'Folder=Marketing/Q2'
Example response200 OK
{
  "Result": "OK",
  "Message": "Folder updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Front/Back Page (file)

Either or both of Front/Back optional — at least one required. Re-merges with existing main PDF.

PUThttps://go.fliplink.me/api/set-front-back-page/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Front/Back Page (file)

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body (multipart/form-data)

Frontfile
Backfile

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Uploaded file is not a readable PDF{ "Result": "ERROR", "Message": "File is not a valid PDF." }
413Upload exceeds the plan's max file size{ "Result": "ERROR", "Message": "File exceeds the maximum allowed upload size." }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-front-back-page/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-front-back-page/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  -F 'Front=@/path/to/file' \
  -F 'Back=@/path/to/file'
Example response200 OK
{
  "Result": "OK",
  "Message": "Pages attached successfully",
  "URL": "https://<bucket>.s3.us-east-1.amazonaws.com/docs/<vendor>/<hash>~main.pdf"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body (form-data)

Set Front/Back Page (URL)

URL variant of set-front-back-page — attaches cover/back pages from a remote PDF URL instead of an uploaded file.

PUThttps://go.fliplink.me/api/set-front-back-page-by-url/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Front/Back Page (URL)

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

FrontURLe.g. https://example.com/front.pdf
BackURLe.g. https://example.com/back.pdf

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-front-back-page-by-url/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-front-back-page-by-url/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'Front=https://example.com/front.pdf' \
  --data-urlencode 'Back=https://example.com/back.pdf'
Example response200 OK
{
  "Result": "OK",
  "Message": "Pages attached successfully",
  "URL": "https://<bucket>.s3.us-east-1.amazonaws.com/docs/<vendor>/<hash>~main.pdf"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Clear Front/Back Page

Removes the front/back wrap, restoring FilePDF to the unwrapped core PDF (MiddlePDF). Idempotent — a flipbook with no wrap returns OK and changes nothing. Returns { Result, Message, URL (core PDF S3 URL) }. Old merged/front/back S3 objects are not deleted.

PUThttps://go.fliplink.me/api/clear-front-back-page/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Clear Front/Back Page

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/clear-front-back-page/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/clear-front-back-page/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "Message": "Pages updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Set Expiry / Remove Expiry

Sets or removes a flipbook's auto-expiry. Send Days + Hours as integers; Days=-1, Hours=0 removes the expiry entirely.

PUThttps://go.fliplink.me/api/set-expiry/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Expiry / Remove Expiry

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

DaysnumberUse -1 to remove expiry
HoursnumberOptional, default 0

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-expiry/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-expiry/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'Days=7' \
  --data-urlencode 'Hours=12'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Pin (toggle)

Pins or unpins the flipbook (the starred state) so it sorts to the top of your dashboard.

PUThttps://go.fliplink.me/api/set-pin/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Pin (toggle)

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

RelatedList
PUT/api/set-pin/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-pin/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Items — Delete

Delete

Permanently deletes the flipbook's database record. Note: the underlying S3 files are NOT auto-removed.

DELETEhttps://go.fliplink.me/api/delete/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Delete

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

DELETE/api/delete/{flipbookId}
curl -X DELETE 'https://go.fliplink.me/api/delete/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "Message": "Item has been deleted successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

CNAME (custom domains)

Add CNAME

Links an already-activated custom domain (CNAME) to a flipbook. The domain must first be added and verified through the web dashboard (which provisions DNS + SSL); this endpoint only persists the binding — it does not verify DNS or issue certificates.

Preconditions:
- The CNAME must already exist on your account (added via the dashboard). Otherwise: Please add CNAME <domain> to your account using the web dashboard. Only activated CNAMEs are allowed to be created via API.
- It must be within your plan's CNAME limit.

Params:
- CNAME (required) — full hostname, e.g. docs.example.com
- IsCloudflare (optional, default 0).

POSThttps://go.fliplink.me/api/add-cname/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Add CNAME

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

CNAMEe.g. docs.example.com
IsCloudflaretrue | falseOptional. 0 (default) or 1. Pass 1 if your DNS is fronted by Cloudflare's proxy.

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

POST/api/add-cname/{flipbookId}
curl -X POST 'https://go.fliplink.me/api/add-cname/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'CNAME=docs.example.com' \
  --data-urlencode 'IsCloudflare=0'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

List CNAMEs

All custom CNAMEs for the caller. Each item: { CNAME, Documents (active flipbook count), FlipbookIDs ([...] of the active flipbook IDs bound to that CNAME) }.

GEThttps://go.fliplink.me/api/list-cnames
PrerequisitesWho Am I(valid API key)List CNAMEs

No parameters.

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

GET/api/list-cnames
curl -X GET 'https://go.fliplink.me/api/list-cnames' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "Items": [
    {
      "CNAME": "ttr.antifragile.ae",
      "Documents": 1,
      "FlipbookIDs": [
        93270
      ]
    }
  ]
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Delete CNAME

Removes a custom domain (CNAME) binding from one or all of your flipbooks. Two modes:

  • Bulk (default): pass CNAME=<host> and leave FlipbookID blank — removes that CNAME from every flipbook you own.
  • Per-flipbook: pass FlipbookID=<id> — the CNAME is looked up from that flipbook. Use this for a per-row 'Remove CNAME' action.

Response (per-flipbook): { "Result": "OK", "Message": "CNAME removed from flipbook successfully" }
Response (bulk): { "Result": "OK", "Message": "CNAME removed successfully" }
Missing both: { "Result": "ERROR", "Message": "CNAME or FlipbookID is required" }

Note: pass the CNAME as a query parameter (not a URL segment) to avoid issues with dots in the hostname.

DELETEhttps://go.fliplink.me/api/delete-cname
PrerequisitesWho Am I(valid API key)List CNAMEs(find the CNAME / FlipbookID)Delete CNAME

Query parameters

CNAMERequired for BULK mode (removes the CNAME from every flipbook you own). Ignored when FlipbookID > 0 — the CNAME is taken from that flipbook instead.
FlipbookIDnumberOptional. Pass a flipbook ID > 0 to remove the CNAME from JUST that one flipbook (per-flipbook mode). Leave blank/omit/0 for bulk mode (remove from all).

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

DELETE/api/delete-cname
curl -X DELETE 'https://go.fliplink.me/api/delete-cname?CNAME=docs.example.com&FlipbookID=%3CFlipbookID%3E' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "Message": "Deleted successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Query parameters

Folders

List Folders

Lists your folders, each as { Folder (name), URL (a folder GUID) }. Folders are derived from flipbook assignments (created via assign-to-folder), so an empty folder is not listed. Folder names feed assign-to-folder (to place a flipbook) and set-team-member (to scope a team member's access).

GEThttps://go.fliplink.me/api/list-folders
PrerequisitesWho Am I(valid API key)List Folders

No parameters.

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

GET/api/list-folders
curl -X GET 'https://go.fliplink.me/api/list-folders' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "Items": [
    {
      "Folder": "Marketing",
      "URL": "00000000-0000-0000-0000-000000000001"
    },
    {
      "Folder": "Marketing/Q2",
      "URL": "00000000-0000-0000-0000-000000000002"
    }
  ]
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Team Members

List Team Members

Lists the team members (vendor users) on your account with their access details, including the folders each member is assigned to. Passwords are never returned. Filter by IsActive.

GEThttps://go.fliplink.me/api/list-team-members
PrerequisitesWho Am I(valid API key)List Team Members

Query parameters

IsActivetrue | false1=active (default), 0=inactive

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

GET/api/list-team-members
curl -X GET 'https://go.fliplink.me/api/list-team-members?IsActive=1' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "Items": [
    {
      "ID": 45452,
      "Name": "Jane Doe",
      "Email": "member@example.com",
      "IsActive": "True",
      "PhotoIMG": "",
      "Total": 0
    }
  ]
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Query parameters

Get Team Member

Returns a single team member by their member ID (the ID from list-team-members) — name, email, active status, and the folders the member is assigned to. A team member is restricted to the folders set via set-team-member (the Folders field), so they can only access flipbooks inside those folders. Passwords are never returned. The memberId is the team-member ID (from List Team Members) — not a flipbook ID; passing a flipbook ID returns "Team member not found". The member is returned wrapped in an Item object; Folders is a comma-separated list of the folders they can access (empty = no folder restriction).

GEThttps://go.fliplink.me/api/get-team-member/{memberId}
PrerequisitesWho Am I(valid API key)Set Team Member (create or update)(create a member first)Get Team Member

Path parameters

memberIdnumberTeam member ID (from list-team-members). NOT a flipbook ID.

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200No team member with that ID (e.g. you passed a flipbook ID){ "Result": "ERROR", "Message": "Team member not found" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

GET/api/get-team-member/{memberId}
curl -X GET 'https://go.fliplink.me/api/get-team-member/{memberId}' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "Item": {
    "ID": 45452,
    "Email": "member@example.com",
    "Name": "Jane Doe",
    "Phone": "",
    "PhotoIMG": "",
    "IsEmailVerified": false,
    "Folders": "Marketing,Sales"
  }
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Set Team Member (create or update)

Creates a new team member (vendor user) or updates an existing one — controlling who can access your account and, via the Folders field, which folders they are limited to (a member only sees flipbooks inside their assigned folders). An audit-log entry is written on success.

Common mistakes: the member's name is a single Name field — there is no FirstName/LastName. Folders is a comma-separated list of folder names from List Folders (e.g. Marketing,Sales); leave it empty for no folder restriction. Creating a member returns { Result:"OK", Message:"Team member created" } (the update path — when ID is supplied — returns "Updated successfully"). The member's email must not already belong to a FlipLink user, and +-aliased emails are rejected.

POSThttps://go.fliplink.me/api/set-team-member
PrerequisitesWho Am I(valid API key)List Folders(names for the Folders scope)Set Team Member (create or update)

Body parameters

Namee.g. Jane
Emailemaile.g. jane@example.com
IDnumberOmit or -1 to create. >0 to update.
PasswordPlaintext; encrypted server-side. Empty on update keeps existing.
ProfileImageURL
FoldersFolders this member is restricted to — a delimited list of folder names (from list-folders). The member can only access flipbooks inside these folders.

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

POST/api/set-team-member
curl -X POST 'https://go.fliplink.me/api/set-team-member' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'Name=Jane' \
  --data-urlencode 'Email=jane@example.com' \
  --data-urlencode 'ID=-1' \
  --data-urlencode 'Password=<Password>' \
  --data-urlencode 'ProfileImage=<ProfileImage>' \
  --data-urlencode 'Folders=<Folders>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Team member created"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Body parameters

Set Team Member Active

Activates or deactivates a team member, controlling whether they can sign in and access the account.

PUThttps://go.fliplink.me/api/set-team-member-active/{memberId}
PrerequisitesWho Am I(valid API key)Set Team Member (create or update)(create a member first)Set Team Member Active

Path parameters

memberIdnumberTeam member ID (from list-team-members). NOT a flipbook ID.

Body parameters

IsActivetrue | falsee.g. true

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-team-member-active/{memberId}
curl -X PUT 'https://go.fliplink.me/api/set-team-member-active/{memberId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'IsActive=true'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Delete Team Member

Soft delete (deactivation). Team members are never hard-deleted — this deactivates the member (a REST alias for set-team-member-active with IsActive=false). Their payment history and audit references stay intact, and they can be reactivated later via PUT /api/set-team-member-active (IsActive=true).

Response: { "Result": "OK", "Message": "Team member deactivated" }.

DELETEhttps://go.fliplink.me/api/delete-team-member/{memberId}
PrerequisitesWho Am I(valid API key)Set Team Member (create or update)(create a member first)Delete Team Member

Path parameters

memberIdnumberTeam member ID (from list-team-members). NOT a flipbook ID.

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

DELETE/api/delete-team-member/{memberId}
curl -X DELETE 'https://go.fliplink.me/api/delete-team-member/{memberId}' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "Message": "Team member deactivated"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Leads & Sales

List Leads

Lists the lead-capture submissions collected by your flipbooks. Returns Items[] plus a dynamic Columns[] schema (to render a table) and TotalRecordCount. Supports paging and CSV export via IsDownload.

GEThttps://go.fliplink.me/api/list-leads
PrerequisitesWho Am I(valid API key)List Leads

Query parameters

ItemIDsComma OR pipe delimited flipbook IDs (empty = all)
SearchText
PageNonumbere.g. 1
Offsetnumbere.g. 0
IsDownloadtrue | falsee.g. true

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

GET/api/list-leads
curl -X GET 'https://go.fliplink.me/api/list-leads?ItemIDs=%3CItemIDs%3E&SearchText=%3CSearchText%3E&PageNo=1&Offset=0&IsDownload=true' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "Items": [],
  "Columns": [
    {
      "ID": 1,
      "data": "ID",
      "title": "ID",
      "type": "numeric",
      "hidden": true,
      "readOnly": true,
      "defaultValue": "",
      "source": "",
      "width": 0,
      "backgroundColor": "",
      "align": "left"
    }
  ],
  "TotalRecordCount": 0
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Query parameters

List Sales

Lists sale/purchase records for your flipbooks (buyer email, flipbook, amount, date) plus the column definitions for the sales table. Supports paging and CSV export via IsDownload.

GEThttps://go.fliplink.me/api/list-sales
PrerequisitesWho Am I(valid API key)List Sales

Query parameters

ItemIDs
SearchText
PageNonumbere.g. 1
Offsetnumbere.g. 0
IsDownloadtrue | falsee.g. true
IsAbandonedtrue | falsetrue → returns abandoned-cart sales instead of completed sales

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

GET/api/list-sales
curl -X GET 'https://go.fliplink.me/api/list-sales?ItemIDs=%3CItemIDs%3E&SearchText=%3CSearchText%3E&PageNo=1&Offset=0&IsDownload=true&IsAbandoned=false' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "Items": [],
  "Columns": [
    {
      "ID": 1,
      "data": "ID",
      "title": "ID",
      "type": "numeric",
      "hidden": true,
      "readOnly": true,
      "defaultValue": "",
      "source": "",
      "width": 0,
      "backgroundColor": "",
      "align": "left"
    }
  ],
  "TotalRecordCount": 0
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Query parameters

Delete Lead

Deletes a single captured lead by its ID. The path segment is the leadId; also pass the lead's Email and its FlipbookID as query parameters.

DELETEhttps://go.fliplink.me/api/delete-lead/{leadId}
PrerequisitesWho Am I(valid API key)List Leads(get a lead ID)Delete Lead

Path parameters

leadIdnumberThe lead's ID (the LeadID from list-leads).

Query parameters

Emailemaile.g. foo@example.com
FlipbookIDnumbere.g. {{flipbookId}}

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

DELETE/api/delete-lead/{leadId}
curl -X DELETE 'https://go.fliplink.me/api/delete-lead/{leadId}?Email=foo%40example.com&FlipbookID=%7B%7BflipbookId%7D%7D' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "Message": "Deleted successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Query parameters

Delete Leads (bulk)

Bulk delete leads by filter. At least ONE of FlipbookID/Email/DateFrom/DateTo is REQUIRED — a no-filter call is rejected (no 'delete all' path). Always vendor-scoped. Returns { Result, Deleted (count) }. Cleans up child rows (view log / CTA clicks / sheet-export log) too.

DELETEhttps://go.fliplink.me/api/delete-leads
PrerequisitesWho Am I(valid API key)Create by File(scope by FlipbookID)Delete Leads (bulk)

Query parameters

FlipbookIDnumberOptional. Delete leads on this flipbook only.
EmailemailOptional. EXACT-match email.
DateFromOptional. Delete leads captured on/after this date (matches Lead.CreatedOn). Any parseable date, e.g. 2026-01-01 or 2026-01-01T00:00:00Z.
DateToOptional. Delete leads captured on/before this date.

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

DELETE/api/delete-leads
curl -X DELETE 'https://go.fliplink.me/api/delete-leads?FlipbookID=%7B%7BflipbookId%7D%7D&Email=%3CEmail%3E&DateFrom=%3CDateFrom%3E&DateTo=%3CDateTo%3E' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "Deleted": 12,
  "Message": "12 lead(s) deleted."
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Query parameters

Set Flipbook Purchase

Records a completed flipbook sale (purchase) — use it to log purchases made through your own payment flow, without going through FlipLink's Stripe checkout.

Path param: {flipbookId} — the flipbook being marked as purchased.

Body (urlencoded):
- Email — buyer's email (required)
- PaymentRef — your payment-gateway reference, e.g. a Stripe PaymentIntent ID (required)

Response (success): { "Result": "OK", "Message": "Purchase recorded successfully" }
Response (error): { "Result": "ERROR", "Message": "Email is required." } / "PaymentRef is required."

Common mistakes: send PaymentRef; do NOT send Amount/Currency — those are derived server-side from your payment reference.

POSThttps://go.fliplink.me/api/set-flipbook-purchase/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Flipbook Purchase

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

EmailemailEmail address of the buyer (required).
PaymentRefPayment-intent reference from the gateway (required). For Stripe, this is the PaymentIntent ID (`pi_...`).

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

POST/api/set-flipbook-purchase/{flipbookId}
curl -X POST 'https://go.fliplink.me/api/set-flipbook-purchase/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'Email=customer@example.com' \
  --data-urlencode 'PaymentRef=pi_3O1234567890abcdef'
Example response200 OK
{
  "Result": "OK",
  "Message": "Purchase recorded successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Lookups

List Templates

Lists the reusable flipbook templates saved on your account. Filter by DocType (0 = all). Use a template's ID with save-as-template / create flows.

GEThttps://go.fliplink.me/api/list-templates
PrerequisitesWho Am I(valid API key)List Templates

Query parameters

DocTypenumber0 = Flipbook (default), 1 = Document

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

GET/api/list-templates
curl -X GET 'https://go.fliplink.me/api/list-templates?DocType=0' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "Items": [
    {
      "ID": -1,
      "Name": "- Blank Template - "
    }
  ]
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Query parameters

List Skins

Lists the available viewer skins/themes; each row carries the skin's bundled background URL. Use a skin's name with set-skin.

GEThttps://go.fliplink.me/api/list-skins
PrerequisitesWho Am I(valid API key)List Skins

Query parameters

Typetrue | false0=Flipbook skins, 1=Document skins

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

RelatedSet Skin
GET/api/list-skins
curl -X GET 'https://go.fliplink.me/api/list-skins?Type=false' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "Items": [
    {
      "ID": -1,
      "Name": "Light Wood",
      "ImageURL": "https://af203091.s3.us-east-1.amazonaws.com/docs/background/1.webp",
      "ThumbURL": "https://af203091.s3.us-east-1.amazonaws.com/docs/background/thumb/1.webp"
    }
  ]
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Query parameters

List Currencies

Lists the currencies available when selling a flipbook (for the sale/checkout settings).

GEThttps://go.fliplink.me/api/list-currencies
PrerequisitesWho Am I(valid API key)List Currencies

No parameters.

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

GET/api/list-currencies
curl -X GET 'https://go.fliplink.me/api/list-currencies' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "Items": [
    {
      "Name": "AED"
    }
  ]
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

List Background Music

Lists the built-in background-music tracks you can attach to a flipbook viewer.

GEThttps://go.fliplink.me/api/list-background-music
PrerequisitesWho Am I(valid API key)List Background Music

No parameters.

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

GET/api/list-background-music
curl -X GET 'https://go.fliplink.me/api/list-background-music' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "Items": [
    {
      "Name": "None",
      "FileURL": ""
    }
  ]
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Sections — Branding & Content

Set Meta

Sets the flipbook's title and SEO meta — Title, Description, TitleColor, and the IsPublished flag.

Note: this overwrites Title/Description/TitleColor. To change only the publish state, use set-published.

PUThttps://go.fliplink.me/api/set-meta/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Meta

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

Title
Description
TitleColor
IsPublishedtrue | falsee.g. false

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-meta/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-meta/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'Title=<Title>' \
  --data-urlencode 'Description=<Description>' \
  --data-urlencode 'TitleColor=<TitleColor>' \
  --data-urlencode 'IsPublished=false'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Published (publish / unpublish)

Publishes or unpublishes the flipbook — flips ONLY the publish flag, leaving Title/Description/TitleColor intact (unlike set-meta). Use it to (re)publish a flipbook, e.g. one that came back unpublished from create-by-file.

PUThttps://go.fliplink.me/api/set-published/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Published (publish / unpublish)

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

IsPublishedtrue | falsetrue/1 = publish, false/0 = unpublish (required).

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

RelatedSet Meta
PUT/api/set-published/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-published/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'IsPublished=true'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Skin

Applies a viewer skin/theme to the flipbook; the server resolves the skin name to its ID.

Common mistakes: the field is SkinName (the string from list-skins), not a numeric ID.

PUThttps://go.fliplink.me/api/set-skin/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)List Skins(pick a SkinName)Set Skin

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

SkinNameFrom /api/list-skins → Name column

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

RelatedList Skins
PUT/api/set-skin/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-skin/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'SkinName=<SkinName>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Background Image

Sets the viewer's background image from a URL you supply (there is no built-in gallery).

PUThttps://go.fliplink.me/api/set-background-image/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Background Image

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

BackgroundIMGURLImage URL OR placeholder URL like https://plchldr.co/i/100x100?text=&bg=HEX

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-background-image/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-background-image/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'BackgroundIMG=<BackgroundIMG>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Favicon

Sets the favicon (browser-tab icon) used by the flipbook's hosted viewer page.

PUThttps://go.fliplink.me/api/set-favicon/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Favicon

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

FaviconIMGURL

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

RelatedSet Logo
PUT/api/set-favicon/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-favicon/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'FaviconIMG=<FaviconIMG>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Page Appearance

Configures the viewer's page appearance — background, page shadow, spacing and related look-and-feel options. Values are stored verbatim; older items may report other values (e.g. regular, or numeric 1) when read back via Get one.

PUThttps://go.fliplink.me/api/set-page-appearance/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Page Appearance

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

PageDepthenumflat | thin | thickOne of: flat, thin, thick
CoverTypeenumsoft | hardOne of: soft, hard

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-page-appearance/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-page-appearance/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'PageDepth=thin' \
  --data-urlencode 'CoverType=soft'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Loading Text

Sets the custom text shown on the viewer's loading screen.

Common mistakes: the field is CustomLoadingText, not LoadingText.

PUThttps://go.fliplink.me/api/set-loading-text/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Loading Text

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

CustomLoadingText

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-loading-text/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-loading-text/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'CustomLoadingText=<CustomLoadingText>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Custom URL

Sets the custom (vanity) slug for the flipbook's share URL. Must be unique; an in-use slug returns Result:ERROR.

PUThttps://go.fliplink.me/api/set-custom-url/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Custom URL

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

CustomURL

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Custom URL already taken{ "Result": "ERROR", "Message": "This custom URL is already in use. Please choose another." }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-custom-url/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-custom-url/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'CustomURL=<CustomURL>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Preview PDF

Sets the preview PDF shown to readers before lead capture / payment. Auto-cleared if both lead capture and sale mode are off.

PUThttps://go.fliplink.me/api/set-preview-pdf/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Preview PDF

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

PreviewPDFURL

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-preview-pdf/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-preview-pdf/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'PreviewPDF=<PreviewPDF>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Image PDF

Sets the image-only/preview PDF used for thumbnails and previews. Send empty to keep the existing image PDF.

PUThttps://go.fliplink.me/api/set-image-pdf/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Image PDF

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

IMGPdfURL

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-image-pdf/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-image-pdf/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'IMGPdf=<IMGPdf>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Sections — Viewer & Reader

Set Viewer Controls

Shows or hides individual viewer toolbar buttons (download, print, share, fullscreen, zoom, thumbnails, etc.).

PUThttps://go.fliplink.me/api/set-viewer-controls/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Viewer Controls

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

IsShowControlstrue | falsee.g. true
IsPrinttrue | falsee.g. false
IsDownloadtrue | falsee.g. false
IsThumbnailstrue | falsee.g. true
IsSearchtrue | falsee.g. true
IsSoundtrue | falsee.g. true
IsFullscreentrue | falsee.g. true
IsZoomtrue | falsee.g. true
IsNotestrue | falsee.g. false

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-viewer-controls/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-viewer-controls/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'IsShowControls=true' \
  --data-urlencode 'IsPrint=false' \
  --data-urlencode 'IsDownload=false' \
  --data-urlencode 'IsThumbnails=true' \
  --data-urlencode 'IsSearch=true' \
  --data-urlencode 'IsSound=true' \
  --data-urlencode 'IsFullscreen=true' \
  --data-urlencode 'IsZoom=true' \
  --data-urlencode 'IsNotes=false'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Reader Navigation

Configures reader navigation in the viewer — page thumbnails, table of contents, and how readers move between pages.

PUThttps://go.fliplink.me/api/set-reader-navigation/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Reader Navigation

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

IsNavFirstLasttrue | falsee.g. true
BookLayoutenum1=single, 2=doubleOne of: 1, 2
IsRightToLefttrue | falsee.g. false
ScrollBehaviournumberNumeric scroll mode

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-reader-navigation/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-reader-navigation/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'IsNavFirstLast=true' \
  --data-urlencode 'BookLayout=1' \
  --data-urlencode 'IsRightToLeft=false' \
  --data-urlencode 'ScrollBehaviour=1'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Auto Flip

Enables or disables automatic page-turning in the viewer and its interval.

PUThttps://go.fliplink.me/api/set-auto-flip/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Auto Flip

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

AutoFlipInSecsnumberMILLISECONDS despite the name. 0 = off, 3000 = 3s, 5000 = 5s, etc.

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-auto-flip/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-auto-flip/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'AutoFlipInSecs=0'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Background Music

Sets or clears the background-music track that plays in the viewer. See list-background-music for available tracks.

PUThttps://go.fliplink.me/api/set-background-music/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)List Background Music(pick a track)Set Background Music

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

BackgroundMusicPredefined track filename (from /api/list-background-music)
BackgroundMusicCustomURLCustom uploaded music URL
IsBackgroundMusicLooptrue | falsee.g. false

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-background-music/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-background-music/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'BackgroundMusic=<BackgroundMusic>' \
  --data-urlencode 'BackgroundMusicCustom=<BackgroundMusicCustom>' \
  --data-urlencode 'IsBackgroundMusicLoop=false'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Sections — CTAs

Set CTA Primary

Configures the primary call-to-action button in the viewer (label, URL, position, colour).

Common mistakes: the fields are IsCTAButton, CTAButtonText, CTAButtonURL (plus position/colour) — not Text/URL/Position.

PUThttps://go.fliplink.me/api/set-cta-primary/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set CTA Primary

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

IsCTAButtontrue | falsee.g. false
CTAButtonText
CTAButtonColor
CTAButtonURLURLmailto: / tel: prefixes auto-normalized server-side
CTAButtonTextColor

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-cta-primary/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-cta-primary/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'IsCTAButton=false' \
  --data-urlencode 'CTAButtonText=<CTAButtonText>' \
  --data-urlencode 'CTAButtonColor=<CTAButtonColor>' \
  --data-urlencode 'CTAButtonURL=<CTAButtonURL>' \
  --data-urlencode 'CTAButtonTextColor=<CTAButtonTextColor>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set CTA Secondary

Configures the secondary call-to-action button in the viewer.

Common mistakes: the secondary button uses the 2-suffixed fields — IsCTAButton2, CTAButtonText2, CTAButtonURL2.

PUThttps://go.fliplink.me/api/set-cta-secondary/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set CTA Secondary

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

IsCTAButton2true | falsee.g. false
CTAButtonText2
CTAButtonColor2
CTAButtonTextColor2
CTAButtonURL2URL

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-cta-secondary/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-cta-secondary/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'IsCTAButton2=false' \
  --data-urlencode 'CTAButtonText2=<CTAButtonText2>' \
  --data-urlencode 'CTAButtonColor2=<CTAButtonColor2>' \
  --data-urlencode 'CTAButtonTextColor2=<CTAButtonTextColor2>' \
  --data-urlencode 'CTAButtonURL2=<CTAButtonURL2>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set CTA Preview Rules

Configures when the call-to-action is shown to readers — e.g. after N pages or N seconds (the preview-gate rules).

PUThttps://go.fliplink.me/api/set-cta-preview-rules/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set CTA Preview Rules

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

IsCTAHiddenInPreviewtrue | falsee.g. false

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-cta-preview-rules/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-cta-preview-rules/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'IsCTAHiddenInPreview=false'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Sections — Access Control

Set Password Access

Turns password protection on/off for the flipbook and sets the access password.

PUThttps://go.fliplink.me/api/set-password-access/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Password Access

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

IsPasswordProtectedtrue | falsee.g. false
Password
PwdTitle
PwdPlaceholder
PwdButton

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-password-access/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-password-access/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'IsPasswordProtected=false' \
  --data-urlencode 'Password=<Password>' \
  --data-urlencode 'PwdTitle=<PwdTitle>' \
  --data-urlencode 'PwdPlaceholder=<PwdPlaceholder>' \
  --data-urlencode 'PwdButton=<PwdButton>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Indexing

Controls search-engine indexing of the hosted flipbook. IsNoIndex=true adds a robots noindex so the page isn't indexed.

PUThttps://go.fliplink.me/api/set-indexing/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Indexing

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

IsNoIndextrue | falsee.g. false

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-indexing/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-indexing/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'IsNoIndex=false'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Email Allow List

Restricts viewer access to a list of allowed email addresses (gated viewing).

PUThttps://go.fliplink.me/api/set-email-allow-list/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Email Allow List

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

EmailsAllowedDelimited list of allowed emails

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-email-allow-list/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-email-allow-list/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'EmailsAllowed=<EmailsAllowed>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Sections — Lead Capture

Set Lead Capture (base)

Enables and configures the base lead-capture form (the gate that collects viewer details before they read).

Common mistakes: the enable flag is IsLeadCapture, not IsEnabled.

PUThttps://go.fliplink.me/api/set-lead-capture/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Lead Capture (base)

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

IsLeadCapturetrue | falsee.g. false
LeadCaptureTitle
IsLeadAllowSkiptrue | falsee.g. false
LeadSkipText
LeadFormAfterPagesnumbere.g. 0
LeadAfterPagesnumbere.g. 0

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-lead-capture/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-lead-capture/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'IsLeadCapture=false' \
  --data-urlencode 'LeadCaptureTitle=<LeadCaptureTitle>' \
  --data-urlencode 'IsLeadAllowSkip=false' \
  --data-urlencode 'LeadSkipText=<LeadSkipText>' \
  --data-urlencode 'LeadFormAfterPages=0' \
  --data-urlencode 'LeadAfterPages=0'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Lead Fields

Toggles each standard lead-capture field (name, email, phone, company, etc.) and whether it is mandatory.

PUThttps://go.fliplink.me/api/set-lead-fields/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Lead Capture (base)(turn on lead capture)Set Lead Fields

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

IsLeadEmailtrue | falsee.g. true
IsLeadEmailMandatorytrue | falsee.g. true
IsLeadNametrue | falsee.g. true
IsLeadNameMandatorytrue | falsee.g. false
IsLeadPhonetrue | falsee.g. false
IsLeadPhoneMandatorytrue | falsee.g. false
IsLeadCompanytrue | falsee.g. false
IsLeadCompanyMandatorytrue | falsee.g. false
IsLeadDatetrue | falsee.g. false
IsLeadDateMandatorytrue | falsee.g. false
LeadPhoneCountry

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-lead-fields/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-lead-fields/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'IsLeadEmail=true' \
  --data-urlencode 'IsLeadEmailMandatory=true' \
  --data-urlencode 'IsLeadName=true' \
  --data-urlencode 'IsLeadNameMandatory=false' \
  --data-urlencode 'IsLeadPhone=false' \
  --data-urlencode 'IsLeadPhoneMandatory=false' \
  --data-urlencode 'IsLeadCompany=false' \
  --data-urlencode 'IsLeadCompanyMandatory=false' \
  --data-urlencode 'IsLeadDate=false' \
  --data-urlencode 'IsLeadDateMandatory=false' \
  --data-urlencode 'LeadPhoneCountry=<LeadPhoneCountry>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Lead Custom Fields

Defines extra custom fields on the lead-capture form, beyond the standard name/email/phone.

PUThttps://go.fliplink.me/api/set-lead-custom-fields/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Lead Capture (base)(turn on lead capture)Set Lead Custom Fields

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

IsLeadCustom1true | falsee.g. false
IsLeadCustom1Mandatorytrue | falsee.g. false
Custom1Label
IsLeadCustom2true | falsee.g. false
IsLeadCustom2Mandatorytrue | falsee.g. false
Custom2Label

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-lead-custom-fields/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-lead-custom-fields/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'IsLeadCustom1=false' \
  --data-urlencode 'IsLeadCustom1Mandatory=false' \
  --data-urlencode 'Custom1Label=<Custom1Label>' \
  --data-urlencode 'IsLeadCustom2=false' \
  --data-urlencode 'IsLeadCustom2Mandatory=false' \
  --data-urlencode 'Custom2Label=<Custom2Label>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Lead Labels

Sets the display labels and placeholder text for the lead-capture form fields.

PUThttps://go.fliplink.me/api/set-lead-labels/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Lead Capture (base)(turn on lead capture)Set Lead Labels

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

LeadEmailemail
LeadName
LeadPhonephone
LeadCompany
LeadDate
LeadButton

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-lead-labels/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-lead-labels/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'LeadEmail=<LeadEmail>' \
  --data-urlencode 'LeadName=<LeadName>' \
  --data-urlencode 'LeadPhone=<LeadPhone>' \
  --data-urlencode 'LeadCompany=<LeadCompany>' \
  --data-urlencode 'LeadDate=<LeadDate>' \
  --data-urlencode 'LeadButton=<LeadButton>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Lead Privacy

Configures the lead-capture privacy/consent text and options (e.g. the GDPR consent checkbox).

PUThttps://go.fliplink.me/api/set-lead-privacy/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Lead Capture (base)(turn on lead capture)Set Lead Privacy

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

IsLeadPrivacyPolicytrue | falsee.g. false
PrivacyPolicyURLURL
PrivacyPolicyText

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-lead-privacy/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-lead-privacy/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'IsLeadPrivacyPolicy=false' \
  --data-urlencode 'PrivacyPolicyURL=<PrivacyPolicyURL>' \
  --data-urlencode 'PrivacyPolicyText=<PrivacyPolicyText>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Lead Verification

Turns lead email verification on or off, requiring viewers to confirm their email before access.

PUThttps://go.fliplink.me/api/set-lead-verification/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Lead Capture (base)(turn on lead capture)Set Lead Verification

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

IsVerifyEmailtrue | falsee.g. false
IsVerifyMobiletrue | falsee.g. false
TwillioAPIKeyYour Twilio API key (the field name keeps the original 'Twillio' spelling).
EmailVerifyTitleText
EmailVerifyButtonText

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-lead-verification/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-lead-verification/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'IsVerifyEmail=false' \
  --data-urlencode 'IsVerifyMobile=false' \
  --data-urlencode 'TwillioAPIKey=<TwillioAPIKey>' \
  --data-urlencode 'EmailVerifyTitleText=<EmailVerifyTitleText>' \
  --data-urlencode 'EmailVerifyButtonText=<EmailVerifyButtonText>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Lead Webhook

Sets a webhook URL that receives each new lead (saved as the new-lead webhook). Use test-webhook to verify it fires.

PUThttps://go.fliplink.me/api/set-lead-webhook/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Lead Capture (base)(turn on lead capture)Set Lead Webhook

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

WebhookURL_NewLeadURLYour endpoint URL — receives a JSON payload for each new lead.

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-lead-webhook/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-lead-webhook/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'WebhookURL_NewLead=<WebhookURL_NewLead>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Test Webhook

Fires a TEST payload to the flipbook's configured lead webhook so you can verify delivery format without a real lead. Returns ERROR 'No lead webhook is configured for this flipbook.' if none set. Payload shape matches a real lead (keys: pdf_id, pdf_name, lead_name, lead_email, lead_phone, lead_company, lead_date, lead_custom_1, lead_custom_2) but carries dummy values (pdf_id:"-1", pdf_name:"Test PDF", ...). No real lead is stored and no notification email is sent.

POSThttps://go.fliplink.me/api/test-webhook/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Lead Webhook(a webhook must be configured first)Test Webhook

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

POST/api/test-webhook/{flipbookId}
curl -X POST 'https://go.fliplink.me/api/test-webhook/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Set Lead Google Sheets

Connects lead capture to a Google Sheet — new leads are appended to the sheet you specify (sheet ID + name).

PUThttps://go.fliplink.me/api/set-lead-google-sheets/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Lead Capture (base)(turn on lead capture)Set Lead Google Sheets

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

GoogleSheetURLURL
GoogleSheetIDKey
GoogleSheetName

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-lead-google-sheets/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-lead-google-sheets/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'GoogleSheetURL=<GoogleSheetURL>' \
  --data-urlencode 'GoogleSheetIDKey=<GoogleSheetIDKey>' \
  --data-urlencode 'GoogleSheetName=<GoogleSheetName>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Sections — Notifications & Email Templates

Set Notifications

Configures which email notifications you receive for this flipbook (new lead, new view, new sale).

PUThttps://go.fliplink.me/api/set-notifications/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Notifications

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

NotificationsEmailemail
IsSendEmailOnViewtrue | falsee.g. false

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-notifications/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-notifications/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'NotificationsEmail=<NotificationsEmail>' \
  --data-urlencode 'IsSendEmailOnView=false'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Email Template — New Lead

Sets the email sent on a new-lead event. Send empty values to restore the default NEW_LEAD template.

PUThttps://go.fliplink.me/api/set-email-template-lead/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Email Template — New Lead

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

EmailLeadSubject
EmailLeadBody

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-email-template-lead/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-email-template-lead/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'EmailLeadSubject=<EmailLeadSubject>' \
  --data-urlencode 'EmailLeadBody=<EmailLeadBody>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Email Template — New View

Sets the email template sent on a new-view notification. Send empty to restore the default NEW_VIEW template.

PUThttps://go.fliplink.me/api/set-email-template-view/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Email Template — New View

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

EmailViewSubject
EmailViewBody

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-email-template-view/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-email-template-view/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'EmailViewSubject=<EmailViewSubject>' \
  --data-urlencode 'EmailViewBody=<EmailViewBody>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Email Template — New Sale

Sets the email template sent on a new-sale notification. Send empty to restore the default NEW_SALE template.

PUThttps://go.fliplink.me/api/set-email-template-sale/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Email Template — New Sale

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

EmailSaleSubject
EmailSaleBody

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-email-template-sale/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-email-template-sale/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'EmailSaleSubject=<EmailSaleSubject>' \
  --data-urlencode 'EmailSaleBody=<EmailSaleBody>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Sections — Sales

Set Sale Settings

Configures selling the flipbook (price, currency, options). Enabling sale mode auto-enables email verification and makes the lead email mandatory.

PUThttps://go.fliplink.me/api/set-sale-settings/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)List Currencies(pick SaleCurr)Set Sale Settings

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

IsForSaletrue | falsee.g. false
SaleCurrFrom /api/list-currencies
SaleAmountnumbere.g. 0

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-sale-settings/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-sale-settings/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'IsForSale=false' \
  --data-urlencode 'SaleCurr=USD' \
  --data-urlencode 'SaleAmount=0'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Sale Page Text

Sets the marketing copy shown on the flipbook's sale / checkout page.

PUThttps://go.fliplink.me/api/set-sale-page-text/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Sale Settings(enable selling)Set Sale Page Text

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

SalePageTitle
SaleAccessPageTitle
SalePurchaseButtonText
SaleButtonText
SaleAccessButtonText
SaleButtonColor

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-sale-page-text/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-sale-page-text/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'SalePageTitle=<SalePageTitle>' \
  --data-urlencode 'SaleAccessPageTitle=<SaleAccessPageTitle>' \
  --data-urlencode 'SalePurchaseButtonText=<SalePurchaseButtonText>' \
  --data-urlencode 'SaleButtonText=<SaleButtonText>' \
  --data-urlencode 'SaleAccessButtonText=<SaleAccessButtonText>' \
  --data-urlencode 'SaleButtonColor=<SaleButtonColor>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Sale Gateway

Selects and configures the payment gateway used when selling this flipbook.

PUThttps://go.fliplink.me/api/set-sale-gateway/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Sale Settings(enable selling)Set Sale Gateway

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

SaleGatewayName
SaleGatewayKey
SaleGatewaySecret

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-sale-gateway/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-sale-gateway/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'SaleGatewayName=<SaleGatewayName>' \
  --data-urlencode 'SaleGatewayKey=<SaleGatewayKey>' \
  --data-urlencode 'SaleGatewaySecret=<SaleGatewaySecret>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Sections — Approval

Set Approval Button

Adds an approval-request button to the viewer. Enabling it triggers the approval-request workflow.

PUThttps://go.fliplink.me/api/set-approval-button/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(DocType=document — Document items only)Set Approval Button

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

IsApprovalButtontrue | falsee.g. false
ApprovalButtonText
ApprovalButtonColor
ApprovalButtonTextColor

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-approval-button/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-approval-button/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'IsApprovalButton=false' \
  --data-urlencode 'ApprovalButtonText=<ApprovalButtonText>' \
  --data-urlencode 'ApprovalButtonColor=<ApprovalButtonColor>' \
  --data-urlencode 'ApprovalButtonTextColor=<ApprovalButtonTextColor>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Approval Email Templates

Sets the email templates used by the approval workflow. Empty values pull the defaults.

PUThttps://go.fliplink.me/api/set-approval-email-templates/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(DocType=document — Document items only)Set Approval Email Templates

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

EmailApproveRequestSubject
EmailApproveRequestBody
EmailApproveRemindSubject
EmailApproveRemindBody
EmailApproveSubmitSubject
EmailApproveSubmitBody

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-approval-email-templates/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-approval-email-templates/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'EmailApproveRequestSubject=<EmailApproveRequestSubject>' \
  --data-urlencode 'EmailApproveRequestBody=<EmailApproveRequestBody>' \
  --data-urlencode 'EmailApproveRemindSubject=<EmailApproveRemindSubject>' \
  --data-urlencode 'EmailApproveRemindBody=<EmailApproveRemindBody>' \
  --data-urlencode 'EmailApproveSubmitSubject=<EmailApproveSubmitSubject>' \
  --data-urlencode 'EmailApproveSubmitBody=<EmailApproveSubmitBody>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Sections — Sharing

Set Share Master

Master on/off switch for the share buttons in the viewer.

PUThttps://go.fliplink.me/api/set-share-master/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Share Master

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

IsShareButtonstrue | falsee.g. false

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-share-master/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-share-master/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'IsShareButtons=false'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Share Channels

Toggles each social share channel (Facebook, X, LinkedIn, WhatsApp, email, etc.) individually in the viewer's share menu.

PUThttps://go.fliplink.me/api/set-share-channels/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Share Channels

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

IsShareFacebooktrue | falsee.g. true
IsShareTwittertrue | falsee.g. true
IsShareWhatsApptrue | falsee.g. true
IsShareTelegramtrue | falsee.g. false
IsShareLinkedIntrue | falsee.g. true
IsSharePinteresttrue | falsee.g. false
IsShareReddittrue | falsee.g. false
IsShareTumblrtrue | falsee.g. false
IsShareMessengertrue | falsee.g. false
IsShareEmailtrue | falsee.g. true
IsShareLinetrue | falsee.g. false
IsShareWeChattrue | falsee.g. false
IsShareInstagramtrue | falsee.g. false
IsShareFlipboardtrue | falsee.g. false
IsShareGeneraltrue | falsee.g. true

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-share-channels/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-share-channels/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'IsShareFacebook=true' \
  --data-urlencode 'IsShareTwitter=true' \
  --data-urlencode 'IsShareWhatsApp=true' \
  --data-urlencode 'IsShareTelegram=false' \
  --data-urlencode 'IsShareLinkedIn=true' \
  --data-urlencode 'IsSharePinterest=false' \
  --data-urlencode 'IsShareReddit=false' \
  --data-urlencode 'IsShareTumblr=false' \
  --data-urlencode 'IsShareMessenger=false' \
  --data-urlencode 'IsShareEmail=true' \
  --data-urlencode 'IsShareLine=false' \
  --data-urlencode 'IsShareWeChat=false' \
  --data-urlencode 'IsShareInstagram=false' \
  --data-urlencode 'IsShareFlipboard=false' \
  --data-urlencode 'IsShareGeneral=true'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Sections — Tracking & AI

Set Analytics Tracking

Adds your own analytics tracking IDs (e.g. Google Analytics, GTM, Facebook Pixel) to the hosted flipbook.

PUThttps://go.fliplink.me/api/set-analytics-tracking/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Analytics Tracking

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

FacebookAnalyticsCode
GoogleAnalyticsCode
GoogleTagManager

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-analytics-tracking/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-analytics-tracking/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'FacebookAnalyticsCode=<FacebookAnalyticsCode>' \
  --data-urlencode 'GoogleAnalyticsCode=<GoogleAnalyticsCode>' \
  --data-urlencode 'GoogleTagManager=<GoogleTagManager>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set AI Provider

Configures the AI provider used for AI features — the provider name and its API key.

PUThttps://go.fliplink.me/api/set-ai-provider/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set AI Provider

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

AIProvider
AIKey

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-ai-provider/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-ai-provider/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'AIProvider=<AIProvider>' \
  --data-urlencode 'AIKey=<AIKey>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Virtual Assistant

Configures the in-viewer virtual assistant (chat/help) base settings.

PUThttps://go.fliplink.me/api/set-virtual-assistant/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Virtual Assistant

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

IsVAtrue | falsee.g. false
VAButtonText
VAButtonColor
VAButtonTextColor
VATextAssistant prompt / instructions
VAEmbeddingsEmbeddings blob (string)

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-virtual-assistant/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-virtual-assistant/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'IsVA=false' \
  --data-urlencode 'VAButtonText=<VAButtonText>' \
  --data-urlencode 'VAButtonColor=<VAButtonColor>' \
  --data-urlencode 'VAButtonTextColor=<VAButtonTextColor>' \
  --data-urlencode 'VAText=<VAText>' \
  --data-urlencode 'VAEmbeddings=<VAEmbeddings>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters

Set Virtual Assistant Status Text

Sets the status/greeting text shown by the in-viewer virtual assistant.

PUThttps://go.fliplink.me/api/set-virtual-assistant-status-text/{flipbookId}
PrerequisitesWho Am I(valid API key)Create by File(get a flipbookId)Set Virtual Assistant Status Text

Path parameters

flipbookIdnumberNumeric ID of the flipbook/document — returned by create-by-file / create-by-url (as ID) or list.

Body parameters

VAButtonStatus1Listening status label
VAButtonStatus2Recording status label
VAButtonStatus3Processing status label
VAButtonStatus4Speaking status label

Error responses

401Missing or invalid API keyReturns a 401 Unauthorized HTML page — there is no JSON body.
200Item ID not found or not owned by your key{ "Result": "ERROR", "Message": "Item not found" }
200Unknown or misspelled body field{ "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }

A missing/invalid key is rejected with HTTP 401 (an HTML page, no JSON). Every other error returns HTTP 200 with { "Result": "ERROR", "Message": … } — so always branch on Result, not just the HTTP status.

PUT/api/set-virtual-assistant-status-text/{flipbookId}
curl -X PUT 'https://go.fliplink.me/api/set-virtual-assistant-status-text/{flipbookId}' \  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'VAButtonStatus1=<VAButtonStatus1>' \
  --data-urlencode 'VAButtonStatus2=<VAButtonStatus2>' \
  --data-urlencode 'VAButtonStatus3=<VAButtonStatus3>' \
  --data-urlencode 'VAButtonStatus4=<VAButtonStatus4>'
Example response200 OK
{
  "Result": "OK",
  "Message": "Updated successfully"
}

Paste your API key in “Your API key” at the top — then fill the fields below and send.

Path parameters — required to identify the item

Body parameters