Foliade
Turn PDFs into mobile flipbook catalogues: upload private drafts, customise, publish, get stats.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (4)
- LOWin foliade_catalogue_status
- LOWin foliade_import_chapters
- LOWin foliade_set_shelf_access
- LOWin foliade_update_tracking_link
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"foliade": {
"url": "https://foliade.gekkode.com/mcp"
}
}
}Remote-Endpunkte
https://foliade.gekkode.com/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (34)
🟢foliade_account
Confirms the address and the plan of the destination account, without secrets or payment data.
Eingabe-Schema
{
"type": "object",
"properties": {},
"title": "accountArguments"
}🟢foliade_list_catalogues(limit, offset)
Lists the private and public catalogues of the connected account, with pagination.
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"default": 25,
"maximum": 100,
"minimum": 1,
"title": "Limit",
"type": "integer"
},
"offset": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
},
"title": "list_cataloguesArguments"
}🟡foliade_prepare_upload(filename, size_bytes, sha256, title, language, ...)
Creates a single-use 10-minute deposit. Compute the size and the SHA-256 of the local PDF. Transfer the bytes to upload_url with PUT, Content-Type application/pdf, with the headers returned. Do not publish these headers in your reply. This ticket allows no reading and is not an API key for the account.
Eingabe-Schema
{
"type": "object",
"properties": {
"filename": {
"maxLength": 240,
"minLength": 1,
"title": "Filename",
"type": "string"
},
"size_bytes": {
"minimum": 1,
"title": "Size Bytes",
"type": "integer"
},
"sha256": {
"pattern": "^[a-fA-F0-9]{64}$",
"title": "Sha256",
"type": "string"
},
"title": {
"default": "",
"maxLength": 240,
"title": "Title",
"type": "string"
},
"language": {
"default": "fr",
"maxLength": 5,
"title": "Language",
"type": "string"
},
"notice_version": {
"default": "",
"title": "Notice Version",
"type": "string"
},
"guest_mode": {
"default": false,
"title": "Guest Mode",
"type": "boolean"
}
},
"required": [
"filename",
"size_bytes",
"sha256"
],
"title": "prepare_uploadArguments"
}🟡foliade_finalize_upload(upload_id, guest_token)
Finalises an upload that has been received. A repeat returns the same catalogue, never a duplicate. Conversion is asynchronous: check foliade_catalogue_status before giving the final result. The catalogue stays private until it is published explicitly.
Eingabe-Schema
{
"type": "object",
"properties": {
"upload_id": {
"title": "Upload Id",
"type": "string"
},
"guest_token": {
"default": "",
"title": "Guest Token",
"type": "string"
}
},
"required": [
"upload_id"
],
"title": "finalize_uploadArguments"
}🟢foliade_catalogue_status(catalogue_id, guest_token)
Private state: owner OAuth or guest token, never the public link alone.
Eingabe-Schema
{
"type": "object",
"properties": {
"catalogue_id": {
"title": "Catalogue Id",
"type": "string"
},
"guest_token": {
"default": "",
"title": "Guest Token",
"type": "string"
}
},
"required": [
"catalogue_id"
],
"title": "catalogue_statusArguments"
}🟡foliade_publish_catalogue(catalogue_id, guest_token)
Makes the catalogue public, on explicit request only. Keeps its identifier.
Eingabe-Schema
{
"type": "object",
"properties": {
"catalogue_id": {
"title": "Catalogue Id",
"type": "string"
},
"guest_token": {
"default": "",
"title": "Guest Token",
"type": "string"
}
},
"required": [
"catalogue_id"
],
"title": "publish_catalogueArguments"
}🟢foliade_catalogue_stats(catalogue_id, days)
Aggregated statistics: reads and contacts, without disclosing the contact details.
Eingabe-Schema
{
"type": "object",
"properties": {
"catalogue_id": {
"title": "Catalogue Id",
"type": "string"
},
"days": {
"default": 30,
"maximum": 3650,
"minimum": 1,
"title": "Days",
"type": "integer"
}
},
"required": [
"catalogue_id"
],
"title": "catalogue_statsArguments"
}🔴foliade_unpublish_catalogue(catalogue_id, guest_token)
Closes the public link without deleting the data. Requires an explicit request.
Eingabe-Schema
{
"type": "object",
"properties": {
"catalogue_id": {
"title": "Catalogue Id",
"type": "string"
},
"guest_token": {
"default": "",
"title": "Guest Token",
"type": "string"
}
},
"required": [
"catalogue_id"
],
"title": "unpublish_catalogueArguments"
}🟢foliade_capabilities
Effective entitlements, JSON schemas and examples. Read before configuring; omitted fields are kept, null is refused. Setting changes are visible immediately on a published catalogue. Binary media, PDF replacements, API keys, REST webhooks, team and billing stay in the workspace/API.
Eingabe-Schema
{
"type": "object",
"properties": {},
"title": "capabilitiesArguments"
}🟢foliade_get_catalogue_settings(catalogue_id)
Settings, table of contents, lead capture, protection without secrets, and the revision needed for changes.
Eingabe-Schema
{
"type": "object",
"properties": {
"catalogue_id": {
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"title": "Catalogue Id",
"type": "string"
}
},
"required": [
"catalogue_id"
],
"title": "get_catalogue_settingsArguments"
}🔴foliade_update_catalogue(catalogue_id, patch, expected_revision, dry_run)
Changes only the fields supplied: colours, bar, controls, sound, reading, logo, title, language, PDF. dry_run returns a preview without writing. No change to the publication state.
Eingabe-Schema
{
"type": "object",
"properties": {
"catalogue_id": {
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"title": "Catalogue Id",
"type": "string"
},
"patch": {
"$ref": "#/$defs/CataloguePatch"
},
"expected_revision": {
"pattern": "^[a-f0-9]{64}$",
"title": "Expected Revision",
"type": "string"
},
"dry_run": {
"default": false,
"title": "Dry Run",
"type": "boolean"
}
},
"required": [
"catalogue_id",
"patch",
"expected_revision"
],
"$defs": {
"CataloguePatch": {
"additionalProperties": false,
"properties": {
"fond": {
"default": null,
"pattern": "^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$",
"title": "Fond",
"type": "string"
},
"barre_fond": {
"default": null,
"pattern": "^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$",
"title": "Barre Fond",
"type": "string"
},
"barre_icones": {
"default": null,
"pattern": "^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$",
"title": "Barre Icones",
"type": "string"
},
"progression": {
"default": null,
"pattern": "^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$",
"title": "Progression",
"type": "string"
},
"fond_couleur2": {
"default": null,
"pattern": "^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$",
"title": "Fond Couleur2",
"type": "string"
},
"titre_sur_fond": {
"default": null,
"title": "Titre Sur Fond",
"type": "boolean"
},
"barre_auto": {
"default": null,
"title": "Barre Auto",
"type": "boolean"
},
"surligner_liens": {
"default": null,
"title": "Surligner Liens",
"type": "boolean"
},
"son_actif": {
"default": null,
"title": "Son Actif",
"type": "boolean"
},
"fond_type": {
"default": null,
"enum": [
"couleur",
"degrade",
"image"
],
"title": "Fond Type",
"type": "string"
},
"fond_direction": {
"default": null,
"enum": [
"vertical",
"diagonal",
"horizontal"
],
"title": "Fond Direction",
"type": "string"
},
"fond_position": {
"default": null,
"enum": [
"haut",
"centre",
"bas"
],
"title": "Fond Position",
"type": "string"
},
"barre_position": {
"default": null,
"enum": [
"bas",
"haut"
],
"title": "Barre Position",
"type": "string"
},
"barre_ton": {
"default": null,
"enum": [
"sombre",
"clair"
],
"title": "Barre Ton",
"type": "string"
},
"invite": {
"default": null,
"enum": [
"coin",
"fleches",
"survol",
"aucune"
],
"title": "Invite",
"type": "string"
},
"disposition": {
"default": null,
"enum": [
"auto",
"simple",
"double"
],
"title": "Disposition",
"type": "string"
},
"logo_taille": {
"default": null,
"enum": [
"petit",
"moyen",
"grand"
],
"title": "Logo Taille",
"type": "string"
},
"logo_coin": {
"default": null,
"enum": [
"haut-gauche",
"haut-droite",
"bas-gauche",
"bas-droite"
],
"title": "Logo Coin",
"type": "string"
},
"effet": {
"default": null,
"enum": [
"magazine",
"book",
"slide",
"cards",
"coverflow",
"single"
],
"title": "Effet",
"type": "string"
},
"fond_flou": {
"default": null,
"maximum": 40,
"minimum": 0,
"title": "Fond Flou",
"type": "integer"
},
"fond_opacite": {
"default": null,
"maximum": 100,
"minimum": 0,
"title": "Fond Opacite",
"type": "integer"
},
"son_volume": {
"default": null,
"maximum": 100,
"minimum": 0,
"title": "Son Volume",
"type": "integer"
},
"logo_lien": {
"default": null,
"maxLength": 300,
"minLength": 0,
"title": "Logo Lien",
"type": "string"
},
"controles_masques": {
"default": null,
"items": {
"enum": [
"premiere",
"zoom",
"sommaire",
"recherche",
"partager",
"imprimer",
"pleinecran",
"telecharger"
],
"type": "string"
},
"maxItems": 8,
"title": "Controles Masques",
"type": "array"
},
"titre": {
"default": null,
"maxLength": 240,
"minLength": 1,
"title": "Titre",
"type": "string"
},
"description": {
"default": null,
"maxLength": 2000,
"minLength": 0,
"title": "Description",
"type": "string"
},
"langue": {
"default": null,
"enum": [
"fr",
"en",
"es",
"de",
"it",
"pt",
"pl",
"nl"
],
"title": "Langue",
"type": "string"
},
"droite_vers_gauche": {
"default": null,
"title": "Droite Vers Gauche",
"type": "boolean"
},
"page_depart": {
"default": null,
"maximum": 100000,
"minimum": 1,
"title": "Page Depart",
"type": "integer"
},
"telechargement_pdf": {
"default": null,
"enum": [
"heriter",
"autoriser",
"interdire"
],
"title": "Telechargement Pdf",
"type": "string"
}
},
"title": "CataloguePatch",
"type": "object"
}
},
"title": "update_catalogueArguments"
}🔴foliade_set_catalogue_access(catalogue_id, expected_revision, protection, password, sous_domaine, ...)
Changes access on explicit request only. Never publishes a draft. The password is never returned. Declaring a domain does not configure DNS/TLS; activation remains a separate operation.
Eingabe-Schema
{
"type": "object",
"properties": {
"catalogue_id": {
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"title": "Catalogue Id",
"type": "string"
},
"expected_revision": {
"pattern": "^[a-f0-9]{64}$",
"title": "Expected Revision",
"type": "string"
},
"protection": {
"default": "keep",
"enum": [
"keep",
"none",
"password"
],
"title": "Protection",
"type": "string"
},
"password": {
"default": "",
"maxLength": 128,
"title": "Password",
"type": "string"
},
"sous_domaine": {
"anyOf": [
{
"maxLength": 64,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Sous Domaine"
},
"domaine": {
"anyOf": [
{
"maxLength": 160,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Domaine"
},
"dry_run": {
"default": false,
"title": "Dry Run",
"type": "boolean"
}
},
"required": [
"catalogue_id",
"expected_revision"
],
"title": "set_catalogue_accessArguments"
}🔴foliade_set_lead_capture(catalogue_id, patch, expected_revision, dry_run)
Sets activation, page, blocking mode, fields and consent. A plan with lead capture is required; email is mandatory.
Eingabe-Schema
{
"type": "object",
"properties": {
"catalogue_id": {
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"title": "Catalogue Id",
"type": "string"
},
"patch": {
"$ref": "#/$defs/LeadPatch"
},
"expected_revision": {
"pattern": "^[a-f0-9]{64}$",
"title": "Expected Revision",
"type": "string"
},
"dry_run": {
"default": false,
"title": "Dry Run",
"type": "boolean"
}
},
"required": [
"catalogue_id",
"patch",
"expected_revision"
],
"$defs": {
"LeadPatch": {
"additionalProperties": false,
"properties": {
"actif": {
"default": null,
"title": "Actif",
"type": "boolean"
},
"page": {
"default": null,
"maximum": 100000,
"minimum": 1,
"title": "Page",
"type": "integer"
},
"bloquant": {
"default": null,
"title": "Bloquant",
"type": "boolean"
},
"champs": {
"default": null,
"items": {
"enum": [
"email",
"nom",
"societe",
"telephone"
],
"type": "string"
},
"maxItems": 4,
"title": "Champs",
"type": "array"
},
"consentement": {
"default": null,
"maxLength": 4000,
"minLength": 1,
"title": "Consentement",
"type": "string"
}
},
"title": "LeadPatch",
"type": "object"
}
},
"title": "set_lead_captureArguments"
}🔴foliade_set_chapters(catalogue_id, chapters, expected_revision, dry_run)
Replaces the table of contents with the ordered list supplied; an empty list removes it.
Eingabe-Schema
{
"type": "object",
"properties": {
"catalogue_id": {
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"title": "Catalogue Id",
"type": "string"
},
"chapters": {
"items": {
"$ref": "#/$defs/Chapter"
},
"maxItems": 300,
"title": "Chapters",
"type": "array"
},
"expected_revision": {
"pattern": "^[a-f0-9]{64}$",
"title": "Expected Revision",
"type": "string"
},
"dry_run": {
"default": false,
"title": "Dry Run",
"type": "boolean"
}
},
"required": [
"catalogue_id",
"chapters",
"expected_revision"
],
"$defs": {
"Chapter": {
"additionalProperties": false,
"properties": {
"titre": {
"maxLength": 120,
"minLength": 1,
"title": "Titre",
"type": "string"
},
"page": {
"minimum": 1,
"title": "Page",
"type": "integer"
}
},
"required": [
"titre",
"page"
],
"title": "Chapter",
"type": "object"
}
},
"title": "set_chaptersArguments"
}⚪foliade_import_chapters(catalogue_id, expected_revision, dry_run)
Merges the PDF bookmarks into the table of contents without duplicates.
Eingabe-Schema
{
"type": "object",
"properties": {
"catalogue_id": {
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"title": "Catalogue Id",
"type": "string"
},
"expected_revision": {
"pattern": "^[a-f0-9]{64}$",
"title": "Expected Revision",
"type": "string"
},
"dry_run": {
"default": false,
"title": "Dry Run",
"type": "boolean"
}
},
"required": [
"catalogue_id",
"expected_revision"
],
"title": "import_chaptersArguments"
}🟢foliade_get_brand
Brand name, colour and default PDF download; without any billing information.
Eingabe-Schema
{
"type": "object",
"properties": {},
"title": "get_brandArguments"
}🔴foliade_update_brand(patch, expected_revision, dry_run)
Account-wide impact: use it when a global customisation is asked for, prefer update_catalogue for a single PDF.
Eingabe-Schema
{
"type": "object",
"properties": {
"patch": {
"$ref": "#/$defs/BrandPatch"
},
"expected_revision": {
"pattern": "^[a-f0-9]{64}$",
"title": "Expected Revision",
"type": "string"
},
"dry_run": {
"default": false,
"title": "Dry Run",
"type": "boolean"
}
},
"required": [
"patch",
"expected_revision"
],
"$defs": {
"BrandPatch": {
"additionalProperties": false,
"properties": {
"societe": {
"default": null,
"maxLength": 160,
"minLength": 0,
"title": "Societe",
"type": "string"
},
"couleur": {
"default": null,
"pattern": "^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$",
"title": "Couleur",
"type": "string"
},
"telechargement_pdf_defaut": {
"default": null,
"title": "Telechargement Pdf Defaut",
"type": "boolean"
}
},
"title": "BrandPatch",
"type": "object"
}
},
"title": "update_brandArguments"
}🟢foliade_list_themes(limit, offset)
Account themes, their settings and revisions; a theme is a copy, not a live link.
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"default": 25,
"maximum": 100,
"minimum": 1,
"title": "Limit",
"type": "integer"
},
"offset": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
},
"title": "list_themesArguments"
}🟡foliade_create_theme(catalogue_id, name, expected_revision)
Saves the existing styling and media of the catalogue as a theme, within the limit of the plan.
Eingabe-Schema
{
"type": "object",
"properties": {
"catalogue_id": {
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"title": "Catalogue Id",
"type": "string"
},
"name": {
"maxLength": 80,
"minLength": 1,
"title": "Name",
"type": "string"
},
"expected_revision": {
"pattern": "^[a-f0-9]{64}$",
"title": "Expected Revision",
"type": "string"
}
},
"required": [
"catalogue_id",
"name",
"expected_revision"
],
"title": "create_themeArguments"
}🔴foliade_update_theme(theme_id, patch, expected_revision, name, make_default, ...)
Changes the theme for its future applications. make_default changes the starting point of new catalogues.
Eingabe-Schema
{
"type": "object",
"properties": {
"theme_id": {
"minimum": 1,
"title": "Theme Id",
"type": "integer"
},
"patch": {
"$ref": "#/$defs/ReaderPatch"
},
"expected_revision": {
"pattern": "^[a-f0-9]{64}$",
"title": "Expected Revision",
"type": "string"
},
"name": {
"anyOf": [
{
"maxLength": 80,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Name"
},
"make_default": {
"default": false,
"title": "Make Default",
"type": "boolean"
},
"dry_run": {
"default": false,
"title": "Dry Run",
"type": "boolean"
}
},
"required": [
"theme_id",
"patch",
"expected_revision"
],
"$defs": {
"ReaderPatch": {
"additionalProperties": false,
"properties": {
"fond": {
"default": null,
"pattern": "^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$",
"title": "Fond",
"type": "string"
},
"barre_fond": {
"default": null,
"pattern": "^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$",
"title": "Barre Fond",
"type": "string"
},
"barre_icones": {
"default": null,
"pattern": "^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$",
"title": "Barre Icones",
"type": "string"
},
"progression": {
"default": null,
"pattern": "^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$",
"title": "Progression",
"type": "string"
},
"fond_couleur2": {
"default": null,
"pattern": "^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$",
"title": "Fond Couleur2",
"type": "string"
},
"titre_sur_fond": {
"default": null,
"title": "Titre Sur Fond",
"type": "boolean"
},
"barre_auto": {
"default": null,
"title": "Barre Auto",
"type": "boolean"
},
"surligner_liens": {
"default": null,
"title": "Surligner Liens",
"type": "boolean"
},
"son_actif": {
"default": null,
"title": "Son Actif",
"type": "boolean"
},
"fond_type": {
"default": null,
"enum": [
"couleur",
"degrade",
"image"
],
"title": "Fond Type",
"type": "string"
},
"fond_direction": {
"default": null,
"enum": [
"vertical",
"diagonal",
"horizontal"
],
"title": "Fond Direction",
"type": "string"
},
"fond_position": {
"default": null,
"enum": [
"haut",
"centre",
"bas"
],
"title": "Fond Position",
"type": "string"
},
"barre_position": {
"default": null,
"enum": [
"bas",
"haut"
],
"title": "Barre Position",
"type": "string"
},
"barre_ton": {
"default": null,
"enum": [
"sombre",
"clair"
],
"title": "Barre Ton",
"type": "string"
},
"invite": {
"default": null,
"enum": [
"coin",
"fleches",
"survol",
"aucune"
],
"title": "Invite",
"type": "string"
},
"disposition": {
"default": null,
"enum": [
"auto",
"simple",
"double"
],
"title": "Disposition",
"type": "string"
},
"logo_taille": {
"default": null,
"enum": [
"petit",
"moyen",
"grand"
],
"title": "Logo Taille",
"type": "string"
},
"logo_coin": {
"default": null,
"enum": [
"haut-gauche",
"haut-droite",
"bas-gauche",
"bas-droite"
],
"title": "Logo Coin",
"type": "string"
},
"effet": {
"default": null,
"enum": [
"magazine",
"book",
"slide",
"cards",
"coverflow",
"single"
],
"title": "Effet",
"type": "string"
},
"fond_flou": {
"default": null,
"maximum": 40,
"minimum": 0,
"title": "Fond Flou",
"type": "integer"
},
"fond_opacite": {
"default": null,
"maximum": 100,
"minimum": 0,
"title": "Fond Opacite",
"type": "integer"
},
"son_volume": {
"default": null,
"maximum": 100,
"minimum": 0,
"title": "Son Volume",
"type": "integer"
},
"logo_lien": {
"default": null,
"maxLength": 300,
"minLength": 0,
"title": "Logo Lien",
"type": "string"
},
"controles_masques": {
"default": null,
"items": {
"enum": [
"premiere",
"zoom",
"sommaire",
"recherche",
"partager",
"imprimer",
"pleinecran",
"telecharger"
],
"type": "string"
},
"maxItems": 8,
"title": "Controles Masques",
"type": "array"
}
},
"title": "ReaderPatch",
"type": "object"
}
},
"title": "update_themeArguments"
}🔴foliade_apply_theme(catalogue_id, theme_id, expected_revision)
Copies the styling and media of a theme of this account onto this catalogue.
Eingabe-Schema
{
"type": "object",
"properties": {
"catalogue_id": {
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"title": "Catalogue Id",
"type": "string"
},
"theme_id": {
"minimum": 1,
"title": "Theme Id",
"type": "integer"
},
"expected_revision": {
"pattern": "^[a-f0-9]{64}$",
"title": "Expected Revision",
"type": "string"
}
},
"required": [
"catalogue_id",
"theme_id",
"expected_revision"
],
"title": "apply_themeArguments"
}🟢foliade_get_enrichments(catalogue_id)
Elements, published version, differences and revision. The files remain those of the catalogue.
Eingabe-Schema
{
"type": "object",
"properties": {
"catalogue_id": {
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"title": "Catalogue Id",
"type": "string"
}
},
"required": [
"catalogue_id"
],
"title": "get_enrichmentsArguments"
}🔴foliade_update_enrichments(catalogue_id, elements, expected_revision, dry_run)
Replaces the draft: 13 types, links, buttons, videos, forms, products, galleries, tours, questions. No element that is invalid or closed off by the plan is accepted. Nothing is published before publish_enrichments. See capabilities and get_enrichments for the examples and the native structure.
Eingabe-Schema
{
"type": "object",
"properties": {
"catalogue_id": {
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"title": "Catalogue Id",
"type": "string"
},
"elements": {
"items": {
"additionalProperties": true,
"type": "object"
},
"maxItems": 400,
"title": "Elements",
"type": "array"
},
"expected_revision": {
"pattern": "^[a-f0-9]{64}$",
"title": "Expected Revision",
"type": "string"
},
"dry_run": {
"default": false,
"title": "Dry Run",
"type": "boolean"
}
},
"required": [
"catalogue_id",
"elements",
"expected_revision"
],
"title": "update_enrichmentsArguments"
}🔴foliade_publish_enrichments(catalogue_id, expected_revision)
Publishes the interactive elements explicitly, with history. Does not publish the catalogue itself.
Eingabe-Schema
{
"type": "object",
"properties": {
"catalogue_id": {
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"title": "Catalogue Id",
"type": "string"
},
"expected_revision": {
"pattern": "^[a-f0-9]{64}$",
"title": "Expected Revision",
"type": "string"
}
},
"required": [
"catalogue_id",
"expected_revision"
],
"title": "publish_enrichmentsArguments"
}🔴foliade_restore_enrichments(catalogue_id, publication_id, expected_revision)
Restores a version of this catalogue after re-checking the plan; creates a new history entry.
Eingabe-Schema
{
"type": "object",
"properties": {
"catalogue_id": {
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"title": "Catalogue Id",
"type": "string"
},
"publication_id": {
"minimum": 1,
"title": "Publication Id",
"type": "integer"
},
"expected_revision": {
"pattern": "^[a-f0-9]{64}$",
"title": "Expected Revision",
"type": "string"
}
},
"required": [
"catalogue_id",
"publication_id",
"expected_revision"
],
"title": "restore_enrichmentsArguments"
}🟢foliade_list_shelves(limit, offset)
Paginated list of the shelves and their settings, without passwords.
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"default": 25,
"maximum": 100,
"minimum": 1,
"title": "Limit",
"type": "integer"
},
"offset": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
},
"title": "list_shelvesArguments"
}🟢foliade_get_shelf(shelf_id)
Settings, catalogues in order, and revision of the shelf.
Eingabe-Schema
{
"type": "object",
"properties": {
"shelf_id": {
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"title": "Shelf Id",
"type": "string"
}
},
"required": [
"shelf_id"
],
"title": "get_shelfArguments"
}🟡foliade_create_shelf(name, patch)
Creates a shelf as a draft. The Distributeur plan is required; nothing is published automatically.
Eingabe-Schema
{
"type": "object",
"properties": {
"name": {
"maxLength": 160,
"minLength": 1,
"title": "Name",
"type": "string"
},
"patch": {
"$ref": "#/$defs/ShelfPatch"
}
},
"required": [
"name",
"patch"
],
"$defs": {
"ShelfPatch": {
"additionalProperties": false,
"properties": {
"nom": {
"default": null,
"maxLength": 160,
"minLength": 1,
"title": "Nom",
"type": "string"
},
"surtitre": {
"default": null,
"maxLength": 160,
"minLength": 0,
"title": "Surtitre",
"type": "string"
},
"titre": {
"default": null,
"maxLength": 240,
"minLength": 0,
"title": "Titre",
"type": "string"
},
"intro": {
"default": null,
"maxLength": 2000,
"minLength": 0,
"title": "Intro",
"type": "string"
},
"pied": {
"default": null,
"maxLength": 300,
"minLength": 0,
"title": "Pied",
"type": "string"
},
"contact": {
"default": null,
"maxLength": 320,
"minLength": 0,
"title": "Contact",
"type": "string"
},
"layout": {
"default": null,
"enum": [
"grille",
"rayonnage",
"liste",
"coverflow",
"vedette",
"kiosque"
],
"title": "Layout",
"type": "string"
},
"taille_couv": {
"default": null,
"enum": [
"petite",
"moyenne",
"grande"
],
"title": "Taille Couv",
"type": "string"
},
"planche": {
"default": null,
"enum": [
"noyer",
"chene",
"ebene",
"verre",
"metal",
"beton",
"couleur"
],
"title": "Planche",
"type": "string"
},
"planche_couleur": {
"default": null,
"pattern": "^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$",
"title": "Planche Couleur",
"type": "string"
},
"fond": {
"default": null,
"pattern": "^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$",
"title": "Fond",
"type": "string"
},
"accent": {
"default": null,
"pattern": "^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$",
"title": "Accent",
"type": "string"
},
"texte": {
"default": null,
"pattern": "^(?:|#[0-9a-fA-F]{3}|#[0-9a-fA-F]{6})$",
"title": "Texte",
"type": "string"
},
"police_titre": {
"default": null,
"maxLength": 80,
"minLength": 0,
"title": "Police Titre",
"type": "string"
},
"police_texte": {
"default": null,
"maxLength": 80,
"minLength": 0,
"title": "Police Texte",
"type": "string"
},
"ouverture": {
"default": null,
"enum": [
"page",
"onglet"
],
"title": "Ouverture",
"type": "string"
},
"collections": {
"default": null,
"title": "Collections",
"type": "boolean"
},
"recherche": {
"default": null,
"title": "Recherche",
"type": "boolean"
},
"badge": {
"default": null,
"title": "Badge",
"type": "boolean"
}
},
"title": "ShelfPatch",
"type": "object"
}
},
"title": "create_shelfArguments"
}🔴foliade_update_shelf(shelf_id, patch, expected_revision, dry_run)
Texts, six layouts, covers, shelf boards, colours, fonts, collections, search and opening.
Eingabe-Schema
{
"type": "object",
"properties": {
"shelf_id": {
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"title": "Shelf Id",
"type": "string"
},
"patch": {
"$ref": "#/$defs/ShelfPatch"
},
"expected_revision": {
"pattern": "^[a-f0-9]{64}$",
"title": "Expected Revision",
"type": "string"
},
"dry_run": {
"default": false,
"title": "Dry Run",
"type": "boolean"
}
},
"required": [
"shelf_id",
"patch",
"expected_revision"
],
"$defs": {
"ShelfPatch": {
"additionalProperties": false,
"properties": {
"nom": {
"default": null,
"maxLength": 160,
"minLength": 1,
"title": "Nom",
"type": "string"
},
"surtitre": {
"default": null,
"maxLength": 160,
"minLength": 0,
"title": "Surtitre",
"type": "string"
},
"titre": {
"default": null,
"maxLength": 240,
"minLength": 0,
"title": "Titre",
"type": "string"
},
"intro": {
"default": null,
"maxLength": 2000,
"minLength": 0,
"title": "Intro",
"type": "string"
},
"pied": {
"default": null,
"maxLength": 300,
"minLength": 0,
"title": "Pied",
"type": "string"
},
"contact": {
"default": null,
"maxLength": 320,
"minLength": 0,
"title": "Contact",
"type": "string"
},
"layout": {
"default": null,
"enum": [
"grille",
"rayonnage",
"liste",
"coverflow",
"vedette",
"kiosque"
],
"title": "Layout",
"type": "string"
},
"taille_couv": {
"default": null,
"enum": [
"petite",
"moyenne",
"grande"
],
"title": "Taille Couv",
"type": "string"
},
"planche": {
"default": null,
"enum": [
"noyer",
"chene",
"ebene",
"verre",
"metal",
"beton",
"couleur"
],
"title": "Planche",
"type": "string"
},
"planche_couleur": {
"default": null,
"pattern": "^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$",
"title": "Planche Couleur",
"type": "string"
},
"fond": {
"default": null,
"pattern": "^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$",
"title": "Fond",
"type": "string"
},
"accent": {
"default": null,
"pattern": "^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$",
"title": "Accent",
"type": "string"
},
"texte": {
"default": null,
"pattern": "^(?:|#[0-9a-fA-F]{3}|#[0-9a-fA-F]{6})$",
"title": "Texte",
"type": "string"
},
"police_titre": {
"default": null,
"maxLength": 80,
"minLength": 0,
"title": "Police Titre",
"type": "string"
},
"police_texte": {
"default": null,
"maxLength": 80,
"minLength": 0,
"title": "Police Texte",
"type": "string"
},
"ouverture": {
"default": null,
"enum": [
"page",
"onglet"
],
"title": "Ouverture",
"type": "string"
},
"collections": {
"default": null,
"title": "Collections",
"type": "boolean"
},
"recherche": {
"default": null,
"title": "Recherche",
"type": "boolean"
},
"badge": {
"default": null,
"title": "Badge",
"type": "boolean"
}
},
"title": "ShelfPatch",
"type": "object"
}
},
"title": "update_shelfArguments"
}🔴foliade_set_shelf_catalogues(shelf_id, items, expected_revision, dry_run)
Replaces the contents of the shelf with this ordered list with collection names. The PDFs themselves are kept.
Eingabe-Schema
{
"type": "object",
"properties": {
"shelf_id": {
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"title": "Shelf Id",
"type": "string"
},
"items": {
"items": {
"$ref": "#/$defs/ShelfItem"
},
"maxItems": 400,
"title": "Items",
"type": "array"
},
"expected_revision": {
"pattern": "^[a-f0-9]{64}$",
"title": "Expected Revision",
"type": "string"
},
"dry_run": {
"default": false,
"title": "Dry Run",
"type": "boolean"
}
},
"required": [
"shelf_id",
"items",
"expected_revision"
],
"$defs": {
"ShelfItem": {
"additionalProperties": false,
"properties": {
"catalogue_id": {
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"title": "Catalogue Id",
"type": "string"
},
"collection": {
"default": "",
"maxLength": 80,
"title": "Collection",
"type": "string"
}
},
"required": [
"catalogue_id"
],
"title": "ShelfItem",
"type": "object"
}
},
"title": "set_shelf_cataloguesArguments"
}🔴foliade_set_shelf_access(shelf_id, expected_revision, state, protection, password, ...)
Publication and access of the shelf on explicit request only; DNS/TLS remain separate.
Eingabe-Schema
{
"type": "object",
"properties": {
"shelf_id": {
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"title": "Shelf Id",
"type": "string"
},
"expected_revision": {
"pattern": "^[a-f0-9]{64}$",
"title": "Expected Revision",
"type": "string"
},
"state": {
"default": "keep",
"enum": [
"keep",
"brouillon",
"public",
"protege"
],
"title": "State",
"type": "string"
},
"protection": {
"default": "keep",
"enum": [
"keep",
"none",
"password"
],
"title": "Protection",
"type": "string"
},
"password": {
"default": "",
"maxLength": 128,
"title": "Password",
"type": "string"
},
"sous_domaine": {
"anyOf": [
{
"maxLength": 64,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Sous Domaine"
},
"domaine": {
"anyOf": [
{
"maxLength": 160,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Domaine"
},
"dry_run": {
"default": false,
"title": "Dry Run",
"type": "boolean"
}
},
"required": [
"shelf_id",
"expected_revision"
],
"title": "set_shelf_accessArguments"
}🟢foliade_list_tracking_links(catalogue_id, limit, offset)
Named links of the catalogue owned by the account. Contains the recipients; do not disclose them publicly.
Eingabe-Schema
{
"type": "object",
"properties": {
"catalogue_id": {
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"title": "Catalogue Id",
"type": "string"
},
"limit": {
"default": 25,
"maximum": 100,
"minimum": 1,
"title": "Limit",
"type": "integer"
},
"offset": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
},
"required": [
"catalogue_id"
],
"title": "list_tracking_linksArguments"
}🟡foliade_create_tracking_link(catalogue_id, recipient, email, note)
Creates a named Business link. No email is sent; does not publish the catalogue.
Eingabe-Schema
{
"type": "object",
"properties": {
"catalogue_id": {
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"title": "Catalogue Id",
"type": "string"
},
"recipient": {
"maxLength": 200,
"minLength": 1,
"title": "Recipient",
"type": "string"
},
"email": {
"default": "",
"maxLength": 320,
"title": "Email",
"type": "string"
},
"note": {
"default": "",
"maxLength": 240,
"title": "Note",
"type": "string"
}
},
"required": [
"catalogue_id",
"recipient"
],
"title": "create_tracking_linkArguments"
}🔴foliade_update_tracking_link(catalogue_id, link_id, patch, expected_revision, dry_run)
Changes recipient, note, email or active flag; closing is explicit and reversible, with no message sent.
Eingabe-Schema
{
"type": "object",
"properties": {
"catalogue_id": {
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"title": "Catalogue Id",
"type": "string"
},
"link_id": {
"minimum": 1,
"title": "Link Id",
"type": "integer"
},
"patch": {
"$ref": "#/$defs/LinkPatch"
},
"expected_revision": {
"pattern": "^[a-f0-9]{64}$",
"title": "Expected Revision",
"type": "string"
},
"dry_run": {
"default": false,
"title": "Dry Run",
"type": "boolean"
}
},
"required": [
"catalogue_id",
"link_id",
"patch",
"expected_revision"
],
"$defs": {
"LinkPatch": {
"additionalProperties": false,
"properties": {
"destinataire": {
"default": null,
"maxLength": 200,
"minLength": 1,
"title": "Destinataire",
"type": "string"
},
"email": {
"default": null,
"maxLength": 320,
"title": "Email",
"type": "string"
},
"note": {
"default": null,
"maxLength": 240,
"title": "Note",
"type": "string"
},
"actif": {
"default": null,
"title": "Actif",
"type": "boolean"
}
},
"title": "LinkPatch",
"type": "object"
}
},
"title": "update_tracking_linkArguments"
}Community
Nachweis