list_themes
List themes. Read-only. Theme library of a project: every theme with optional short description/tags, tokens, accessibility and usage. Search by query or exact tags; when choosing for a funnel, match vertical/mood tags first, then name, palette and description. Starter themes are tagged; user-created metadata is optional.get_theme
Get theme. Read-only. One theme: optional short description/tags, tokens (colors, radius, typography), warnings, accessibility report and usage. Theme tokens are the shared defaults. Any component can locally override individual theme tokens with its appearance field; fontRole may select only the theme heading/body font.create_theme
Create theme. Changes the draft or settings; live funnels change only after publishing. Add a theme to a project library, from scratch or as a copy of another theme (“from”) with changes. Optional description/tags are discovery metadata: use short lowercase vertical/mood/light-dark tags so agents can find it later; they are not required. Typography accepts bundled families (ABCFavorit, PP Editorial New, Ruder Plakat VIP, Mona Sans Condensed, Inter, Manrope, Nunito, Poppins, System) or Google Fonts families; bundled fonts need no install, and catalog families are installed automatically. ACCESSIBILITY: theaccessibility report in the result (APCA contrast, type sizes) has a fix per finding and a fixAllFailures patch; on status “fail” apply it with update_theme (or other colours) and re-check before calling the theme done (check_theme tries colours without saving). These tokens are shared defaults. Component appearance overrides may selectively replace individual tokens without changing the project theme; font families remain defined at theme level only.
update_theme
Update theme. Changes the draft or settings; live funnels change only after publishing. Edit a library theme (and its list_themes description/tags). Applies AT ONCE to every funnel using it, live ones included: confirm with the user first if get_theme shows live usage. typography merges field by field; headingStyle/headingWeight pick bundled italic and bold faces when available; headingAccentStyle/headingAccentWeight style the marked words of a Heading. buttons sets how each Button variant looks {primary|secondary|link: {fill: primary|tint|surface|none, text: primaryText|primary|text|muted, border: none|text|primary|border, borderWidth 1-3, shape: theme|pill, underline, width: full|auto}}; the funnel still picks the variant. backgrounds merge by name (null removes one): named screen backgrounds {default, hero, …}, each {type:“solid”,color} | {type:“gradient”,color (fallback),layers:[gradient 1-4],blur?} | {type:“image”,color (fallback),image,fit?,position?,overlay?}; without default, screens use the background colour; a background may carry text/mutedText/primary so an accent, dark or photo screen (step.background {use:“accent”}) switches to light text; baseSize 14-22 px, scale 1.1-1.35. ACCESSIBILITY: theaccessibility report in the result (APCA contrast, type sizes) has a fix per finding and a fixAllFailures patch; on status “fail” apply it with update_theme (or other colours) and re-check before calling the theme done (check_theme tries colours without saving). These tokens are shared defaults. Component appearance overrides may selectively replace individual tokens without changing the project theme; font families remain defined at theme level only.
check_theme
Check theme. Read-only. Accessibility dry run, nothing is saved: the report for a theme as it WOULD be after create_theme/update_theme. Start from an existing theme (“base” = its id; omit for the built-in defaults) and apply “tokens” on top. Checks APCA lightness contrast (Lc) of every pair the components draw: body text on page and cards Lc 75; muted text, button label on primary, primary as text and accent/success/danger text Lc 60; primary as a UI part (focus ring, selection, progress) Lc 45; input borders Lc 30. Also checks that the type scale stays readable on a phone (body >= 15 px, captions >= 11 px, button >= 16 px). Each finding has severity (fail = fix before publishing, warn = likely problem),lc, required and a fix patch for update_theme. Only APCA decides the status; wcag lists pairs below WCAG 2 AA, for information. Use it while designing a palette.
set_default_theme
Set default theme. Changes the draft or settings; live funnels change only after publishing. Make a library theme the project default. Every funnel that inherits (no themeId) switches to it at once, live ones included: confirm with the user first.delete_theme
Delete theme. Changes what live visitors see or pay, or removes data. Agents confirm with you first. Delete an unused non-default theme. The API refuses deletion while it is the project default or any draft/live funnel still references it.set_funnel_theme
Set funnel theme. Changes the draft or settings; live funnels change only after publishing. Pick the theme a funnel renders with from its project library (list_themes); null inherits the project default. A draft edit: live traffic sees it after publish. To change colors or fonts, edit the theme itself (update_theme) or create a new one. Component appearance overrides remain local and inherit every token they do not explicitly override; their fontRole resolves against this theme.update_project_theme
Update project theme. Changes the draft or settings; live funnels change only after publishing. Atomically rename a project, select its defaultThemeId from list_themes and/or edit the selected default theme. Changing the default affects inheriting live funnels immediately. When a theme is edited the result includes the sameaccessibility report as update_theme: fix any “fail” before finishing.