Search the reusable items of the team’s templates and themes (hybrid keyword + meaning).
An item is one slide or page (a deck slide, a carousel slide), or a whole document (a 2-page
resume). Find the one you need (“our timeline slide”), LOOK at its thumbnail, then copy it
into a canvas with POST /v1/canvases/{canvas_ref}/import-pages (source = canvas_id,
page_ids = the item’s page_ids — all of them). To start from a WHOLE template
instead, use GET /v1/templates.
Pass query, category, item_kind, or a combination. Team-scoped with the same
visibility as GET /v1/templates: another team’s items, and canvases you cannot view,
never appear.
Calendar-dated API version pin. New integrations should pin 2026-05-01 to opt into the newest response shapes. For back-compat the server also accepts requests with no header and resolves them to the current default (today: 2026-04-12); that default advances on each sunset date. Any unsupported value returns 400 unsupported_version.
true when meaning-based matching was unavailable for this request and only literal keywords were matched — an empty or thin result is then NOT proof the item doesn't exist; retry.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Moda","description":"Guides, API reference, and MCP server docs for Moda — the AI design tool for social posts, slide decks, and visual content.","colors":{"primary":"#850AC2","light":"#C155F6","dark":"#420561"},"logo":{"light":"https://mintcdn.com/moda-997c0526/_eKavTfp2ZbkSuMz/images/chameleon.svg?fit=max\u0026auto=format\u0026n=_eKavTfp2ZbkSuMz\u0026q=85\u0026s=d0de9a6ddda2829d62cfe525fbb38722","dark":"https://mintcdn.com/moda-997c0526/_eKavTfp2ZbkSuMz/images/chameleon.svg?fit=max\u0026auto=format\u0026n=_eKavTfp2ZbkSuMz\u0026q=85\u0026s=d0de9a6ddda2829d62cfe525fbb38722","href":"https://moda.app"},"favicon":"https://mintcdn.com/moda-997c0526/_eKavTfp2ZbkSuMz/images/chameleon.svg?fit=max\u0026auto=format\u0026n=_eKavTfp2ZbkSuMz\u0026q=85\u0026s=d0de9a6ddda2829d62cfe525fbb38722","appearance":{"default":"light"},"footer":{"socials":{"x":"https://x.com/trymoda","linkedin":"https://www.linkedin.com/company/trymoda","instagram":"https://www.instagram.com/modacanvas"}},"search":{"prompt":"Search Moda docs"},"seo":{"indexing":"all"},"fonts":{"family":"Inter","weight":400},"integrations":{"posthog":{"apiKey":"phc_5H829H6PUnXGRYUhogPS4rBboCirSiz0SqaEvB5OUco","apiHost":"https://us.i.posthog.com"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Moda app","icon":"arrow-up-right-from-square","href":"https://moda.app"},{"anchor":"Support","icon":"life-ring","href":"mailto:support@moda.app"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"moda-997c0526","hasAudioNarration":false,"actualSubdomain":"moda-997c0526","customDomains":["docs.moda.app"],"gitSource":{"type":"github","owner":"nullframe","repo":"studio","deployBranch":"main","contentDirectory":"mintlify","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"DISABLED"},"CONTEXTUAL_FEEDBACK":{"status":"DISABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af6000d2cb39c06ba022de9","clientVersion":"0.0.4124","searchFilterCounts":[{"language":"default","tag":"API Reference","count":183},{"language":"default","tag":"Help Center","count":28},{"language":"default","tag":"canvas-actions","count":28},{"language":"default","tag":"cloud-computers","count":24},{"language":"default","tag":"media","count":22},{"language":"default","tag":"websites","count":12},{"language":"default","tag":"MCP Server (Legacy)","count":11},{"language":"default","tag":"canvases","count":11},{"language":"default","tag":"drive","count":10},{"language":"default","tag":"voices","count":10}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/canvas-actions/search-template-pages","slug":"/api-reference/canvas-actions/search-template-pages","pageMetadata":{"title":"Search Template Pages","description":"Search the reusable items of the team's templates and themes (hybrid keyword + meaning).\n\nAn item is one slide or page (a deck slide, a carousel slide), or a whole document (a 2-page\nresume). Find the one you need (\"our timeline slide\"), LOOK at its thumbnail, then copy it\ninto a canvas with ``POST /v1/canvases/{canvas_ref}/import-pages`` (``source`` = ``canvas_id``,\n``page_ids`` = the item's ``page_ids`` — all of them). To start from a WHOLE template\ninstead, use ``GET /v1/templates``.\n\nPass ``query``, ``category``, ``item_kind``, or a combination. Team-scoped with the same\nvisibility as ``GET /v1/templates``: another team's items, and canvases you cannot view,\nnever appear.","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /templates/pages","href":"/api-reference/canvas-actions/search-template-pages","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Search the reusable items of the team’s templates and themes (hybrid keyword + meaning).\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"An item is one slide or page (a deck slide, a carousel slide), or a whole document (a 2-page\\nresume). Find the one you need (“our timeline slide”), LOOK at its thumbnail, then copy it\\ninto a canvas with \", _jsx(_components.code, {\n children: \"POST /v1/canvases/{canvas_ref}/import-pages\"\n }), \" (\", _jsx(_components.code, {\n children: \"source\"\n }), \" = \", _jsx(_components.code, {\n children: \"canvas_id\"\n }), \",\\n\", _jsx(_components.code, {\n children: \"page_ids\"\n }), \" = the item’s \", _jsx(_components.code, {\n children: \"page_ids\"\n }), \" — all of them). To start from a WHOLE template\\ninstead, use \", _jsx(_components.code, {\n children: \"GET /v1/templates\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Pass \", _jsx(_components.code, {\n children: \"query\"\n }), \", \", _jsx(_components.code, {\n children: \"category\"\n }), \", \", _jsx(_components.code, {\n children: \"item_kind\"\n }), \", or a combination. Team-scoped with the same\\nvisibility as \", _jsx(_components.code, {\n children: \"GET /v1/templates\"\n }), \": another team’s items, and canvases you cannot view,\\nnever appear.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Search Template Pages","description":"Search the reusable items of the team's templates and themes (hybrid keyword + meaning).\n\nAn item is one slide or page (a deck slide, a carousel slide), or a whole document (a 2-page\nresume). Find the one you need (\"our timeline slide\"), LOOK at its thumbnail, then copy it\ninto a canvas with ``POST /v1/canvases/{canvas_ref}/import-pages`` (``source`` = ``canvas_id``,\n``page_ids`` = the item's ``page_ids`` — all of them). To start from a WHOLE template\ninstead, use ``GET /v1/templates``.\n\nPass ``query``, ``category``, ``item_kind``, or a combination. Team-scoped with the same\nvisibility as ``GET /v1/templates``: another team's items, and canvases you cannot view,\nnever appear.","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /templates/pages","href":"/api-reference/canvas-actions/search-template-pages","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["canvas-actions"],"summary":"Search Template Pages","description":"Search the reusable items of the team's templates and themes (hybrid keyword + meaning).\n\nAn item is one slide or page (a deck slide, a carousel slide), or a whole document (a 2-page\nresume). Find the one you need (\"our timeline slide\"), LOOK at its thumbnail, then copy it\ninto a canvas with ``POST /v1/canvases/{canvas_ref}/import-pages`` (``source`` = ``canvas_id``,\n``page_ids`` = the item's ``page_ids`` — all of them). To start from a WHOLE template\ninstead, use ``GET /v1/templates``.\n\nPass ``query``, ``category``, ``item_kind``, or a combination. Team-scoped with the same\nvisibility as ``GET /v1/templates``: another team's items, and canvases you cannot view,\nnever appear.","operationId":"searchTemplatePages","security":["d174c1f2-e6bd-40b9-a55f-29ad1432c347"],"parameters":["aa8f0325-21fb-4755-8731-92ab7502a320","d5c8105d-cccb-4329-94aa-b80685a7cc24","d49e6a76-db6a-4f48-a7dc-0555c68cc9c3","ff4920cd-6ad3-436d-b4d9-72d3e86cd120","a0fc68cc-233b-4ece-972f-4e95932fc154","f614c082-6c34-4cfa-9d7a-8b2fd592ccdd"],"responses":{"200":"726e9d62-1dfc-48ca-a779-d345727f4b54","401":"371b9f82-721d-4f1a-b670-b743e4d18387","402":"ef448670-65fc-4eed-b730-34a7de8b1bd6","403":"26f768d3-0724-4a9f-9b7d-807e5481ea3b","404":"d501ef5d-f0c6-4076-aeb2-84a055602603","409":"a5e50011-f81b-4cd8-8efb-df7f5a4f42c5","422":"6c9ae025-d32a-47b8-b0bb-ede0530e52a4","429":"13aebeac-f044-4327-9ad5-1346da6c5345","500":"51d1f44b-830c-448b-b78a-bc73874cfdc4"},"method":"get","type":"path","servers":["900bd1dd-1657-41cc-9e95-57b7af147e04"],"path":"/templates/pages","baseUrlOptions":["https://api.moda.app/v1"],"title":"Search Template Pages","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"aa8f0325-21fb-4755-8731-92ab7502a320":{"name":"query","in":"query","required":false,"schema":{"type":"string","maxLength":500,"description":"What the item is, in words (``timeline slide``, ``resume``, ``meet the team``). Omit to browse by ``category`` / ``item_kind``.","default":"","title":"Query","isRequired":false,"uniqueKey":"","typeLabel":"string"},"description":"What the item is, in words (``timeline slide``, ``resume``, ``meet the team``). Omit to browse by ``category`` / ``item_kind``."},"d5c8105d-cccb-4329-94aa-b80685a7cc24":{"name":"category","in":"query","required":false,"schema":{"oneOf":[{"type":"string","title":"LibraryCategory","description":"Only items in this category.","enum":["presentation","resume","document","menu","print","social","other"],"uniqueKey":"oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Category","description":"Only items in this category.","uniqueKey":"oneOf.1","typeLabel":"null"}],"isRequired":false,"uniqueKey":"","typeLabel":"enum\u003cstring> | null"},"description":"Only items in this category."},"d49e6a76-db6a-4f48-a7dc-0555c68cc9c3":{"name":"item_kind","in":"query","required":false,"schema":{"oneOf":[{"type":"string","title":"LibraryKind","description":"Only items of this kind (e.g. ``timeline``).","enum":["title","agenda","section","text","comparison","timeline","process","chart","table","pricing","team","quote","gallery","closing","report","proposal","fact_sheet","one_pager","guidelines","ebook","letter","invoice","flyer","poster","brochure","card","invitation","certificate","post","carousel","story","other"],"uniqueKey":"oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Item Kind","description":"Only items of this kind (e.g. ``timeline``).","uniqueKey":"oneOf.1","typeLabel":"null"}],"isRequired":false,"uniqueKey":"","typeLabel":"enum\u003cstring> | null"},"description":"Only items of this kind (e.g. ``timeline``)."},"ff4920cd-6ad3-436d-b4d9-72d3e86cd120":{"name":"kind","in":"query","required":false,"schema":{"oneOf":[{"type":"string","title":"LibraryTemplateType","description":"Only items of templates (``template``) or of themes (``theme``). Default: both.\nThe ``canvases.template_type`` values whose pages the library indexes.","enum":["template","theme"],"uniqueKey":"oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Kind","description":"Only items of templates (``template``) or of themes (``theme``). Default: both.","uniqueKey":"oneOf.1","typeLabel":"null"}],"isRequired":false,"uniqueKey":"","typeLabel":"enum\u003cstring> | null"},"description":"Only items of templates (``template``) or of themes (``theme``). Default: both."},"a0fc68cc-233b-4ece-972f-4e95932fc154":{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"description":"Max items. Defaults to 10, caps at 50.","default":10,"title":"Limit","isRequired":false,"uniqueKey":"","typeLabel":"integer"},"description":"Max items. Defaults to 10, caps at 50."},"f614c082-6c34-4cfa-9d7a-8b2fd592ccdd":{"name":"Moda-Version","in":"header","required":false,"description":"Calendar-dated API version pin. New integrations should pin `2026-05-01` to opt into the newest response shapes. For back-compat the server also accepts requests with no header and resolves them to the current default (today: `2026-04-12`); that default advances on each [sunset date](/api-reference/versioning). Any unsupported value returns 400 `unsupported_version`.","example":"2026-05-01","schema":{"type":"string","enum":["2026-04-12","2026-05-01"],"default":"2026-05-01","example":"2026-05-01","isRequired":false,"description":"Calendar-dated API version pin. New integrations should pin `2026-05-01` to opt into the newest response shapes. For back-compat the server also accepts requests with no header and resolves them to the current default (today: `2026-04-12`); that default advances on each [sunset date](/api-reference/versioning). Any unsupported value returns 400 `unsupported_version`.","uniqueKey":"","typeLabel":"enum\u003cstring>"}}},"responses":{"726e9d62-1dfc-48ca-a779-d345727f4b54":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"data":{"items":{"properties":{"canvas_id":{"type":"string","title":"Canvas Id","description":"Wire id (``cvs_...``) of the template or theme canvas the item belongs to — the ``source`` of ``POST /v1/canvases/{canvas_ref}/import-pages``.","isRequired":true,"uniqueKey":"data.items.[INDEX].canvas_id","typeLabel":"string"},"page_ids":{"items":{"type":"string","uniqueKey":"data.items.[INDEX].page_ids.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Page Ids","description":"Every page of the item, in order — pass ALL of them as ``page_ids`` to import the item (one id for a slide; several for a multi-page document or carousel). An import takes at most 100 page ids: import a longer item in order, in batches.","isRequired":true,"uniqueKey":"data.items.[INDEX].page_ids","typeLabel":"string[]"},"page_id":{"type":"string","title":"Page Id","description":"The item's first page (``page_ids[0]``).","isRequired":true,"uniqueKey":"data.items.[INDEX].page_id","typeLabel":"string"},"page_index":{"type":"integer","title":"Page Index","description":"Zero-based position of the item's first page in its canvas.","isRequired":true,"uniqueKey":"data.items.[INDEX].page_index","typeLabel":"integer"},"page_count":{"type":"integer","title":"Page Count","description":"Number of pages in the item.","isRequired":true,"uniqueKey":"data.items.[INDEX].page_count","typeLabel":"integer"},"title":{"type":"string","title":"Title","description":"The literal page name (``Slide N`` / ``Page N`` when unnamed), or the template name for an unnamed multi-page item.","isRequired":true,"uniqueKey":"data.items.[INDEX].title","typeLabel":"string"},"canvas_name":{"type":"string","title":"Canvas Name","description":"Name of the template or theme the item belongs to.","isRequired":true,"uniqueKey":"data.items.[INDEX].canvas_name","typeLabel":"string"},"kind":{"type":"string","enum":["template","theme"],"title":"LibraryTemplateType","description":"``template`` (a starting-point design) or ``theme``.","isRequired":true,"uniqueKey":"data.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"excerpt":{"type":"string","title":"Excerpt","description":"The start of the item's text, to tell similar items apart.","isRequired":true,"uniqueKey":"data.items.[INDEX].excerpt","typeLabel":"string"},"label":{"oneOf":[{"type":"string","title":"Label","description":"What the item is, as a functional name (``comparison slide``, ``2-page resume``, ``quote post``); ``null`` until classified.","uniqueKey":"data.items.[INDEX].label.oneOf.0","typeLabel":"string"},{"type":"null","title":"Label","description":"What the item is, as a functional name (``comparison slide``, ``2-page resume``, ``quote post``); ``null`` until classified.","uniqueKey":"data.items.[INDEX].label.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].label","typeLabel":"string | null"},"category":{"oneOf":[{"type":"string","title":"LibraryCategory","description":"What the item is (``presentation``, ``resume``, ``document``, …); ``null`` until classified.","enum":["presentation","resume","document","menu","print","social","other"],"uniqueKey":"data.items.[INDEX].category.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"What the item is (``presentation``, ``resume``, ``document``, …); ``null`` until classified.","uniqueKey":"data.items.[INDEX].category.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].category","typeLabel":"enum\u003cstring> | null"},"item_kind":{"oneOf":[{"type":"string","title":"LibraryKind","description":"Finer type within the category (a slide's role like ``timeline``; a document's genre like ``proposal``); ``null`` when the category has none.","enum":["title","agenda","section","text","comparison","timeline","process","chart","table","pricing","team","quote","gallery","closing","report","proposal","fact_sheet","one_pager","guidelines","ebook","letter","invoice","flyer","poster","brochure","card","invitation","certificate","post","carousel","story","other"],"uniqueKey":"data.items.[INDEX].item_kind.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Finer type within the category (a slide's role like ``timeline``; a document's genre like ``proposal``); ``null`` when the category has none.","uniqueKey":"data.items.[INDEX].item_kind.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].item_kind","typeLabel":"enum\u003cstring> | null"},"match_type":{"oneOf":[{"type":"string","title":"Match Type","description":"Which search arm matched; ``null`` when browsing by category without a query.","enum":["keyword","semantic","hybrid"],"uniqueKey":"data.items.[INDEX].match_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Match Type","description":"Which search arm matched; ``null`` when browsing by category without a query.","uniqueKey":"data.items.[INDEX].match_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].match_type","typeLabel":"enum\u003cstring> | null"},"thumbnail_url":{"oneOf":[{"type":"string","title":"Thumbnail Url","description":"Signed thumbnail URL of the item's first page (bounded lifetime) — download it to LOOK before choosing; ``null`` when not rendered yet. Use-and-discard: never persist this URL.","uniqueKey":"data.items.[INDEX].thumbnail_url.oneOf.0","typeLabel":"string"},{"type":"null","title":"Thumbnail Url","description":"Signed thumbnail URL of the item's first page (bounded lifetime) — download it to LOOK before choosing; ``null`` when not rendered yet. Use-and-discard: never persist this URL.","uniqueKey":"data.items.[INDEX].thumbnail_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].thumbnail_url","typeLabel":"string | null"},"thumbnail_unavailable":{"type":"boolean","title":"Thumbnail Unavailable","description":"``true`` when a thumbnail EXISTS but could not be signed right now (transient) — retry.","default":false,"uniqueKey":"data.items.[INDEX].thumbnail_unavailable","typeLabel":"boolean"}},"type":"object","required":["canvas_id","page_ids","page_id","page_index","page_count","title","canvas_name","kind","excerpt"],"title":"TemplatePageItem","description":"One reusable item of a team template or theme — a slide or page (a deck slide, a carousel\nslide), or a whole document (a 2-page resume) — from the library index.","uniqueKey":"data.items.[INDEX]","typeLabel":"TemplatePageItem · object"},"type":"array","title":"Data","description":"Matching items, best match first.","isRequired":true,"uniqueKey":"data","typeLabel":"TemplatePageItem · object[]"},"returned":{"type":"integer","title":"Returned","description":"Number of items in ``data``.","isRequired":true,"uniqueKey":"returned","typeLabel":"integer"},"keyword_only":{"type":"boolean","title":"Keyword Only","description":"``true`` when meaning-based matching was unavailable for this request and only literal keywords were matched — an empty or thin result is then NOT proof the item doesn't exist; retry.","isRequired":true,"uniqueKey":"keyword_only","typeLabel":"boolean"}},"type":"object","required":["data","returned","keyword_only"],"title":"SearchTemplatePagesResponse","description":"Best-first item hits (not paginated — narrow the query or category instead).","uniqueKey":"","typeLabel":"SearchTemplatePagesResponse · object"},"examples":{"Example":{"title":"Example","value":{"data":[{"canvas_id":"\u003cstring>","page_ids":["\u003cstring>"],"page_id":"\u003cstring>","page_index":123,"page_count":123,"title":"\u003cstring>","canvas_name":"\u003cstring>","kind":"template","excerpt":"\u003cstring>","label":"\u003cstring>","category":"presentation","item_kind":"title","match_type":"keyword","thumbnail_url":"\u003cstring>","thumbnail_unavailable":false}],"returned":123,"keyword_only":true}}},"exampleType":"generated"}},"exampleType":"generated"},"371b9f82-721d-4f1a-b670-b743e4d18387":{"description":"Authentication required.","content":{"application/json":{"schema":{"properties":{"type":{"type":"string","enum":["invalid_request","authentication","permission","not_found","conflict","rate_limited","idempotency_conflict","unprocessable","upstream_error","internal_error"],"title":"ErrorType","description":"Closed set of high-level categories SDKs branch on.","isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","title":"Code","description":"Stable machine string keyed to doc_url. Never changes once published.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","title":"Message","description":"Human-readable message, for developers. Not localized, not user-facing.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"doc_url":{"type":"string","title":"Doc Url","description":"Permalink to the docs page for this code.","isRequired":true,"uniqueKey":"doc_url","typeLabel":"string"},"request_id":{"oneOf":[{"type":"string","title":"Request Id","description":"Correlator for logs/Sentry/audit.","uniqueKey":"request_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Request Id","description":"Correlator for logs/Sentry/audit.","uniqueKey":"request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"request_id","typeLabel":"string | null"},"causes":{"oneOf":[{"type":"array","items":{"oneOf":[{}],"uniqueKey":"causes.oneOf.0.items.[INDEX]","typeLabel":"any"},"title":"Causes","description":"Aggregated upstream failures (e.g. per-page export errors).","uniqueKey":"causes.oneOf.0","typeLabel":"any[]"},{"type":"null","title":"Causes","description":"Aggregated upstream failures (e.g. per-page export errors).","uniqueKey":"causes.oneOf.1","typeLabel":"null"}],"uniqueKey":"causes","typeLabel":"any[] | null"},"details":{"oneOf":[{"type":"object","title":"Details","description":"Code-specific detail payload (e.g. validation field list). Callers should pass ``None`` rather than ``{}`` to omit the key from the response.","additionalProperties":true,"uniqueKey":"details.oneOf.0","typeLabel":"Details · object"},{"type":"null","title":"Details","description":"Code-specific detail payload (e.g. validation field list). Callers should pass ``None`` rather than ``{}`` to omit the key from the response.","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"Details · object | null"},"retry_after_ms":{"oneOf":[{"type":"integer","title":"Retry After Ms","description":"Hint for rate-limited or transient errors.","uniqueKey":"retry_after_ms.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Retry After Ms","description":"Hint for rate-limited or transient errors.","uniqueKey":"retry_after_ms.oneOf.1","typeLabel":"null"}],"uniqueKey":"retry_after_ms","typeLabel":"integer | null"},"retryable":{"oneOf":[{"type":"boolean","title":"Retryable","description":"Explicit retryability for this code, from the error-code registry: ``false`` means retrying the same request cannot succeed (fix the input / resource first); ``true`` means the condition is transient and a retry (with backoff / after the blocker clears) can succeed. For a code whose retryability is context-dependent (the registry declares none), the raising site sets it per response when it knows the cause (e.g. ``source_url_unreachable``: a timeout is retryable, a 404 is not) and omits it otherwise — do not derive it from ``type`` or the HTTP status when this field is present.","uniqueKey":"retryable.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Retryable","description":"Explicit retryability for this code, from the error-code registry: ``false`` means retrying the same request cannot succeed (fix the input / resource first); ``true`` means the condition is transient and a retry (with backoff / after the blocker clears) can succeed. For a code whose retryability is context-dependent (the registry declares none), the raising site sets it per response when it knows the cause (e.g. ``source_url_unreachable``: a timeout is retryable, a 404 is not) and omits it otherwise — do not derive it from ``type`` or the HTTP status when this field is present.","uniqueKey":"retryable.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryable","typeLabel":"boolean | null"}},"type":"object","required":["type","code","message","doc_url"],"title":"ErrorEnvelope","description":"Canonical error payload, nested under the top-level ``{\"error\": ...}`` key.","uniqueKey":"","typeLabel":"ErrorEnvelope · object"},"examples":{"Example":{"title":"Example","value":{"type":"invalid_request","code":"\u003cstring>","message":"\u003cstring>","doc_url":"\u003cstring>","request_id":"\u003cstring>","causes":["\u003cunknown>"],"details":{},"retry_after_ms":123,"retryable":true}}},"exampleType":"generated"}},"exampleType":"generated"},"ef448670-65fc-4eed-b730-34a7de8b1bd6":{"description":"Insufficient credits for a metered operation.","content":{"application/json":{"schema":{"properties":{"type":{"type":"string","enum":["invalid_request","authentication","permission","not_found","conflict","rate_limited","idempotency_conflict","unprocessable","upstream_error","internal_error"],"title":"ErrorType","description":"Closed set of high-level categories SDKs branch on.","isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","title":"Code","description":"Stable machine string keyed to doc_url. Never changes once published.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","title":"Message","description":"Human-readable message, for developers. Not localized, not user-facing.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"doc_url":{"type":"string","title":"Doc Url","description":"Permalink to the docs page for this code.","isRequired":true,"uniqueKey":"doc_url","typeLabel":"string"},"request_id":{"oneOf":[{"type":"string","title":"Request Id","description":"Correlator for logs/Sentry/audit.","uniqueKey":"request_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Request Id","description":"Correlator for logs/Sentry/audit.","uniqueKey":"request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"request_id","typeLabel":"string | null"},"causes":{"oneOf":[{"type":"array","items":{"oneOf":[{}],"uniqueKey":"causes.oneOf.0.items.[INDEX]","typeLabel":"any"},"title":"Causes","description":"Aggregated upstream failures (e.g. per-page export errors).","uniqueKey":"causes.oneOf.0","typeLabel":"any[]"},{"type":"null","title":"Causes","description":"Aggregated upstream failures (e.g. per-page export errors).","uniqueKey":"causes.oneOf.1","typeLabel":"null"}],"uniqueKey":"causes","typeLabel":"any[] | null"},"details":{"oneOf":[{"type":"object","title":"Details","description":"Code-specific detail payload (e.g. validation field list). Callers should pass ``None`` rather than ``{}`` to omit the key from the response.","additionalProperties":true,"uniqueKey":"details.oneOf.0","typeLabel":"Details · object"},{"type":"null","title":"Details","description":"Code-specific detail payload (e.g. validation field list). Callers should pass ``None`` rather than ``{}`` to omit the key from the response.","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"Details · object | null"},"retry_after_ms":{"oneOf":[{"type":"integer","title":"Retry After Ms","description":"Hint for rate-limited or transient errors.","uniqueKey":"retry_after_ms.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Retry After Ms","description":"Hint for rate-limited or transient errors.","uniqueKey":"retry_after_ms.oneOf.1","typeLabel":"null"}],"uniqueKey":"retry_after_ms","typeLabel":"integer | null"},"retryable":{"oneOf":[{"type":"boolean","title":"Retryable","description":"Explicit retryability for this code, from the error-code registry: ``false`` means retrying the same request cannot succeed (fix the input / resource first); ``true`` means the condition is transient and a retry (with backoff / after the blocker clears) can succeed. For a code whose retryability is context-dependent (the registry declares none), the raising site sets it per response when it knows the cause (e.g. ``source_url_unreachable``: a timeout is retryable, a 404 is not) and omits it otherwise — do not derive it from ``type`` or the HTTP status when this field is present.","uniqueKey":"retryable.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Retryable","description":"Explicit retryability for this code, from the error-code registry: ``false`` means retrying the same request cannot succeed (fix the input / resource first); ``true`` means the condition is transient and a retry (with backoff / after the blocker clears) can succeed. For a code whose retryability is context-dependent (the registry declares none), the raising site sets it per response when it knows the cause (e.g. ``source_url_unreachable``: a timeout is retryable, a 404 is not) and omits it otherwise — do not derive it from ``type`` or the HTTP status when this field is present.","uniqueKey":"retryable.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryable","typeLabel":"boolean | null"}},"type":"object","required":["type","code","message","doc_url"],"title":"ErrorEnvelope","description":"Canonical error payload, nested under the top-level ``{\"error\": ...}`` key.","uniqueKey":"","typeLabel":"ErrorEnvelope · object"},"examples":{"Example":{"title":"Example","value":{"type":"invalid_request","code":"\u003cstring>","message":"\u003cstring>","doc_url":"\u003cstring>","request_id":"\u003cstring>","causes":["\u003cunknown>"],"details":{},"retry_after_ms":123,"retryable":true}}},"exampleType":"generated"}},"exampleType":"generated"},"26f768d3-0724-4a9f-9b7d-807e5481ea3b":{"description":"Permission denied for this scope.","content":{"application/json":{"schema":{"properties":{"type":{"type":"string","enum":["invalid_request","authentication","permission","not_found","conflict","rate_limited","idempotency_conflict","unprocessable","upstream_error","internal_error"],"title":"ErrorType","description":"Closed set of high-level categories SDKs branch on.","isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","title":"Code","description":"Stable machine string keyed to doc_url. Never changes once published.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","title":"Message","description":"Human-readable message, for developers. Not localized, not user-facing.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"doc_url":{"type":"string","title":"Doc Url","description":"Permalink to the docs page for this code.","isRequired":true,"uniqueKey":"doc_url","typeLabel":"string"},"request_id":{"oneOf":[{"type":"string","title":"Request Id","description":"Correlator for logs/Sentry/audit.","uniqueKey":"request_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Request Id","description":"Correlator for logs/Sentry/audit.","uniqueKey":"request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"request_id","typeLabel":"string | null"},"causes":{"oneOf":[{"type":"array","items":{"oneOf":[{}],"uniqueKey":"causes.oneOf.0.items.[INDEX]","typeLabel":"any"},"title":"Causes","description":"Aggregated upstream failures (e.g. per-page export errors).","uniqueKey":"causes.oneOf.0","typeLabel":"any[]"},{"type":"null","title":"Causes","description":"Aggregated upstream failures (e.g. per-page export errors).","uniqueKey":"causes.oneOf.1","typeLabel":"null"}],"uniqueKey":"causes","typeLabel":"any[] | null"},"details":{"oneOf":[{"type":"object","title":"Details","description":"Code-specific detail payload (e.g. validation field list). Callers should pass ``None`` rather than ``{}`` to omit the key from the response.","additionalProperties":true,"uniqueKey":"details.oneOf.0","typeLabel":"Details · object"},{"type":"null","title":"Details","description":"Code-specific detail payload (e.g. validation field list). Callers should pass ``None`` rather than ``{}`` to omit the key from the response.","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"Details · object | null"},"retry_after_ms":{"oneOf":[{"type":"integer","title":"Retry After Ms","description":"Hint for rate-limited or transient errors.","uniqueKey":"retry_after_ms.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Retry After Ms","description":"Hint for rate-limited or transient errors.","uniqueKey":"retry_after_ms.oneOf.1","typeLabel":"null"}],"uniqueKey":"retry_after_ms","typeLabel":"integer | null"},"retryable":{"oneOf":[{"type":"boolean","title":"Retryable","description":"Explicit retryability for this code, from the error-code registry: ``false`` means retrying the same request cannot succeed (fix the input / resource first); ``true`` means the condition is transient and a retry (with backoff / after the blocker clears) can succeed. For a code whose retryability is context-dependent (the registry declares none), the raising site sets it per response when it knows the cause (e.g. ``source_url_unreachable``: a timeout is retryable, a 404 is not) and omits it otherwise — do not derive it from ``type`` or the HTTP status when this field is present.","uniqueKey":"retryable.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Retryable","description":"Explicit retryability for this code, from the error-code registry: ``false`` means retrying the same request cannot succeed (fix the input / resource first); ``true`` means the condition is transient and a retry (with backoff / after the blocker clears) can succeed. For a code whose retryability is context-dependent (the registry declares none), the raising site sets it per response when it knows the cause (e.g. ``source_url_unreachable``: a timeout is retryable, a 404 is not) and omits it otherwise — do not derive it from ``type`` or the HTTP status when this field is present.","uniqueKey":"retryable.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryable","typeLabel":"boolean | null"}},"type":"object","required":["type","code","message","doc_url"],"title":"ErrorEnvelope","description":"Canonical error payload, nested under the top-level ``{\"error\": ...}`` key.","uniqueKey":"","typeLabel":"ErrorEnvelope · object"},"examples":{"Example":{"title":"Example","value":{"type":"invalid_request","code":"\u003cstring>","message":"\u003cstring>","doc_url":"\u003cstring>","request_id":"\u003cstring>","causes":["\u003cunknown>"],"details":{},"retry_after_ms":123,"retryable":true}}},"exampleType":"generated"}},"exampleType":"generated"},"d501ef5d-f0c6-4076-aeb2-84a055602603":{"description":"Resource not found.","content":{"application/json":{"schema":{"properties":{"type":{"type":"string","enum":["invalid_request","authentication","permission","not_found","conflict","rate_limited","idempotency_conflict","unprocessable","upstream_error","internal_error"],"title":"ErrorType","description":"Closed set of high-level categories SDKs branch on.","isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","title":"Code","description":"Stable machine string keyed to doc_url. Never changes once published.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","title":"Message","description":"Human-readable message, for developers. Not localized, not user-facing.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"doc_url":{"type":"string","title":"Doc Url","description":"Permalink to the docs page for this code.","isRequired":true,"uniqueKey":"doc_url","typeLabel":"string"},"request_id":{"oneOf":[{"type":"string","title":"Request Id","description":"Correlator for logs/Sentry/audit.","uniqueKey":"request_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Request Id","description":"Correlator for logs/Sentry/audit.","uniqueKey":"request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"request_id","typeLabel":"string | null"},"causes":{"oneOf":[{"type":"array","items":{"oneOf":[{}],"uniqueKey":"causes.oneOf.0.items.[INDEX]","typeLabel":"any"},"title":"Causes","description":"Aggregated upstream failures (e.g. per-page export errors).","uniqueKey":"causes.oneOf.0","typeLabel":"any[]"},{"type":"null","title":"Causes","description":"Aggregated upstream failures (e.g. per-page export errors).","uniqueKey":"causes.oneOf.1","typeLabel":"null"}],"uniqueKey":"causes","typeLabel":"any[] | null"},"details":{"oneOf":[{"type":"object","title":"Details","description":"Code-specific detail payload (e.g. validation field list). Callers should pass ``None`` rather than ``{}`` to omit the key from the response.","additionalProperties":true,"uniqueKey":"details.oneOf.0","typeLabel":"Details · object"},{"type":"null","title":"Details","description":"Code-specific detail payload (e.g. validation field list). Callers should pass ``None`` rather than ``{}`` to omit the key from the response.","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"Details · object | null"},"retry_after_ms":{"oneOf":[{"type":"integer","title":"Retry After Ms","description":"Hint for rate-limited or transient errors.","uniqueKey":"retry_after_ms.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Retry After Ms","description":"Hint for rate-limited or transient errors.","uniqueKey":"retry_after_ms.oneOf.1","typeLabel":"null"}],"uniqueKey":"retry_after_ms","typeLabel":"integer | null"},"retryable":{"oneOf":[{"type":"boolean","title":"Retryable","description":"Explicit retryability for this code, from the error-code registry: ``false`` means retrying the same request cannot succeed (fix the input / resource first); ``true`` means the condition is transient and a retry (with backoff / after the blocker clears) can succeed. For a code whose retryability is context-dependent (the registry declares none), the raising site sets it per response when it knows the cause (e.g. ``source_url_unreachable``: a timeout is retryable, a 404 is not) and omits it otherwise — do not derive it from ``type`` or the HTTP status when this field is present.","uniqueKey":"retryable.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Retryable","description":"Explicit retryability for this code, from the error-code registry: ``false`` means retrying the same request cannot succeed (fix the input / resource first); ``true`` means the condition is transient and a retry (with backoff / after the blocker clears) can succeed. For a code whose retryability is context-dependent (the registry declares none), the raising site sets it per response when it knows the cause (e.g. ``source_url_unreachable``: a timeout is retryable, a 404 is not) and omits it otherwise — do not derive it from ``type`` or the HTTP status when this field is present.","uniqueKey":"retryable.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryable","typeLabel":"boolean | null"}},"type":"object","required":["type","code","message","doc_url"],"title":"ErrorEnvelope","description":"Canonical error payload, nested under the top-level ``{\"error\": ...}`` key.","uniqueKey":"","typeLabel":"ErrorEnvelope · object"},"examples":{"Example":{"title":"Example","value":{"type":"invalid_request","code":"\u003cstring>","message":"\u003cstring>","doc_url":"\u003cstring>","request_id":"\u003cstring>","causes":["\u003cunknown>"],"details":{},"retry_after_ms":123,"retryable":true}}},"exampleType":"generated"}},"exampleType":"generated"},"a5e50011-f81b-4cd8-8efb-df7f5a4f42c5":{"description":"Conflict (idempotency / resource state).","content":{"application/json":{"schema":{"properties":{"type":{"type":"string","enum":["invalid_request","authentication","permission","not_found","conflict","rate_limited","idempotency_conflict","unprocessable","upstream_error","internal_error"],"title":"ErrorType","description":"Closed set of high-level categories SDKs branch on.","isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","title":"Code","description":"Stable machine string keyed to doc_url. Never changes once published.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","title":"Message","description":"Human-readable message, for developers. Not localized, not user-facing.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"doc_url":{"type":"string","title":"Doc Url","description":"Permalink to the docs page for this code.","isRequired":true,"uniqueKey":"doc_url","typeLabel":"string"},"request_id":{"oneOf":[{"type":"string","title":"Request Id","description":"Correlator for logs/Sentry/audit.","uniqueKey":"request_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Request Id","description":"Correlator for logs/Sentry/audit.","uniqueKey":"request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"request_id","typeLabel":"string | null"},"causes":{"oneOf":[{"type":"array","items":{"oneOf":[{}],"uniqueKey":"causes.oneOf.0.items.[INDEX]","typeLabel":"any"},"title":"Causes","description":"Aggregated upstream failures (e.g. per-page export errors).","uniqueKey":"causes.oneOf.0","typeLabel":"any[]"},{"type":"null","title":"Causes","description":"Aggregated upstream failures (e.g. per-page export errors).","uniqueKey":"causes.oneOf.1","typeLabel":"null"}],"uniqueKey":"causes","typeLabel":"any[] | null"},"details":{"oneOf":[{"type":"object","title":"Details","description":"Code-specific detail payload (e.g. validation field list). Callers should pass ``None`` rather than ``{}`` to omit the key from the response.","additionalProperties":true,"uniqueKey":"details.oneOf.0","typeLabel":"Details · object"},{"type":"null","title":"Details","description":"Code-specific detail payload (e.g. validation field list). Callers should pass ``None`` rather than ``{}`` to omit the key from the response.","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"Details · object | null"},"retry_after_ms":{"oneOf":[{"type":"integer","title":"Retry After Ms","description":"Hint for rate-limited or transient errors.","uniqueKey":"retry_after_ms.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Retry After Ms","description":"Hint for rate-limited or transient errors.","uniqueKey":"retry_after_ms.oneOf.1","typeLabel":"null"}],"uniqueKey":"retry_after_ms","typeLabel":"integer | null"},"retryable":{"oneOf":[{"type":"boolean","title":"Retryable","description":"Explicit retryability for this code, from the error-code registry: ``false`` means retrying the same request cannot succeed (fix the input / resource first); ``true`` means the condition is transient and a retry (with backoff / after the blocker clears) can succeed. For a code whose retryability is context-dependent (the registry declares none), the raising site sets it per response when it knows the cause (e.g. ``source_url_unreachable``: a timeout is retryable, a 404 is not) and omits it otherwise — do not derive it from ``type`` or the HTTP status when this field is present.","uniqueKey":"retryable.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Retryable","description":"Explicit retryability for this code, from the error-code registry: ``false`` means retrying the same request cannot succeed (fix the input / resource first); ``true`` means the condition is transient and a retry (with backoff / after the blocker clears) can succeed. For a code whose retryability is context-dependent (the registry declares none), the raising site sets it per response when it knows the cause (e.g. ``source_url_unreachable``: a timeout is retryable, a 404 is not) and omits it otherwise — do not derive it from ``type`` or the HTTP status when this field is present.","uniqueKey":"retryable.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryable","typeLabel":"boolean | null"}},"type":"object","required":["type","code","message","doc_url"],"title":"ErrorEnvelope","description":"Canonical error payload, nested under the top-level ``{\"error\": ...}`` key.","uniqueKey":"","typeLabel":"ErrorEnvelope · object"},"examples":{"Example":{"title":"Example","value":{"type":"invalid_request","code":"\u003cstring>","message":"\u003cstring>","doc_url":"\u003cstring>","request_id":"\u003cstring>","causes":["\u003cunknown>"],"details":{},"retry_after_ms":123,"retryable":true}}},"exampleType":"generated"}},"exampleType":"generated"},"6c9ae025-d32a-47b8-b0bb-ede0530e52a4":{"description":"Request validation failed.","content":{"application/json":{"schema":{"properties":{"type":{"type":"string","enum":["invalid_request","authentication","permission","not_found","conflict","rate_limited","idempotency_conflict","unprocessable","upstream_error","internal_error"],"title":"ErrorType","description":"Closed set of high-level categories SDKs branch on.","isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","title":"Code","description":"Stable machine string keyed to doc_url. Never changes once published.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","title":"Message","description":"Human-readable message, for developers. Not localized, not user-facing.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"doc_url":{"type":"string","title":"Doc Url","description":"Permalink to the docs page for this code.","isRequired":true,"uniqueKey":"doc_url","typeLabel":"string"},"request_id":{"oneOf":[{"type":"string","title":"Request Id","description":"Correlator for logs/Sentry/audit.","uniqueKey":"request_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Request Id","description":"Correlator for logs/Sentry/audit.","uniqueKey":"request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"request_id","typeLabel":"string | null"},"causes":{"oneOf":[{"type":"array","items":{"oneOf":[{}],"uniqueKey":"causes.oneOf.0.items.[INDEX]","typeLabel":"any"},"title":"Causes","description":"Aggregated upstream failures (e.g. per-page export errors).","uniqueKey":"causes.oneOf.0","typeLabel":"any[]"},{"type":"null","title":"Causes","description":"Aggregated upstream failures (e.g. per-page export errors).","uniqueKey":"causes.oneOf.1","typeLabel":"null"}],"uniqueKey":"causes","typeLabel":"any[] | null"},"details":{"oneOf":[{"type":"object","title":"Details","description":"Code-specific detail payload (e.g. validation field list). Callers should pass ``None`` rather than ``{}`` to omit the key from the response.","additionalProperties":true,"uniqueKey":"details.oneOf.0","typeLabel":"Details · object"},{"type":"null","title":"Details","description":"Code-specific detail payload (e.g. validation field list). Callers should pass ``None`` rather than ``{}`` to omit the key from the response.","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"Details · object | null"},"retry_after_ms":{"oneOf":[{"type":"integer","title":"Retry After Ms","description":"Hint for rate-limited or transient errors.","uniqueKey":"retry_after_ms.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Retry After Ms","description":"Hint for rate-limited or transient errors.","uniqueKey":"retry_after_ms.oneOf.1","typeLabel":"null"}],"uniqueKey":"retry_after_ms","typeLabel":"integer | null"},"retryable":{"oneOf":[{"type":"boolean","title":"Retryable","description":"Explicit retryability for this code, from the error-code registry: ``false`` means retrying the same request cannot succeed (fix the input / resource first); ``true`` means the condition is transient and a retry (with backoff / after the blocker clears) can succeed. For a code whose retryability is context-dependent (the registry declares none), the raising site sets it per response when it knows the cause (e.g. ``source_url_unreachable``: a timeout is retryable, a 404 is not) and omits it otherwise — do not derive it from ``type`` or the HTTP status when this field is present.","uniqueKey":"retryable.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Retryable","description":"Explicit retryability for this code, from the error-code registry: ``false`` means retrying the same request cannot succeed (fix the input / resource first); ``true`` means the condition is transient and a retry (with backoff / after the blocker clears) can succeed. For a code whose retryability is context-dependent (the registry declares none), the raising site sets it per response when it knows the cause (e.g. ``source_url_unreachable``: a timeout is retryable, a 404 is not) and omits it otherwise — do not derive it from ``type`` or the HTTP status when this field is present.","uniqueKey":"retryable.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryable","typeLabel":"boolean | null"}},"type":"object","required":["type","code","message","doc_url"],"title":"ErrorEnvelope","description":"Canonical error payload, nested under the top-level ``{\"error\": ...}`` key.","uniqueKey":"","typeLabel":"ErrorEnvelope · object"},"examples":{"Example":{"title":"Example","value":{"type":"invalid_request","code":"\u003cstring>","message":"\u003cstring>","doc_url":"\u003cstring>","request_id":"\u003cstring>","causes":["\u003cunknown>"],"details":{},"retry_after_ms":123,"retryable":true}}},"exampleType":"generated"}},"exampleType":"generated"},"13aebeac-f044-4327-9ad5-1346da6c5345":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"properties":{"type":{"type":"string","enum":["invalid_request","authentication","permission","not_found","conflict","rate_limited","idempotency_conflict","unprocessable","upstream_error","internal_error"],"title":"ErrorType","description":"Closed set of high-level categories SDKs branch on.","isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","title":"Code","description":"Stable machine string keyed to doc_url. Never changes once published.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","title":"Message","description":"Human-readable message, for developers. Not localized, not user-facing.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"doc_url":{"type":"string","title":"Doc Url","description":"Permalink to the docs page for this code.","isRequired":true,"uniqueKey":"doc_url","typeLabel":"string"},"request_id":{"oneOf":[{"type":"string","title":"Request Id","description":"Correlator for logs/Sentry/audit.","uniqueKey":"request_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Request Id","description":"Correlator for logs/Sentry/audit.","uniqueKey":"request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"request_id","typeLabel":"string | null"},"causes":{"oneOf":[{"type":"array","items":{"oneOf":[{}],"uniqueKey":"causes.oneOf.0.items.[INDEX]","typeLabel":"any"},"title":"Causes","description":"Aggregated upstream failures (e.g. per-page export errors).","uniqueKey":"causes.oneOf.0","typeLabel":"any[]"},{"type":"null","title":"Causes","description":"Aggregated upstream failures (e.g. per-page export errors).","uniqueKey":"causes.oneOf.1","typeLabel":"null"}],"uniqueKey":"causes","typeLabel":"any[] | null"},"details":{"oneOf":[{"type":"object","title":"Details","description":"Code-specific detail payload (e.g. validation field list). Callers should pass ``None`` rather than ``{}`` to omit the key from the response.","additionalProperties":true,"uniqueKey":"details.oneOf.0","typeLabel":"Details · object"},{"type":"null","title":"Details","description":"Code-specific detail payload (e.g. validation field list). Callers should pass ``None`` rather than ``{}`` to omit the key from the response.","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"Details · object | null"},"retry_after_ms":{"oneOf":[{"type":"integer","title":"Retry After Ms","description":"Hint for rate-limited or transient errors.","uniqueKey":"retry_after_ms.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Retry After Ms","description":"Hint for rate-limited or transient errors.","uniqueKey":"retry_after_ms.oneOf.1","typeLabel":"null"}],"uniqueKey":"retry_after_ms","typeLabel":"integer | null"},"retryable":{"oneOf":[{"type":"boolean","title":"Retryable","description":"Explicit retryability for this code, from the error-code registry: ``false`` means retrying the same request cannot succeed (fix the input / resource first); ``true`` means the condition is transient and a retry (with backoff / after the blocker clears) can succeed. For a code whose retryability is context-dependent (the registry declares none), the raising site sets it per response when it knows the cause (e.g. ``source_url_unreachable``: a timeout is retryable, a 404 is not) and omits it otherwise — do not derive it from ``type`` or the HTTP status when this field is present.","uniqueKey":"retryable.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Retryable","description":"Explicit retryability for this code, from the error-code registry: ``false`` means retrying the same request cannot succeed (fix the input / resource first); ``true`` means the condition is transient and a retry (with backoff / after the blocker clears) can succeed. For a code whose retryability is context-dependent (the registry declares none), the raising site sets it per response when it knows the cause (e.g. ``source_url_unreachable``: a timeout is retryable, a 404 is not) and omits it otherwise — do not derive it from ``type`` or the HTTP status when this field is present.","uniqueKey":"retryable.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryable","typeLabel":"boolean | null"}},"type":"object","required":["type","code","message","doc_url"],"title":"ErrorEnvelope","description":"Canonical error payload, nested under the top-level ``{\"error\": ...}`` key.","uniqueKey":"","typeLabel":"ErrorEnvelope · object"},"examples":{"Example":{"title":"Example","value":{"type":"invalid_request","code":"\u003cstring>","message":"\u003cstring>","doc_url":"\u003cstring>","request_id":"\u003cstring>","causes":["\u003cunknown>"],"details":{},"retry_after_ms":123,"retryable":true}}},"exampleType":"generated"}},"exampleType":"generated"},"51d1f44b-830c-448b-b78a-bc73874cfdc4":{"description":"Internal error.","content":{"application/json":{"schema":{"properties":{"type":{"type":"string","enum":["invalid_request","authentication","permission","not_found","conflict","rate_limited","idempotency_conflict","unprocessable","upstream_error","internal_error"],"title":"ErrorType","description":"Closed set of high-level categories SDKs branch on.","isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","title":"Code","description":"Stable machine string keyed to doc_url. Never changes once published.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","title":"Message","description":"Human-readable message, for developers. Not localized, not user-facing.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"doc_url":{"type":"string","title":"Doc Url","description":"Permalink to the docs page for this code.","isRequired":true,"uniqueKey":"doc_url","typeLabel":"string"},"request_id":{"oneOf":[{"type":"string","title":"Request Id","description":"Correlator for logs/Sentry/audit.","uniqueKey":"request_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Request Id","description":"Correlator for logs/Sentry/audit.","uniqueKey":"request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"request_id","typeLabel":"string | null"},"causes":{"oneOf":[{"type":"array","items":{"oneOf":[{}],"uniqueKey":"causes.oneOf.0.items.[INDEX]","typeLabel":"any"},"title":"Causes","description":"Aggregated upstream failures (e.g. per-page export errors).","uniqueKey":"causes.oneOf.0","typeLabel":"any[]"},{"type":"null","title":"Causes","description":"Aggregated upstream failures (e.g. per-page export errors).","uniqueKey":"causes.oneOf.1","typeLabel":"null"}],"uniqueKey":"causes","typeLabel":"any[] | null"},"details":{"oneOf":[{"type":"object","title":"Details","description":"Code-specific detail payload (e.g. validation field list). Callers should pass ``None`` rather than ``{}`` to omit the key from the response.","additionalProperties":true,"uniqueKey":"details.oneOf.0","typeLabel":"Details · object"},{"type":"null","title":"Details","description":"Code-specific detail payload (e.g. validation field list). Callers should pass ``None`` rather than ``{}`` to omit the key from the response.","uniqueKey":"details.oneOf.1","typeLabel":"null"}],"uniqueKey":"details","typeLabel":"Details · object | null"},"retry_after_ms":{"oneOf":[{"type":"integer","title":"Retry After Ms","description":"Hint for rate-limited or transient errors.","uniqueKey":"retry_after_ms.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Retry After Ms","description":"Hint for rate-limited or transient errors.","uniqueKey":"retry_after_ms.oneOf.1","typeLabel":"null"}],"uniqueKey":"retry_after_ms","typeLabel":"integer | null"},"retryable":{"oneOf":[{"type":"boolean","title":"Retryable","description":"Explicit retryability for this code, from the error-code registry: ``false`` means retrying the same request cannot succeed (fix the input / resource first); ``true`` means the condition is transient and a retry (with backoff / after the blocker clears) can succeed. For a code whose retryability is context-dependent (the registry declares none), the raising site sets it per response when it knows the cause (e.g. ``source_url_unreachable``: a timeout is retryable, a 404 is not) and omits it otherwise — do not derive it from ``type`` or the HTTP status when this field is present.","uniqueKey":"retryable.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Retryable","description":"Explicit retryability for this code, from the error-code registry: ``false`` means retrying the same request cannot succeed (fix the input / resource first); ``true`` means the condition is transient and a retry (with backoff / after the blocker clears) can succeed. For a code whose retryability is context-dependent (the registry declares none), the raising site sets it per response when it knows the cause (e.g. ``source_url_unreachable``: a timeout is retryable, a 404 is not) and omits it otherwise — do not derive it from ``type`` or the HTTP status when this field is present.","uniqueKey":"retryable.oneOf.1","typeLabel":"null"}],"uniqueKey":"retryable","typeLabel":"boolean | null"}},"type":"object","required":["type","code","message","doc_url"],"title":"ErrorEnvelope","description":"Canonical error payload, nested under the top-level ``{\"error\": ...}`` key.","uniqueKey":"","typeLabel":"ErrorEnvelope · object"},"examples":{"Example":{"title":"Example","value":{"type":"invalid_request","code":"\u003cstring>","message":"\u003cstring>","doc_url":"\u003cstring>","request_id":"\u003cstring>","causes":["\u003cunknown>"],"details":{},"retry_after_ms":123,"retryable":true}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"d174c1f2-e6bd-40b9-a55f-29ad1432c347":{"API Key":{"type":"http","description":"API key from Settings > Developer > REST API","scheme":"bearer","scopes":[],"schemeName":"API Key"}}},"servers":{"900bd1dd-1657-41cc-9e95-57b7af147e04":{"url":"https://api.moda.app/v1","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","description":"API key from Settings > Developer > REST API","scheme":"bearer","scopes":[],"schemeName":"API Key"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"API key from Settings > Developer > REST API","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"API Key","name":"Authorization"}],"title":"API Key"}]},"originalFileLocation":"openapi/moda-public-api.yaml"},"subdomain":"moda-997c0526","siteName":"Moda","title":"Search Template Pages - Moda","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-12T18:06:16.765Z","originalFileLocation":"api-reference/canvas-actions/search-template-pages.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Search the reusable items of the team\u0026#x27;s templates and themes (hybrid keyword + meaning). An item is one slide or page (a deck slide, a carousel slide), or a whole document (a 2-page resume). Find the one you need (\u0026quot;our timeline slide\u0026quot;), LOOK at its thumbnail, then copy it into a canvas with POST /v1/canvases/{canvas_ref}/import-pages (source = canvas_id, page_ids = the item\u0026#x27;s page_ids — all of them). To start from a WHOLE template instead, use GET /v1/templates. Pass query, category, item_kind, or a combination. Team-scoped with the same visibility as GET /v1/templates: another team\u0026#x27;s items, and canvases you cannot view, never appear.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Moda\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/moda-997c0526/hX3OHBAQBvwpegoX/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/moda-997c0526/hX3OHBAQBvwpegoX/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/moda-997c0526/hX3OHBAQBvwpegoX/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/moda-997c0526/hX3OHBAQBvwpegoX/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/moda-997c0526/hX3OHBAQBvwpegoX/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/moda-997c0526/hX3OHBAQBvwpegoX/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/moda-997c0526/hX3OHBAQBvwpegoX/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/moda-997c0526/hX3OHBAQBvwpegoX/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/moda-997c0526/hX3OHBAQBvwpegoX/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Search Template Pages - Moda\">\u003cmeta data-mint-head property=\"og:description\" content=\"Search the reusable items of the team\u0026#x27;s templates and themes (hybrid keyword + meaning). An item is one slide or page (a deck slide, a carousel slide), or a whole document (a 2-page resume). Find the one you need (\u0026quot;our timeline slide\u0026quot;), LOOK at its thumbnail, then copy it into a canvas with POST /v1/canvases/{canvas_ref}/import-pages (source = canvas_id, page_ids = the item\u0026#x27;s page_ids — all of them). To start from a WHOLE template instead, use GET /v1/templates. Pass query, category, item_kind, or a combination. Team-scoped with the same visibility as GET /v1/templates: another team\u0026#x27;s items, and canvases you cannot view, never appear.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Moda\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.moda.app/api-reference/canvas-actions/search-template-pages\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://moda-997c0526.mintlify.site/_mintlify/api/og/v2?division=canvas-actions\u0026amp;title=Search+Template+Pages\u0026amp;description=Search+the+reusable+items+of+the+team%27s+templates+and+themes+%28hybrid+keyword+%2B+meaning%29.%0A%0AAn+item+is+one+slide+or+page+%28a+deck+slide%2C+a+carousel+slide%29%2C+or+a+wh\u0026amp;theme=b22501ae2719082997928ddd\u0026amp;signature=9bd6289b2e69a2eecfe6e4d864b2ec55d620625a94b5312fa42bf39e09e1b05c\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Search Template Pages - Moda\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Search the reusable items of the team\u0026#x27;s templates and themes (hybrid keyword + meaning). An item is one slide or page (a deck slide, a carousel slide), or a whole document (a 2-page resume). Find the one you need (\u0026quot;our timeline slide\u0026quot;), LOOK at its thumbnail, then copy it into a canvas with POST /v1/canvases/{canvas_ref}/import-pages (source = canvas_id, page_ids = the item\u0026#x27;s page_ids — all of them). To start from a WHOLE template instead, use GET /v1/templates. Pass query, category, item_kind, or a combination. Team-scoped with the same visibility as GET /v1/templates: another team\u0026#x27;s items, and canvases you cannot view, never appear.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://moda-997c0526.mintlify.site/_mintlify/api/og/v2?division=canvas-actions\u0026amp;title=Search+Template+Pages\u0026amp;description=Search+the+reusable+items+of+the+team%27s+templates+and+themes+%28hybrid+keyword+%2B+meaning%29.%0A%0AAn+item+is+one+slide+or+page+%28a+deck+slide%2C+a+carousel+slide%29%2C+or+a+wh\u0026amp;theme=b22501ae2719082997928ddd\u0026amp;signature=9bd6289b2e69a2eecfe6e4d864b2ec55d620625a94b5312fa42bf39e09e1b05c\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/moda-997c0526/hX3OHBAQBvwpegoX/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Moda\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#850AC2\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.moda.app/api-reference/canvas-actions/search-template-pages\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/canvas-actions/search-template-pages.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.moda.app/#organization\",\"name\":\"Moda\",\"url\":\"https://docs.moda.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/moda-997c0526/_eKavTfp2ZbkSuMz/images/chameleon.svg?fit=max\u0026auto=format\u0026n=_eKavTfp2ZbkSuMz\u0026q=85\u0026s=d0de9a6ddda2829d62cfe525fbb38722\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.moda.app#website\",\"name\":\"Moda\",\"url\":\"https://docs.moda.app\",\"publisher\":{\"@id\":\"https://docs.moda.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.moda.app/api-reference/canvas-actions/search-template-pages#webpage\",\"url\":\"https://docs.moda.app/api-reference/canvas-actions/search-template-pages\",\"name\":\"Search Template Pages\",\"description\":\"Search the reusable items of the team's templates and themes (hybrid keyword + meaning). An item is one slide or page (a deck slide, a carousel slide), or a whole document (a 2-page resume). Find the one you need (\\\"our timeline slide\\\"), LOOK at its thumbnail, then copy it into a canvas with POST /v1/canvases/{canvas_ref}/import-pages (source = canvas_id, page_ids = the item's page_ids — all of them). To start from a WHOLE template instead, use GET /v1/templates. Pass query, category, item_kind, or a combination. Team-scoped with the same visibility as GET /v1/templates: another team's items, and canvases you cannot view, never appear.\",\"dateModified\":\"2026-11-12T18:06:16.765Z\",\"isPartOf\":{\"@id\":\"https://docs.moda.app#website\"},\"breadcrumb\":{\"@id\":\"https://docs.moda.app/api-reference/canvas-actions/search-template-pages#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.moda.app/api-reference/canvas-actions/search-template-pages#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"canvas-actions\",\"item\":\"https://docs.moda.app/api-reference/canvas-actions/create-canvas\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Search Template Pages\",\"item\":\"https://docs.moda.app/api-reference/canvas-actions/search-template-pages\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.moda.app/api-reference/canvas-actions/search-template-pages#apireference\",\"headline\":\"Search Template Pages\",\"name\":\"Search Template Pages\",\"description\":\"Search the reusable items of the team's templates and themes (hybrid keyword + meaning). An item is one slide or page (a deck slide, a carousel slide), or a whole document (a 2-page resume). Find the one you need (\\\"our timeline slide\\\"), LOOK at its thumbnail, then copy it into a canvas with POST /v1/canvases/{canvas_ref}/import-pages (source = canvas_id, page_ids = the item's page_ids — all of them). To start from a WHOLE template instead, use GET /v1/templates. Pass query, category, item_kind, or a combination. Team-scoped with the same visibility as GET /v1/templates: another team's items, and canvases you cannot view, never appear.\",\"url\":\"https://docs.moda.app/api-reference/canvas-actions/search-template-pages\",\"mainEntityOfPage\":{\"@id\":\"https://docs.moda.app/api-reference/canvas-actions/search-template-pages#webpage\"},\"dateModified\":\"2026-11-12T18:06:16.765Z\",\"publisher\":{\"@id\":\"https://docs.moda.app/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.moda.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Moda\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Moda\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/canvas-actions/search-template-pages.md","siteName":"Moda","nav":{"global":{"anchors":[{"anchor":"Moda app","icon":"arrow-up-right-from-square","href":"https://moda.app"},{"anchor":"Support","icon":"life-ring","href":"mailto:support@moda.app"}]},"tabs":[{"tab":"Help Center","icon":"circle-question","pages":[{"title":"Help Center","href":"/help"}]},{"tab":"Moda for Agents","icon":"robot","pages":[{"title":"Moda for Agents","href":"/agents/setup"}]},{"tab":"MCP Server (Legacy)","icon":"box-archive","pages":[{"title":"MCP Server (Legacy)","href":"/mcp/getting-started"}]},{"tab":"API Reference","icon":"code","groups":[{"group":"Overview","icon":"book-open","pages":[{"title":"Getting Started","href":"/api-reference"},{"title":"Authentication","href":"/api-reference/authentication"},{"title":"Versioning","href":"/api-reference/versioning"},{"title":"Usage Limits","href":"/api-reference/usage-limits"},{"title":"Design Task Recipes","href":"/api-reference/design-task-recipes"},{"title":"Large file uploads","href":"/api-reference/large-file-uploads"},{"title":"Webhooks","href":"/api-reference/webhooks"},{"title":"Error codes","href":"/api-reference/errors"},{"title":"Layerize images","href":"/api-reference/layerize"}]},{"group":"canvases","pages":[{"title":"List Canvases","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /canvases","href":"/api-reference/canvases/list-canvases"},{"title":"Search Canvases","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /canvases/search","href":"/api-reference/canvases/search-canvases"},{"title":"Get Canvas","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /canvases/{canvas_id}","href":"/api-reference/canvases/get-canvas"},{"title":"Update Canvas","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml patch /canvases/{canvas_id}","href":"/api-reference/canvases/update-canvas"},{"title":"Get Canvas Tokens","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /canvases/{canvas_id}/tokens","href":"/api-reference/canvases/get-canvas-tokens"},{"title":"List Canvas Pages","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /canvases/{canvas_id}/pages","href":"/api-reference/canvases/list-canvas-pages"},{"title":"Export Canvas","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /canvases/{canvas_id}/export","href":"/api-reference/canvases/export-canvas"},{"title":"Get Export Status","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /canvases/{canvas_id}/export-status","href":"/api-reference/canvases/get-export-status"},{"title":"Make a canvas public","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /canvases/{canvas_id}/share","href":"/api-reference/canvases/make-a-canvas-public"},{"title":"Import Pptx","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /canvases/import-pptx","href":"/api-reference/canvases/import-pptx"},{"title":"Get Import Pptx Status","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /canvases/import-pptx/{job_id}","href":"/api-reference/canvases/get-import-pptx-status"}]},{"group":"canvas-actions","pages":[{"title":"Create Canvas","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /canvases","href":"/api-reference/canvas-actions/create-canvas"},{"title":"Delete Canvas","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml delete /canvases/{canvas_ref}","href":"/api-reference/canvas-actions/delete-canvas"},{"title":"Read Canvas State","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /canvases/{canvas_ref}/state","href":"/api-reference/canvas-actions/read-canvas-state"},{"title":"Read Canvas State Summary","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /canvases/{canvas_ref}/state/summary","href":"/api-reference/canvas-actions/read-canvas-state-summary"},{"title":"Screenshot Canvas","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /canvases/{canvas_ref}/screenshot","href":"/api-reference/canvas-actions/screenshot-canvas"},{"title":"Create From Markup","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /canvases/{canvas_ref}/markup","href":"/api-reference/canvas-actions/create-from-markup"},{"title":"Read Canvas Edit","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /canvases/{canvas_ref}/edit","href":"/api-reference/canvas-actions/read-canvas-edit"},{"title":"Edit Canvas","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /canvases/{canvas_ref}/edit","href":"/api-reference/canvas-actions/edit-canvas"},{"title":"Delete Canvas Items","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /canvases/{canvas_ref}/delete-items","href":"/api-reference/canvas-actions/delete-canvas-items"},{"title":"Create Canvas Pages","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /canvases/{canvas_ref}/pages","href":"/api-reference/canvas-actions/create-canvas-pages"},{"title":"Validate Canvas Edit","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /canvases/{canvas_ref}/edit/validate","href":"/api-reference/canvas-actions/validate-canvas-edit"},{"title":"Apply Canvas Edit","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /canvases/{canvas_ref}/edit/apply","href":"/api-reference/canvas-actions/apply-canvas-edit"},{"title":"Export Canvas Edit","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /canvases/{canvas_ref}/edit/export","href":"/api-reference/canvas-actions/export-canvas-edit"},{"title":"Import Canvas Edit","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /canvases/{canvas_ref}/edit/import","href":"/api-reference/canvas-actions/import-canvas-edit"},{"title":"List Canvas Animations","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /canvases/{canvas_ref}/animations","href":"/api-reference/canvas-actions/list-canvas-animations"},{"title":"Add Canvas Animations","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /canvases/{canvas_ref}/animations","href":"/api-reference/canvas-actions/add-canvas-animations"},{"title":"Update Canvas Animations","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /canvases/{canvas_ref}/animations/update","href":"/api-reference/canvas-actions/update-canvas-animations"},{"title":"Remove Canvas Animations","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /canvases/{canvas_ref}/animations/remove","href":"/api-reference/canvas-actions/remove-canvas-animations"},{"title":"Import Canvas Pages","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /canvases/{canvas_ref}/import-pages","href":"/api-reference/canvas-actions/import-canvas-pages"},{"title":"Read Canvas Instructions","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /canvases/{canvas_ref}/instructions","href":"/api-reference/canvas-actions/read-canvas-instructions"},{"title":"Read Canvas Comments","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /canvases/{canvas_ref}/comments","href":"/api-reference/canvas-actions/read-canvas-comments"},{"title":"Whoami","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /whoami","href":"/api-reference/canvas-actions/whoami"},{"title":"Get Brand Kit","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /brand-kits/{brand_kit_ref}","href":"/api-reference/canvas-actions/get-brand-kit"},{"title":"List Brand Kit Guides","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /brand-kits/{brand_kit_ref}/guides","href":"/api-reference/canvas-actions/list-brand-kit-guides"},{"title":"Get Brand Kit Guide","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /brand-kits/{brand_kit_ref}/guides/{guide_id}","href":"/api-reference/canvas-actions/get-brand-kit-guide"},{"title":"List Templates","description":"List the team's template canvases with signed thumbnails (newest first).\n\nThe discovery half of the template flow: VIEW the thumbnails (download the\nsigned URLs and look at them — same discipline as brand logos), pick a\ntemplate whose look fits, then instantiate it with ``POST /v1/canvases`` +\n``template_canvas_id``. ``total`` is the true team-wide template count;\nwhen ``has_more`` is ``true``, pass ``next_cursor`` for the rest.\n\nTeam-scoped only — templates from other teams never appear, and the ids\nhere are ordinary canvas ids usable across the canvas endpoints.","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /templates","href":"/api-reference/canvas-actions/list-templates"},{"title":"Search Template Pages","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /templates/pages","href":"/api-reference/canvas-actions/search-template-pages"},{"title":"Search Assets","description":"Stateless asset search returning refs that are directly usable in writes.\n\nTeam lane (``source=team``): the same ``FileSearchService`` hybrid search\nthe agent's ``search_assets`` tool uses, WITHOUT the agent-state ``img_``\nref formatter — results address assets by durable ``file_`` wire ids plus\nproxy URLs.\n\nStock lane (``kind=photo\u0026source=stock``): Unsplash. Each result carries a\n``stock_unsplash_\u003cphoto id>`` id that is itself a usable ref — place it in\nmarkup (``\u003cimage src=\"stock_unsplash_…\"/>``) or an edit program and the\nwrite pre-pass IMPORTS the photo into this team's storage (once per photo)\nand points the node at the resulting durable Moda asset URL, reporting the\ndownload to Unsplash at that moment. ``url``/``thumb_url`` here are Unsplash\nCDN links for PREVIEW only — hotlink them to display results, never re-host\nthem or write them into a canvas — and ``attribution`` must be shown\nwherever the photo appears.\n\nThe stock lane also returns ``provider_status``: ``\"ok\"``, or\n``\"unavailable\"`` when stock search is not configured on this deployment (an\nempty ``assets`` list then means \"could not search\", not \"no matches\").\n\nPagination (both lanes): at most ``limit`` results per page; advance by the\nresponse's echoed ``limit`` while ``has_more`` is ``true`` (``offset =\noffset + limit``). Team lane: ``total`` is the relevance-ranked result\ncount above the search's elbow cutoff — the search scores a bounded\ncandidate window (200), so ``total`` is exact within that window and the\ncollection is fully drainable through it. Stock lane: Unsplash pages\nunderneath, so the echoed ``limit`` is capped at the provider's 30-per-page\nceiling, ``offset`` must be a multiple of it, and ``total`` is the\nprovider-reported match count.","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /assets/search","href":"/api-reference/canvas-actions/search-assets"}]},{"group":"tasks","pages":[{"title":"List Tasks","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /tasks","href":"/api-reference/tasks/list-tasks"},{"title":"Start Design Task","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /tasks","href":"/api-reference/tasks/start-design-task"},{"title":"Get Task Status","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /tasks/{task_id}","href":"/api-reference/tasks/get-task-status"},{"title":"Cancel Task","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /tasks/{task_id}/cancel","href":"/api-reference/tasks/cancel-task"}]},{"group":"organizations","pages":[{"title":"List Organizations","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /organizations","href":"/api-reference/organizations/list-organizations"}]},{"group":"credits","pages":[{"title":"Get Credits","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /credits","href":"/api-reference/credits/get-credits"},{"title":"Check Media Credits","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /credits/check","href":"/api-reference/credits/check-media-credits"}]},{"group":"model-access","pages":[{"title":"Request Model Access","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /model-access/{access_key}/request","href":"/api-reference/model-access/request-model-access"}]},{"group":"brand-kits","pages":[{"title":"List Brand Kits","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /brand-kits","href":"/api-reference/brand-kits/list-brand-kits"},{"title":"Create Brand Kit","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /brand-kits","href":"/api-reference/brand-kits/create-brand-kit"},{"title":"Start Brand Extraction","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /brand-kits/extractions","href":"/api-reference/brand-kits/start-brand-extraction"},{"title":"Get Brand Extraction","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /brand-kits/extractions/{job_id}","href":"/api-reference/brand-kits/get-brand-extraction"},{"title":"List Brand Kit Images","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /brand-kits/{brand_kit_id}/images","href":"/api-reference/brand-kits/list-brand-kit-images"},{"title":"Add Brand Kit Image","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /brand-kits/{brand_kit_id}/images","href":"/api-reference/brand-kits/add-brand-kit-image"},{"title":"Remove Brand Kit Image","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml delete /brand-kits/{brand_kit_id}/images/{image_id}","href":"/api-reference/brand-kits/remove-brand-kit-image"},{"title":"Delete Brand Kit","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml delete /brand-kits/{brand_kit_id}","href":"/api-reference/brand-kits/delete-brand-kit"},{"title":"Update Brand Kit","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml patch /brand-kits/{brand_kit_id}","href":"/api-reference/brand-kits/update-brand-kit"}]},{"group":"remix","pages":[{"title":"Remix Canvas","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /remix","href":"/api-reference/remix/remix-canvas"}]},{"group":"share-links","pages":[{"title":"Resolve Share Link","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /share_links/resolve","href":"/api-reference/share-links/resolve-share-link"}]},{"group":"uploads","pages":[{"title":"Get Upload Limits","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /uploads/limits","href":"/api-reference/uploads/get-upload-limits"},{"title":"Upload File","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /uploads","href":"/api-reference/uploads/upload-file"},{"title":"Create Upload Url","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /uploads/url","href":"/api-reference/uploads/create-upload-url"},{"title":"Register Upload","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /uploads/register","href":"/api-reference/uploads/register-upload"},{"title":"Upload From Url","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /uploads/from-url","href":"/api-reference/uploads/upload-from-url"}]},{"group":"voices","pages":[{"title":"Get Voice Capabilities","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /voices/capabilities","href":"/api-reference/voices/get-voice-capabilities"},{"title":"List Voices","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /voices","href":"/api-reference/voices/list-voices"},{"title":"Find Similar Voices","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /voices/similar","href":"/api-reference/voices/find-similar-voices"},{"title":"Get Voice","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /voices/{voice_id}","href":"/api-reference/voices/get-voice"},{"title":"List Voice Favorites","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /voice-favorites","href":"/api-reference/voices/list-voice-favorites"},{"title":"Put Voice Favorite","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml put /voice-favorites","href":"/api-reference/voices/put-voice-favorite"},{"title":"List Pronunciation Dictionaries","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /pronunciation-dictionaries","href":"/api-reference/voices/list-pronunciation-dictionaries"},{"title":"Create Pronunciation Dictionary","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /pronunciation-dictionaries","href":"/api-reference/voices/create-pronunciation-dictionary"},{"title":"Get Pronunciation Dictionary","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /pronunciation-dictionaries/{dictionary_id}","href":"/api-reference/voices/get-pronunciation-dictionary"},{"title":"Create Pronunciation Dictionary Revision","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /pronunciation-dictionaries/{dictionary_id}/revisions","href":"/api-reference/voices/create-pronunciation-dictionary-revision"}]},{"group":"usage","pages":[{"title":"Get Api Usage","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /usage","href":"/api-reference/usage/get-api-usage"},{"title":"List Api Events","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /events","href":"/api-reference/usage/list-api-events"}]},{"group":"webhooks","pages":[{"title":"List Deliveries","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /webhook_deliveries","href":"/api-reference/webhooks/list-deliveries"},{"title":"Redeliver Webhook","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /webhook_deliveries/{delivery_id}/redeliver","href":"/api-reference/webhooks/redeliver-webhook"}]},{"group":"feedback","pages":[{"title":"Submit Feedback","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /feedback","href":"/api-reference/feedback/submit-feedback"},{"title":"Submit Feedback Bundle","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /feedback/bundle","href":"/api-reference/feedback/submit-feedback-bundle"}]},{"group":"voyager","pages":[{"title":"Notify Review Ready","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /voyager/review-ready","href":"/api-reference/voyager/notify-review-ready"},{"title":"Notify Conversation Alert","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /voyager/conversation-alert","href":"/api-reference/voyager/notify-conversation-alert"},{"title":"Voyager Auth Config","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /voyager/auth/config","href":"/api-reference/voyager/voyager-auth-config"},{"title":"Voyager Auth Register","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /voyager/auth/register","href":"/api-reference/voyager/voyager-auth-register"},{"title":"Voyager Auth Revoke","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /voyager/auth/revoke","href":"/api-reference/voyager/voyager-auth-revoke"},{"title":"Voyager Me","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /voyager/me","href":"/api-reference/voyager/voyager-me"},{"title":"Voyager Save Onboarding Survey","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml put /voyager/me/onboarding-survey","href":"/api-reference/voyager/voyager-save-onboarding-survey"},{"title":"Voyager List Devices","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /voyager/devices","href":"/api-reference/voyager/voyager-list-devices"},{"title":"Voyager Revoke Device","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml delete /voyager/devices/{device_ref}","href":"/api-reference/voyager/voyager-revoke-device"},{"title":"Voyager Redeem Promo","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /voyager/promo/redeem","href":"/api-reference/voyager/voyager-redeem-promo"}]},{"group":"voyager-games","pages":[{"title":"List Games","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /voyager/games","href":"/api-reference/voyager-games/list-games"},{"title":"Create Game","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /voyager/games","href":"/api-reference/voyager-games/create-game"},{"title":"Get Game","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /voyager/games/{game_id}","href":"/api-reference/voyager-games/get-game"},{"title":"Rename Game","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml patch /voyager/games/{game_id}","href":"/api-reference/voyager-games/rename-game"},{"title":"Unpublish Game","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /voyager/games/{game_id}/unpublish","href":"/api-reference/voyager-games/unpublish-game"},{"title":"Publish Game","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /voyager/games/{game_id}/publish","href":"/api-reference/voyager-games/publish-game"}]},{"group":"media","pages":[{"title":"Layerize Assets","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /media/layerize-assets","href":"/api-reference/media/layerize-assets"},{"title":"List Models","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /media/models","href":"/api-reference/media/list-models"},{"title":"Generate Image","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /media/generate-image","href":"/api-reference/media/generate-image"},{"title":"Edit Image","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /media/edit-image","href":"/api-reference/media/edit-image"},{"title":"Generate Audio","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /media/generate-audio","href":"/api-reference/media/generate-audio"},{"title":"Get Audio Generation Status","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /media/generate-audio/{task_id}","href":"/api-reference/media/get-audio-generation-status"},{"title":"Cancel Audio Generation","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /media/generate-audio/{task_id}/cancel","href":"/api-reference/media/cancel-audio-generation"},{"title":"Generate 3D","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /media/generate-3d","href":"/api-reference/media/generate-3d"},{"title":"Get 3D Generation Status","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /media/generate-3d/{task_id}","href":"/api-reference/media/get-3d-generation-status"},{"title":"Generate Video","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /media/generate-video","href":"/api-reference/media/generate-video"},{"title":"Get Video Generation Status","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /media/generate-video/{task_id}","href":"/api-reference/media/get-video-generation-status"},{"title":"Upscale Video","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /media/upscale-video","href":"/api-reference/media/upscale-video"},{"title":"Reframe Video","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /media/reframe-video","href":"/api-reference/media/reframe-video"},{"title":"Video Frames","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /media/video-frames","href":"/api-reference/media/video-frames"},{"title":"Upscale Image","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /media/upscale","href":"/api-reference/media/upscale-image"},{"title":"Vectorize Image","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /media/vectorize","href":"/api-reference/media/vectorize-image"},{"title":"Precise Edit Image","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /media/precise-edit","href":"/api-reference/media/precise-edit-image"},{"title":"Remove Background","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /media/remove-background","href":"/api-reference/media/remove-background"},{"title":"Outpaint Image","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /media/outpaint","href":"/api-reference/media/outpaint-image"},{"title":"Fetch Logo","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /media/fetch-logo","href":"/api-reference/media/fetch-logo"},{"title":"Layerize Image","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /media/layerize","href":"/api-reference/media/layerize-image"},{"title":"Get Layerize Status","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /media/layerize/{task_id}","href":"/api-reference/media/get-layerize-status"}]},{"group":"provider-proxy","pages":[{"title":"Provider Proxy","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /provider-proxy","href":"/api-reference/provider-proxy/provider-proxy"},{"title":"Provider Proxy Lookup","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /provider-proxy/lookup","href":"/api-reference/provider-proxy/provider-proxy-lookup"}]},{"group":"inference","pages":[{"title":"Models","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /inference/models","href":"/api-reference/inference/models"},{"title":"Openai Responses","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /inference/openai/responses","href":"/api-reference/inference/openai-responses"},{"title":"Anthropic Messages","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /inference/anthropic/messages","href":"/api-reference/inference/anthropic-messages"},{"title":"Openrouter Chat Completions","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /inference/openrouter/chat/completions","href":"/api-reference/inference/openrouter-chat-completions"},{"title":"Voyager Chat Completions","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /inference/voyager/chat/completions","href":"/api-reference/inference/voyager-chat-completions"},{"title":"Typesafe Systemone","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /inference/typesafe/systemone","href":"/api-reference/inference/typesafe-systemone"}]},{"group":"cloud-computers","pages":[{"title":"List Computers","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /cloud-computers/","href":"/api-reference/cloud-computers/list-computers"},{"title":"Create","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /cloud-computers/","href":"/api-reference/cloud-computers/create"},{"title":"List Computers","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /cloud-computers","href":"/api-reference/cloud-computers/list-computers-1"},{"title":"Create","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /cloud-computers","href":"/api-reference/cloud-computers/create-1"},{"title":"Offers","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /cloud-computers/offers","href":"/api-reference/cloud-computers/offers"},{"title":"Relay List","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /cloud-computers/relay/","href":"/api-reference/cloud-computers/relay-list"},{"title":"Relay List","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /cloud-computers/relay","href":"/api-reference/cloud-computers/relay-list-1"},{"title":"Verify Host","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /cloud-computers/relay/verify-host","href":"/api-reference/cloud-computers/verify-host"},{"title":"Relay Get","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /cloud-computers/relay/{computer_id}","href":"/api-reference/cloud-computers/relay-get"},{"title":"Relay Wake","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /cloud-computers/relay/{computer_id}/wake","href":"/api-reference/cloud-computers/relay-wake"},{"title":"Relay Update","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /cloud-computers/relay/{computer_id}/update","href":"/api-reference/cloud-computers/relay-update"},{"title":"Host Credentials","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /cloud-computers/host/{computer_id}/credentials","href":"/api-reference/cloud-computers/host-credentials"},{"title":"Host Heartbeat","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /cloud-computers/host/{computer_id}/heartbeat","href":"/api-reference/cloud-computers/host-heartbeat"},{"title":"Host Admit Work","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /cloud-computers/host/{computer_id}/admit-work","href":"/api-reference/cloud-computers/host-admit-work"},{"title":"Get Computer","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /cloud-computers/{computer_id}","href":"/api-reference/cloud-computers/get-computer"},{"title":"Delete","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml delete /cloud-computers/{computer_id}","href":"/api-reference/cloud-computers/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml patch /cloud-computers/{computer_id}","href":"/api-reference/cloud-computers/update"},{"title":"Wake","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /cloud-computers/{computer_id}/wake","href":"/api-reference/cloud-computers/wake"},{"title":"Apply Update","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /cloud-computers/{computer_id}/update","href":"/api-reference/cloud-computers/apply-update"},{"title":"Sleep","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /cloud-computers/{computer_id}/sleep","href":"/api-reference/cloud-computers/sleep"},{"title":"Resize","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /cloud-computers/{computer_id}/resize","href":"/api-reference/cloud-computers/resize"},{"title":"Usage","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /cloud-computers/{computer_id}/usage","href":"/api-reference/cloud-computers/usage"},{"title":"Files","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /cloud-computers/{computer_id}/files","href":"/api-reference/cloud-computers/files"},{"title":"Download","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /cloud-computers/{computer_id}/downloads","href":"/api-reference/cloud-computers/download"}]},{"group":"drive","pages":[{"title":"List Folders","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /drive/folders","href":"/api-reference/drive/list-folders"},{"title":"Create Folder","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /drive/folders","href":"/api-reference/drive/create-folder"},{"title":"Get Tree","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /drive/tree","href":"/api-reference/drive/get-tree"},{"title":"List Files","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /drive/files","href":"/api-reference/drive/list-files"},{"title":"List Items","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /drive/items","href":"/api-reference/drive/list-items"},{"title":"Get File","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /drive/files/{file_id}","href":"/api-reference/drive/get-file"},{"title":"Download File","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /drive/files/{file_id}/download","href":"/api-reference/drive/download-file"},{"title":"Move Item","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /drive/items/{item_ref}/move","href":"/api-reference/drive/move-item"},{"title":"Delete Item","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml delete /drive/items/{item_ref}","href":"/api-reference/drive/delete-item"},{"title":"Update Item","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml patch /drive/items/{item_ref}","href":"/api-reference/drive/update-item"}]},{"group":"web","pages":[{"title":"Web Search","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /web/search","href":"/api-reference/web/web-search"},{"title":"Web Read","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /web/read","href":"/api-reference/web/web-read"}]},{"group":"websites","pages":[{"title":"List Websites","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /websites","href":"/api-reference/websites/list-websites"},{"title":"Create Website","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /websites","href":"/api-reference/websites/create-website"},{"title":"Get Website","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /websites/{website_id}","href":"/api-reference/websites/get-website"},{"title":"Delete Website","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml delete /websites/{website_id}","href":"/api-reference/websites/delete-website"},{"title":"Update Website Content","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml put /websites/{website_id}/content","href":"/api-reference/websites/update-website-content"},{"title":"List Website Pages","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml get /websites/{website_id}/pages","href":"/api-reference/websites/list-website-pages"},{"title":"Add Website Page","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /websites/{website_id}/pages","href":"/api-reference/websites/add-website-page"},{"title":"Delete Website Page","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml delete /websites/{website_id}/pages","href":"/api-reference/websites/delete-website-page"},{"title":"Update Website Page Content","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml put /websites/{website_id}/pages/content","href":"/api-reference/websites/update-website-page-content"},{"title":"Screenshot Website","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /websites/{website_id}/screenshot","href":"/api-reference/websites/screenshot-website"},{"title":"Publish Website","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /websites/{website_id}/publish","href":"/api-reference/websites/publish-website"},{"title":"Unpublish Website","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /websites/{website_id}/unpublish","href":"/api-reference/websites/unpublish-website"}]},{"group":"ask-expert","pages":[{"title":"Ask Expert","deprecated":null,"version":null,"openapi":"/openapi/moda-public-api.yaml post /ask","href":"/api-reference/ask-expert/ask-expert"}]}]},{"tab":"Canvas Embed SDK","icon":"window","hidden":true,"pages":[{"title":"Canvas Embed SDK","href":"/canvas-embed/overview"}]}]},"basePath":"","title":"Search Template Pages - Moda","buildId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","deploymentId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CDiBsYGW.js","utils-KF9rPlmF.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C26urKTX.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BdjmJAC1.js","snippetPresets-3IpDBjt3.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-D4x_2vvo.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BIWdc5Pa.js","shallow-LQqfiMNd.js","getApiPlaygroundDisplay-DryzlOZG.js","CodeSnippet-tcJujU4r.js","CodeSnippets-BHp0nVLL.js","Page-1CZdsdAn.js","getPastedJson-DU-1ayUv.js","icon-CZK2hPr4.js","MethodPill-DOaqmTFC.js","DuplicateIcon-B5-nUxxl.js","createIcon-CDP_U77G.js","DynamicMarkdown-GHvayGOn.js","SectionHeading-BYvpkmUD.js","axios-vUo_bRtp.js","Markdown-uxhlayGT.js","clsx-B35qUV0p.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BvrGG8gU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CAf0yVYe.js"]}