Foliade
Turn PDFs into mobile flipbook catalogues: upload private drafts, customise, publish, get stats.
사용해야 할까요
품질 및 안전성
발견 사항 (4)
- LOWfoliade_catalogue_status에서
- LOWfoliade_import_chapters에서
- LOWfoliade_set_shelf_access에서
- LOWfoliade_update_tracking_link에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"foliade": {
"url": "https://foliade.gekkode.com/mcp"
}
}
}원격 엔드포인트
https://foliade.gekkode.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (34)
🟢foliade_account
Confirms the address and the plan of the destination account, without secrets or payment data.
입력 스키마
{
"type": "object",
"properties": {},
"title": "accountArguments"
}🟢foliade_list_catalogues(limit, offset)
Lists the private and public catalogues of the connected account, with pagination.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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"
}커뮤니티
증거