Replace reader themes in a space

Embed
Preview of the card
<a href="https://forumulate.com/reference/forumulate-api-spacesettings-setreaderthemes"><img src="https://forumulate.com/reference/_api/public/orgs/046a9bc0-d530-43ae-9bae-af7945008cda/spaces/8042f004-e3d9-445f-b7a4-b6c1f86836e6/pages/edc30d26-e16e-4fc5-834a-d05b7731c479/social-card.svg?v=3e7ae33eec8b" alt="Replace reader themes in a space" width="600" height="315"></a>
PUThttps://forumulate.com/api/orgs/{orgId}/spaces/{spaceId}/reader-themes

Up to eight named alternate palettes a visitor may switch between, each a partial theme layered over yours in their browser and remembered there. Note the picker that offers them is mounted on forum reader surfaces only today, so storing alternates for a docs or blog space shows nobody anything yet.

Requires token scope: write (the coarse method gate) for Atlas key (ak_), Personal Access Token (cft_) or OAuth (cfo_) auth — in addition to any catalog scope (GET /pats/scopes) the route’s capability needs. Session/cookie auth is governed by RBAC capabilities instead.

Parameters
orgIdstringpathrequired
spaceIdstringpathrequired
forumulate-versionstringheader
API version negotiation. Send forumulate-version: 2026-12-01 on every request from a new integration; it is optional only so that integrations written before versioning keep working. Each version includes everything before it:
Idempotency-Keystringheader
Makes this write safe to retry. Optional — send any unique string (a UUID is ideal) and the first request runs while its response is remembered under that key for 24 hours; an identical retry replays that same status and body instead of acting twice, so a timeout or a 5xx from the edge can be retried without creating a second row. A retry sent while the first request is still in flight is refused with 409. The key is scoped to the method and path, so the same key on a different endpoint is a different request. Error responses of 5xx are never cached — those retries re-run. A key is bound to the BODY it was first used with: reusing it with a different body is a 409 idempotency.key_reused, not a replay, because replaying would tell you a write landed that never ran. Generate one key per request, never per process or per session.
Request body application/json
themesobject[]required
Show child parameters
namestringrequired
themeobjectrequired
Show child parameters
primaryColorstring
primaryColorDarkstring
accentColorstring
paletteobject
paletteDarkobject
fontstring
sans | serif | mono
colorSchemestring
system | light | dark
colorSchemeStrictboolean
contentWidthstring
standard | wide | full
onThisPagestring
auto | always | never
layoutobject
customFontUrlstring
customFontFamilystring
brandNamestring | boolean
logoIncludesNameboolean
headingFontFamilystring
bodyFontFamilystring
monoFontFamilystring
typographyobject
headingAnchorsstring
hover | always | none
fontsobject
logoUrlstring
logoMarkstring
logoUrlLightstring
logoUrlDarkstring
logoDarkModestring
none | invert | plate
faviconUrlstring
customCssstring
customJsstring
scriptOriginsstring[]
adsobject
whiteLabelboolean
showLanguageSwitcherboolean
apiOriginsstring[]
fontOriginsstring[]
fontOriginsRemovedstring[]
imgOriginsstring[]
mediaOriginsstring[]
frameOriginsstring[]
elementStylesobject[]
settingsSchemaobject[]
settingsobject
stringOverridesobject
cssSnippetsobject[]
announcementobject
chromeobject
notFoundobject
componentsobject
changelogobject
forumobject
postobject
docsobject
footnotesobject
i18nobject
statusobject
legalobject
faqobject
roadmapobject
eventsobject
coursesobject
careersobject
contactobject
motionobject
titleBandobject
componentInstallsobject[]
mobileobject
{
  "themes": [
    {
      "name": "string",
      "theme": {
        "primaryColor": "string",
        "primaryColorDark": "string",
        "accentColor": "string",
        "palette": {
          "primary": null,
          "secondary": null,
          "tertiary": null,
          "quaternary": null,
          "header_background": null,
          "header_primary": null,
          "highlight": null,
          "danger": null,
          "success": null,
          "love": null,
          "background": null,
          "surface": null,
          "ink": null,
          "heading": null,
          "muted": null,
          "line": null,
          "footer_background": null,
          "footer_primary": null,
          "info": null,
          "warning": null,
          "tint": null,
          "paper": null
        },
        "paletteDark": {
          "primary": null,
          "secondary": null,
          "tertiary": null,
          "quaternary": null,
          "header_background": null,
          "header_primary": null,
          "highlight": null,
          "danger": null,
          "success": null,
          "love": null,
          "background": null,
          "surface": null,
          "ink": null,
          "heading": null,
          "muted": null,
          "line": null,
          "footer_background": null,
          "footer_primary": null,
          "info": null,
          "warning": null,
          "tint": null,
          "paper": null
        },
        "font": "sans",
        "colorScheme": "system",
        "colorSchemeStrict": true,
        "contentWidth": "standard",
        "onThisPage": "auto",
        "layout": {
          "measure": null,
          "frame": null,
          "widths": null,
          "guides": null,
          "indexHeader": null,
          "gutter": null,
          "background": null,
          "canvas": null,
          "heroDecor": null,
          "floatRoom": null
        },
        "customFontUrl": null,
        "customFontFamily": "string",
        "brandName": null,
        "logoIncludesName": true,
        "headingFontFamily": "string",
        "bodyFontFamily": "string",
        "monoFontFamily": "string",
        "typography": {
          "scale": null,
          "baseSize": null,
          "fluid": null,
          "levels": null,
          "headingTransform": null,
          "variation": null,
          "features": null,
          "opticalSizing": null,
          "headingWrap": null,
          "bodyWrap": null,
          "numerals": null,
          "ui": null,
          "rhythm": null
        },
        "headingAnchors": "hover",
        "fonts": {
          "faces": null,
          "display": null
        },
        "logoUrl": null,
        "logoMark": null,
        "logoUrlLight": null,
        "logoUrlDark": null,
        "logoDarkMode": "none",
        "faviconUrl": null,
        "customCss": "string",
        "customJs": "string",
        "scriptOrigins": [
          null
        ],
        "ads": {
          "network": null,
          "publisherId": null,
          "slotId": null,
          "size": null,
          "enabled": null,
          "scriptUrl": null,
          "slotHtml": null,
          "configVar": null,
          "configJson": null
        },
        "whiteLabel": true,
        "showLanguageSwitcher": true,
        "apiOrigins": [
          null
        ],
        "fontOrigins": [
          null
        ],
        "fontOriginsRemoved": [
          null
        ],
        "imgOrigins": [
          null
        ],
        "mediaOrigins": [
          null
        ],
        "frameOrigins": [
          null
        ],
        "elementStyles": [
          null
        ],
        "settingsSchema": [
          null
        ],
        "settings": {},
        "stringOverrides": {},
        "cssSnippets": [
          null
        ],
        "announcement": {
          "text": null,
          "level": null,
          "href": null,
          "background": null,
          "backgroundDark": null,
          "ink": null,
          "inkDark": null,
          "gradient": null,
          "dismissible": null,
          "lead": null,
          "button": null,
          "pages": null,
          "style": null,
          "placement": null,
          "span": null,
          "phone": null,
          "inset": null,
          "bleed": null,
          "radius": null,
          "audience": null,
          "source": null,
          "release": null
        },
        "chrome": {
          "cta": null,
          "secondaryCta": null,
          "header": null,
          "headerLinks": null,
          "navMenu": null,
          "footerLinks": null,
          "footerDescription": null,
          "footerColumns": null,
          "socialLinks": null,
          "copyright": null,
          "footer": null,
          "mobileNav": null,
          "sticky": null,
          "height": null,
          "align": null,
          "ctaStyle": null,
          "showSignIn": null,
          "themeToggle": null,
          "sidebarBrand": null,
          "brandText": null,
          "logoPhone": null,
          "accountMenu": null,
          "translations": null,
          "ctas": null,
          "topBar": null,
          "subnav": null,
          "search": null,
          "searchPlacement": null,
          "searchHideOn": null,
          "searchStyle": null,
          "desktopNav": null,
          "signInStyle": null,
          "sidebarToggle": null
        },
        "notFound": {
          "title": null,
          "body": null,
          "pageId": null,
          "pageSpaceId": null,
          "hidePage": null,
          "links": null,
          "showSearch": null,
          "showSections": null,
          "hideSearch": null,
          "redirect": null
        },
        "components": {
          "radius": null,
          "shadow": null,
          "focus": null,
          "code": null,
          "input": null,
          "button": null,
          "spacing": null,
          "selection": null,
          "scrollbar": null,
          "syntax": null,
          "syntaxDark": null,
          "expandable": null,
          "codeDark": null,
          "inputDark": null,
          "buttonDark": null,
          "syntaxTheme": null,
          "link": null,
          "meta": null,
          "image": null,
          "byline": null,
          "list": null,
          "hint": null,
          "quote": null,
          "caption": null,
          "table": null,
          "stepper": null,
          "card": null,
          "kbd": null,
          "tabs": null,
          "preview": null,
          "apiRef": null,
          "popover": null,
          "select": null,
          "skeleton": null
        },
        "changelog": {
          "datePlacement": null,
          "gutterWidth": null,
          "columnWidth": null,
          "indexWidth": null,
          "stickyDate": null,
          "dateTone": null,
          "entryGap": null,
          "showTags": null,
          "rail": null,
          "header": null,
          "release": null,
          "filters": null,
          "look": null,
          "typeBadge": null,
          "breakingBadge": null,
          "upgradeNotesFirst": null,
          "channelBadge": null,
          "tagStyle": null,
          "tagOverflow": null,
          "tagInk": null,
          "versionBadge": null,
          "entry": null,
          "facts": null,
          "closes": null,
          "group": null,
          "gutter": null,
          "dateFormat": null,
          "widget": null,
          "archive": null,
          "languages": null,
          "sections": null,
          "prose": null
        },
        "forum": {
          "list": null,
          "dates": null,
          "categoryOverrides": null,
          "front": null,
          "pageHead": null,
          "layout": null,
          "sidebar": null,
          "categoriesPage": null,
          "categoryPage": null,
          "tagsPage": null,
          "tagStyle": null,
          "categories": null,
          "post": null,
          "topic": null,
          "chrome": null,
          "profile": null,
          "look": null,
          "qa": null
        },
        "post": {
          "layout": null,
          "rail": null,
          "split": null,
          "offset": null,
          "align": null,
          "header": null,
          "cover": null,
          "share": null,
          "suggested": null,
          "breadcrumb": null,
          "byline": null,
          "masthead": null,
          "toc": null,
          "pageActions": null,
          "footnotesPosition": null,
          "breadcrumbStyle": null,
          "dropCap": null,
          "seriesNav": null,
          "after": null,
          "bodyGap": null,
          "paddingTop": null,
          "authorCard": null,
          "byTag": null
        },
        "docs": {
          "sidebar": null,
          "sections": null,
          "mobileNav": null,
          "homeAt": null,
          "ask": null,
          "header": null,
          "search": null,
          "articleAlign": null,
          "articleWidth": null,
          "topRule": null,
          "pageHead": null,
          "frame": null,
          "pageActions": null,
          "toc": null,
          "panel": null,
          "aside": null,
          "api": null,
          "feedback": null,
          "issueLink": null,
          "editLink": null,
          "suggestEdits": null,
          "pager": null,
          "versionSwitcher": null,
          "localeSwitcher": null,
          "variantSwitcher": null,
          "localeFallback": null,
          "look": null,
          "blocks": null,
          "hub": null
        },
        "footnotes": {
          "placement": null,
          "rule": null
        },
        "i18n": {
          "urlStyle": null,
          "switcher": null,
          "labels": null
        },
        "status": {
          "look": null,
          "colors": null,
          "banner": null,
          "bars": null,
          "components": null,
          "legend": null,
          "incidents": null,
          "page": null,
          "hero": null,
          "history": null,
          "incident": null,
          "uptime": null,
          "maintenance": null,
          "header": null,
          "metrics": null,
          "widget": null,
          "partners": null
        },
        "legal": {
          "look": null,
          "list": null,
          "register": null,
          "head": null,
          "date": null,
          "facts": null,
          "numbering": null,
          "summary": null,
          "history": null,
          "upcoming": null,
          "item": null,
          "docNav": null,
          "gloss": null,
          "definitions": null,
          "variants": null,
          "subprocessors": null,
          "trust": null
        },
        "faq": {
          "look": null,
          "list": null,
          "item": null,
          "search": null,
          "contact": null,
          "categories": null,
          "featured": null,
          "jump": null,
          "audience": null,
          "follow": null
        },
        "roadmap": {
          "look": null,
          "width": null,
          "lanes": null,
          "card": null,
          "vote": null,
          "header": null,
          "filters": null,
          "item": null,
          "submit": null
        },
        "events": {
          "look": null,
          "list": null,
          "page": null,
          "item": null,
          "chips": null,
          "tones": null,
          "dateTileTone": null,
          "agenda": null,
          "speakers": null,
          "series": null,
          "after": null
        },
        "courses": {
          "look": null,
          "list": null,
          "landing": null,
          "outline": null,
          "lesson": null,
          "progress": null,
          "certificate": null,
          "access": null,
          "cohort": null,
          "social": null,
          "video": null,
          "gamification": null,
          "commerce": null
        },
        "careers": {
          "look": null,
          "list": null,
          "role": null,
          "facts": null,
          "item": null
        },
        "contact": {
          "look": null,
          "form": null,
          "facts": null,
          "topics": null,
          "offices": null,
          "channels": null,
          "backdrop": null,
          "deflect": null
        },
        "motion": {
          "preset": null,
          "enabled": null,
          "respectReducedMotion": null,
          "speed": null,
          "easing": null,
          "pageTransition": null,
          "pageCrossfade": null,
          "reveal": null,
          "hover": null,
          "header": null,
          "ambient": null,
          "keyframes": null,
          "targets": null,
          "scroll": null
        },
        "titleBand": {
          "layers": null,
          "layersDark": null,
          "height": null,
          "heightPhone": null,
          "above": null,
          "blend": null,
          "titleColor": null,
          "titleColorDark": null,
          "pages": null
        },
        "componentInstalls": [
          null
        ],
        "mobile": {
          "fontScale": null,
          "density": null,
          "logoUrl": null,
          "hide": null,
          "css": null
        }
      }
    }
  ]
}
Code samples
cURL
curl -X PUT "https://forumulate.com/api/orgs/{orgId}/spaces/{spaceId}/reader-themes" \
  -H "forumulate-version: <value>" \
  -H "Idempotency-Key: <value>" \
  -H "Content-Type: application/json" \
  -d '{"themes":[{"name":"string","theme":{"primaryColor":"string","primaryColorDark":"string","accentColor":"string","palette":{"primary":null,"secondary":null,"tertiary":null,"quaternary":null,"header_background":null,"header_primary":null,"highlight":null,"danger":null,"success":null,"love":null,"background":null,"surface":null,"ink":null,"heading":null,"muted":null,"line":null,"footer_background":null,"footer_primary":null,"info":null,"warning":null,"tint":null,"paper":null},"paletteDark":{"primary":null,"secondary":null,"tertiary":null,"quaternary":null,"header_background":null,"header_primary":null,"highlight":null,"danger":null,"success":null,"love":null,"background":null,"surface":null,"ink":null,"heading":null,"muted":null,"line":null,"footer_background":null,"footer_primary":null,"info":null,"warning":null,"tint":null,"paper":null},"font":"sans","colorScheme":"system","colorSchemeStrict":true,"contentWidth":"standard","onThisPage":"auto","layout":{"measure":null,"frame":null,"widths":null,"guides":null,"indexHeader":null,"gutter":null,"background":null,"canvas":null,"heroDecor":null,"floatRoom":null},"customFontUrl":null,"customFontFamily":"string","brandName":null,"logoIncludesName":true,"headingFontFamily":"string","bodyFontFamily":"string","monoFontFamily":"string","typography":{"scale":null,"baseSize":null,"fluid":null,"levels":null,"headingTransform":null,"variation":null,"features":null,"opticalSizing":null,"headingWrap":null,"bodyWrap":null,"numerals":null,"ui":null,"rhythm":null},"headingAnchors":"hover","fonts":{"faces":null,"display":null},"logoUrl":null,"logoMark":null,"logoUrlLight":null,"logoUrlDark":null,"logoDarkMode":"none","faviconUrl":null,"customCss":"string","customJs":"string","scriptOrigins":[null],"ads":{"network":null,"publisherId":null,"slotId":null,"size":null,"enabled":null,"scriptUrl":null,"slotHtml":null,"configVar":null,"configJson":null},"whiteLabel":true,"showLanguageSwitcher":true,"apiOrigins":[null],"fontOrigins":[null],"fontOriginsRemoved":[null],"imgOrigins":[null],"mediaOrigins":[null],"frameOrigins":[null],"elementStyles":[null],"settingsSchema":[null],"settings":{},"stringOverrides":{},"cssSnippets":[null],"announcement":{"text":null,"level":null,"href":null,"background":null,"backgroundDark":null,"ink":null,"inkDark":null,"gradient":null,"dismissible":null,"lead":null,"button":null,"pages":null,"style":null,"placement":null,"span":null,"phone":null,"inset":null,"bleed":null,"radius":null,"audience":null,"source":null,"release":null},"chrome":{"cta":null,"secondaryCta":null,"header":null,"headerLinks":null,"navMenu":null,"footerLinks":null,"footerDescription":null,"footerColumns":null,"socialLinks":null,"copyright":null,"footer":null,"mobileNav":null,"sticky":null,"height":null,"align":null,"ctaStyle":null,"showSignIn":null,"themeToggle":null,"sidebarBrand":null,"brandText":null,"logoPhone":null,"accountMenu":null,"translations":null,"ctas":null,"topBar":null,"subnav":null,"search":null,"searchPlacement":null,"searchHideOn":null,"searchStyle":null,"desktopNav":null,"signInStyle":null,"sidebarToggle":null},"notFound":{"title":null,"body":null,"pageId":null,"pageSpaceId":null,"hidePage":null,"links":null,"showSearch":null,"showSections":null,"hideSearch":null,"redirect":null},"components":{"radius":null,"shadow":null,"focus":null,"code":null,"input":null,"button":null,"spacing":null,"selection":null,"scrollbar":null,"syntax":null,"syntaxDark":null,"expandable":null,"codeDark":null,"inputDark":null,"buttonDark":null,"syntaxTheme":null,"link":null,"meta":null,"image":null,"byline":null,"list":null,"hint":null,"quote":null,"caption":null,"table":null,"stepper":null,"card":null,"kbd":null,"tabs":null,"preview":null,"apiRef":null,"popover":null,"select":null,"skeleton":null},"changelog":{"datePlacement":null,"gutterWidth":null,"columnWidth":null,"indexWidth":null,"stickyDate":null,"dateTone":null,"entryGap":null,"showTags":null,"rail":null,"header":null,"release":null,"filters":null,"look":null,"typeBadge":null,"breakingBadge":null,"upgradeNotesFirst":null,"channelBadge":null,"tagStyle":null,"tagOverflow":null,"tagInk":null,"versionBadge":null,"entry":null,"facts":null,"closes":null,"group":null,"gutter":null,"dateFormat":null,"widget":null,"archive":null,"languages":null,"sections":null,"prose":null},"forum":{"list":null,"dates":null,"categoryOverrides":null,"front":null,"pageHead":null,"layout":null,"sidebar":null,"categoriesPage":null,"categoryPage":null,"tagsPage":null,"tagStyle":null,"categories":null,"post":null,"topic":null,"chrome":null,"profile":null,"look":null,"qa":null},"post":{"layout":null,"rail":null,"split":null,"offset":null,"align":null,"header":null,"cover":null,"share":null,"suggested":null,"breadcrumb":null,"byline":null,"masthead":null,"toc":null,"pageActions":null,"footnotesPosition":null,"breadcrumbStyle":null,"dropCap":null,"seriesNav":null,"after":null,"bodyGap":null,"paddingTop":null,"authorCard":null,"byTag":null},"docs":{"sidebar":null,"sections":null,"mobileNav":null,"homeAt":null,"ask":null,"header":null,"search":null,"articleAlign":null,"articleWidth":null,"topRule":null,"pageHead":null,"frame":null,"pageActions":null,"toc":null,"panel":null,"aside":null,"api":null,"feedback":null,"issueLink":null,"editLink":null,"suggestEdits":null,"pager":null,"versionSwitcher":null,"localeSwitcher":null,"variantSwitcher":null,"localeFallback":null,"look":null,"blocks":null,"hub":null},"footnotes":{"placement":null,"rule":null},"i18n":{"urlStyle":null,"switcher":null,"labels":null},"status":{"look":null,"colors":null,"banner":null,"bars":null,"components":null,"legend":null,"incidents":null,"page":null,"hero":null,"history":null,"incident":null,"uptime":null,"maintenance":null,"header":null,"metrics":null,"widget":null,"partners":null},"legal":{"look":null,"list":null,"register":null,"head":null,"date":null,"facts":null,"numbering":null,"summary":null,"history":null,"upcoming":null,"item":null,"docNav":null,"gloss":null,"definitions":null,"variants":null,"subprocessors":null,"trust":null},"faq":{"look":null,"list":null,"item":null,"search":null,"contact":null,"categories":null,"featured":null,"jump":null,"audience":null,"follow":null},"roadmap":{"look":null,"width":null,"lanes":null,"card":null,"vote":null,"header":null,"filters":null,"item":null,"submit":null},"events":{"look":null,"list":null,"page":null,"item":null,"chips":null,"tones":null,"dateTileTone":null,"agenda":null,"speakers":null,"series":null,"after":null},"courses":{"look":null,"list":null,"landing":null,"outline":null,"lesson":null,"progress":null,"certificate":null,"access":null,"cohort":null,"social":null,"video":null,"gamification":null,"commerce":null},"careers":{"look":null,"list":null,"role":null,"facts":null,"item":null},"contact":{"look":null,"form":null,"facts":null,"topics":null,"offices":null,"channels":null,"backdrop":null,"deflect":null},"motion":{"preset":null,"enabled":null,"respectReducedMotion":null,"speed":null,"easing":null,"pageTransition":null,"pageCrossfade":null,"reveal":null,"hover":null,"header":null,"ambient":null,"keyframes":null,"targets":null,"scroll":null},"titleBand":{"layers":null,"layersDark":null,"height":null,"heightPhone":null,"above":null,"blend":null,"titleColor":null,"titleColorDark":null,"pages":null},"componentInstalls":[null],"mobile":{"fontScale":null,"density":null,"logoUrl":null,"hide":null,"css":null}}}]}'
TypeScript
const res = await fetch('https://forumulate.com/api/orgs/{orgId}/spaces/{spaceId}/reader-themes', {
  method: 'PUT',
  headers: {
    'forumulate-version': '<value>',
    'Idempotency-Key': '<value>',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({"themes":[{"name":"string","theme":{"primaryColor":"string","primaryColorDark":"string","accentColor":"string","palette":{"primary":null,"secondary":null,"tertiary":null,"quaternary":null,"header_background":null,"header_primary":null,"highlight":null,"danger":null,"success":null,"love":null,"background":null,"surface":null,"ink":null,"heading":null,"muted":null,"line":null,"footer_background":null,"footer_primary":null,"info":null,"warning":null,"tint":null,"paper":null},"paletteDark":{"primary":null,"secondary":null,"tertiary":null,"quaternary":null,"header_background":null,"header_primary":null,"highlight":null,"danger":null,"success":null,"love":null,"background":null,"surface":null,"ink":null,"heading":null,"muted":null,"line":null,"footer_background":null,"footer_primary":null,"info":null,"warning":null,"tint":null,"paper":null},"font":"sans","colorScheme":"system","colorSchemeStrict":true,"contentWidth":"standard","onThisPage":"auto","layout":{"measure":null,"frame":null,"widths":null,"guides":null,"indexHeader":null,"gutter":null,"background":null,"canvas":null,"heroDecor":null,"floatRoom":null},"customFontUrl":null,"customFontFamily":"string","brandName":null,"logoIncludesName":true,"headingFontFamily":"string","bodyFontFamily":"string","monoFontFamily":"string","typography":{"scale":null,"baseSize":null,"fluid":null,"levels":null,"headingTransform":null,"variation":null,"features":null,"opticalSizing":null,"headingWrap":null,"bodyWrap":null,"numerals":null,"ui":null,"rhythm":null},"headingAnchors":"hover","fonts":{"faces":null,"display":null},"logoUrl":null,"logoMark":null,"logoUrlLight":null,"logoUrlDark":null,"logoDarkMode":"none","faviconUrl":null,"customCss":"string","customJs":"string","scriptOrigins":[null],"ads":{"network":null,"publisherId":null,"slotId":null,"size":null,"enabled":null,"scriptUrl":null,"slotHtml":null,"configVar":null,"configJson":null},"whiteLabel":true,"showLanguageSwitcher":true,"apiOrigins":[null],"fontOrigins":[null],"fontOriginsRemoved":[null],"imgOrigins":[null],"mediaOrigins":[null],"frameOrigins":[null],"elementStyles":[null],"settingsSchema":[null],"settings":{},"stringOverrides":{},"cssSnippets":[null],"announcement":{"text":null,"level":null,"href":null,"background":null,"backgroundDark":null,"ink":null,"inkDark":null,"gradient":null,"dismissible":null,"lead":null,"button":null,"pages":null,"style":null,"placement":null,"span":null,"phone":null,"inset":null,"bleed":null,"radius":null,"audience":null,"source":null,"release":null},"chrome":{"cta":null,"secondaryCta":null,"header":null,"headerLinks":null,"navMenu":null,"footerLinks":null,"footerDescription":null,"footerColumns":null,"socialLinks":null,"copyright":null,"footer":null,"mobileNav":null,"sticky":null,"height":null,"align":null,"ctaStyle":null,"showSignIn":null,"themeToggle":null,"sidebarBrand":null,"brandText":null,"logoPhone":null,"accountMenu":null,"translations":null,"ctas":null,"topBar":null,"subnav":null,"search":null,"searchPlacement":null,"searchHideOn":null,"searchStyle":null,"desktopNav":null,"signInStyle":null,"sidebarToggle":null},"notFound":{"title":null,"body":null,"pageId":null,"pageSpaceId":null,"hidePage":null,"links":null,"showSearch":null,"showSections":null,"hideSearch":null,"redirect":null},"components":{"radius":null,"shadow":null,"focus":null,"code":null,"input":null,"button":null,"spacing":null,"selection":null,"scrollbar":null,"syntax":null,"syntaxDark":null,"expandable":null,"codeDark":null,"inputDark":null,"buttonDark":null,"syntaxTheme":null,"link":null,"meta":null,"image":null,"byline":null,"list":null,"hint":null,"quote":null,"caption":null,"table":null,"stepper":null,"card":null,"kbd":null,"tabs":null,"preview":null,"apiRef":null,"popover":null,"select":null,"skeleton":null},"changelog":{"datePlacement":null,"gutterWidth":null,"columnWidth":null,"indexWidth":null,"stickyDate":null,"dateTone":null,"entryGap":null,"showTags":null,"rail":null,"header":null,"release":null,"filters":null,"look":null,"typeBadge":null,"breakingBadge":null,"upgradeNotesFirst":null,"channelBadge":null,"tagStyle":null,"tagOverflow":null,"tagInk":null,"versionBadge":null,"entry":null,"facts":null,"closes":null,"group":null,"gutter":null,"dateFormat":null,"widget":null,"archive":null,"languages":null,"sections":null,"prose":null},"forum":{"list":null,"dates":null,"categoryOverrides":null,"front":null,"pageHead":null,"layout":null,"sidebar":null,"categoriesPage":null,"categoryPage":null,"tagsPage":null,"tagStyle":null,"categories":null,"post":null,"topic":null,"chrome":null,"profile":null,"look":null,"qa":null},"post":{"layout":null,"rail":null,"split":null,"offset":null,"align":null,"header":null,"cover":null,"share":null,"suggested":null,"breadcrumb":null,"byline":null,"masthead":null,"toc":null,"pageActions":null,"footnotesPosition":null,"breadcrumbStyle":null,"dropCap":null,"seriesNav":null,"after":null,"bodyGap":null,"paddingTop":null,"authorCard":null,"byTag":null},"docs":{"sidebar":null,"sections":null,"mobileNav":null,"homeAt":null,"ask":null,"header":null,"search":null,"articleAlign":null,"articleWidth":null,"topRule":null,"pageHead":null,"frame":null,"pageActions":null,"toc":null,"panel":null,"aside":null,"api":null,"feedback":null,"issueLink":null,"editLink":null,"suggestEdits":null,"pager":null,"versionSwitcher":null,"localeSwitcher":null,"variantSwitcher":null,"localeFallback":null,"look":null,"blocks":null,"hub":null},"footnotes":{"placement":null,"rule":null},"i18n":{"urlStyle":null,"switcher":null,"labels":null},"status":{"look":null,"colors":null,"banner":null,"bars":null,"components":null,"legend":null,"incidents":null,"page":null,"hero":null,"history":null,"incident":null,"uptime":null,"maintenance":null,"header":null,"metrics":null,"widget":null,"partners":null},"legal":{"look":null,"list":null,"register":null,"head":null,"date":null,"facts":null,"numbering":null,"summary":null,"history":null,"upcoming":null,"item":null,"docNav":null,"gloss":null,"definitions":null,"variants":null,"subprocessors":null,"trust":null},"faq":{"look":null,"list":null,"item":null,"search":null,"contact":null,"categories":null,"featured":null,"jump":null,"audience":null,"follow":null},"roadmap":{"look":null,"width":null,"lanes":null,"card":null,"vote":null,"header":null,"filters":null,"item":null,"submit":null},"events":{"look":null,"list":null,"page":null,"item":null,"chips":null,"tones":null,"dateTileTone":null,"agenda":null,"speakers":null,"series":null,"after":null},"courses":{"look":null,"list":null,"landing":null,"outline":null,"lesson":null,"progress":null,"certificate":null,"access":null,"cohort":null,"social":null,"video":null,"gamification":null,"commerce":null},"careers":{"look":null,"list":null,"role":null,"facts":null,"item":null},"contact":{"look":null,"form":null,"facts":null,"topics":null,"offices":null,"channels":null,"backdrop":null,"deflect":null},"motion":{"preset":null,"enabled":null,"respectReducedMotion":null,"speed":null,"easing":null,"pageTransition":null,"pageCrossfade":null,"reveal":null,"hover":null,"header":null,"ambient":null,"keyframes":null,"targets":null,"scroll":null},"titleBand":{"layers":null,"layersDark":null,"height":null,"heightPhone":null,"above":null,"blend":null,"titleColor":null,"titleColorDark":null,"pages":null},"componentInstalls":[null],"mobile":{"fontScale":null,"density":null,"logoUrl":null,"hide":null,"css":null}}}]}),
});
const data = await res.json();
Python
import requests

res = requests.request(
    "PUT",
    "https://forumulate.com/api/orgs/{orgId}/spaces/{spaceId}/reader-themes",
    headers={
    "forumulate-version": "<value>",
    "Idempotency-Key": "<value>",
    "Content-Type": "application/json",
    },
    json={"themes": [{"name": "string", "theme": {"primaryColor": "string", "primaryColorDark": "string", "accentColor": "string", "palette": {"primary": None, "secondary": None, "tertiary": None, "quaternary": None, "header_background": None, "header_primary": None, "highlight": None, "danger": None, "success": None, "love": None, "background": None, "surface": None, "ink": None, "heading": None, "muted": None, "line": None, "footer_background": None, "footer_primary": None, "info": None, "warning": None, "tint": None, "paper": None}, "paletteDark": {"primary": None, "secondary": None, "tertiary": None, "quaternary": None, "header_background": None, "header_primary": None, "highlight": None, "danger": None, "success": None, "love": None, "background": None, "surface": None, "ink": None, "heading": None, "muted": None, "line": None, "footer_background": None, "footer_primary": None, "info": None, "warning": None, "tint": None, "paper": None}, "font": "sans", "colorScheme": "system", "colorSchemeStrict": True, "contentWidth": "standard", "onThisPage": "auto", "layout": {"measure": None, "frame": None, "widths": None, "guides": None, "indexHeader": None, "gutter": None, "background": None, "canvas": None, "heroDecor": None, "floatRoom": None}, "customFontUrl": None, "customFontFamily": "string", "brandName": None, "logoIncludesName": True, "headingFontFamily": "string", "bodyFontFamily": "string", "monoFontFamily": "string", "typography": {"scale": None, "baseSize": None, "fluid": None, "levels": None, "headingTransform": None, "variation": None, "features": None, "opticalSizing": None, "headingWrap": None, "bodyWrap": None, "numerals": None, "ui": None, "rhythm": None}, "headingAnchors": "hover", "fonts": {"faces": None, "display": None}, "logoUrl": None, "logoMark": None, "logoUrlLight": None, "logoUrlDark": None, "logoDarkMode": "none", "faviconUrl": None, "customCss": "string", "customJs": "string", "scriptOrigins": [None], "ads": {"network": None, "publisherId": None, "slotId": None, "size": None, "enabled": None, "scriptUrl": None, "slotHtml": None, "configVar": None, "configJson": None}, "whiteLabel": True, "showLanguageSwitcher": True, "apiOrigins": [None], "fontOrigins": [None], "fontOriginsRemoved": [None], "imgOrigins": [None], "mediaOrigins": [None], "frameOrigins": [None], "elementStyles": [None], "settingsSchema": [None], "settings": {}, "stringOverrides": {}, "cssSnippets": [None], "announcement": {"text": None, "level": None, "href": None, "background": None, "backgroundDark": None, "ink": None, "inkDark": None, "gradient": None, "dismissible": None, "lead": None, "button": None, "pages": None, "style": None, "placement": None, "span": None, "phone": None, "inset": None, "bleed": None, "radius": None, "audience": None, "source": None, "release": None}, "chrome": {"cta": None, "secondaryCta": None, "header": None, "headerLinks": None, "navMenu": None, "footerLinks": None, "footerDescription": None, "footerColumns": None, "socialLinks": None, "copyright": None, "footer": None, "mobileNav": None, "sticky": None, "height": None, "align": None, "ctaStyle": None, "showSignIn": None, "themeToggle": None, "sidebarBrand": None, "brandText": None, "logoPhone": None, "accountMenu": None, "translations": None, "ctas": None, "topBar": None, "subnav": None, "search": None, "searchPlacement": None, "searchHideOn": None, "searchStyle": None, "desktopNav": None, "signInStyle": None, "sidebarToggle": None}, "notFound": {"title": None, "body": None, "pageId": None, "pageSpaceId": None, "hidePage": None, "links": None, "showSearch": None, "showSections": None, "hideSearch": None, "redirect": None}, "components": {"radius": None, "shadow": None, "focus": None, "code": None, "input": None, "button": None, "spacing": None, "selection": None, "scrollbar": None, "syntax": None, "syntaxDark": None, "expandable": None, "codeDark": None, "inputDark": None, "buttonDark": None, "syntaxTheme": None, "link": None, "meta": None, "image": None, "byline": None, "list": None, "hint": None, "quote": None, "caption": None, "table": None, "stepper": None, "card": None, "kbd": None, "tabs": None, "preview": None, "apiRef": None, "popover": None, "select": None, "skeleton": None}, "changelog": {"datePlacement": None, "gutterWidth": None, "columnWidth": None, "indexWidth": None, "stickyDate": None, "dateTone": None, "entryGap": None, "showTags": None, "rail": None, "header": None, "release": None, "filters": None, "look": None, "typeBadge": None, "breakingBadge": None, "upgradeNotesFirst": None, "channelBadge": None, "tagStyle": None, "tagOverflow": None, "tagInk": None, "versionBadge": None, "entry": None, "facts": None, "closes": None, "group": None, "gutter": None, "dateFormat": None, "widget": None, "archive": None, "languages": None, "sections": None, "prose": None}, "forum": {"list": None, "dates": None, "categoryOverrides": None, "front": None, "pageHead": None, "layout": None, "sidebar": None, "categoriesPage": None, "categoryPage": None, "tagsPage": None, "tagStyle": None, "categories": None, "post": None, "topic": None, "chrome": None, "profile": None, "look": None, "qa": None}, "post": {"layout": None, "rail": None, "split": None, "offset": None, "align": None, "header": None, "cover": None, "share": None, "suggested": None, "breadcrumb": None, "byline": None, "masthead": None, "toc": None, "pageActions": None, "footnotesPosition": None, "breadcrumbStyle": None, "dropCap": None, "seriesNav": None, "after": None, "bodyGap": None, "paddingTop": None, "authorCard": None, "byTag": None}, "docs": {"sidebar": None, "sections": None, "mobileNav": None, "homeAt": None, "ask": None, "header": None, "search": None, "articleAlign": None, "articleWidth": None, "topRule": None, "pageHead": None, "frame": None, "pageActions": None, "toc": None, "panel": None, "aside": None, "api": None, "feedback": None, "issueLink": None, "editLink": None, "suggestEdits": None, "pager": None, "versionSwitcher": None, "localeSwitcher": None, "variantSwitcher": None, "localeFallback": None, "look": None, "blocks": None, "hub": None}, "footnotes": {"placement": None, "rule": None}, "i18n": {"urlStyle": None, "switcher": None, "labels": None}, "status": {"look": None, "colors": None, "banner": None, "bars": None, "components": None, "legend": None, "incidents": None, "page": None, "hero": None, "history": None, "incident": None, "uptime": None, "maintenance": None, "header": None, "metrics": None, "widget": None, "partners": None}, "legal": {"look": None, "list": None, "register": None, "head": None, "date": None, "facts": None, "numbering": None, "summary": None, "history": None, "upcoming": None, "item": None, "docNav": None, "gloss": None, "definitions": None, "variants": None, "subprocessors": None, "trust": None}, "faq": {"look": None, "list": None, "item": None, "search": None, "contact": None, "categories": None, "featured": None, "jump": None, "audience": None, "follow": None}, "roadmap": {"look": None, "width": None, "lanes": None, "card": None, "vote": None, "header": None, "filters": None, "item": None, "submit": None}, "events": {"look": None, "list": None, "page": None, "item": None, "chips": None, "tones": None, "dateTileTone": None, "agenda": None, "speakers": None, "series": None, "after": None}, "courses": {"look": None, "list": None, "landing": None, "outline": None, "lesson": None, "progress": None, "certificate": None, "access": None, "cohort": None, "social": None, "video": None, "gamification": None, "commerce": None}, "careers": {"look": None, "list": None, "role": None, "facts": None, "item": None}, "contact": {"look": None, "form": None, "facts": None, "topics": None, "offices": None, "channels": None, "backdrop": None, "deflect": None}, "motion": {"preset": None, "enabled": None, "respectReducedMotion": None, "speed": None, "easing": None, "pageTransition": None, "pageCrossfade": None, "reveal": None, "hover": None, "header": None, "ambient": None, "keyframes": None, "targets": None, "scroll": None}, "titleBand": {"layers": None, "layersDark": None, "height": None, "heightPhone": None, "above": None, "blend": None, "titleColor": None, "titleColorDark": None, "pages": None}, "componentInstalls": [None], "mobile": {"fontScale": None, "density": None, "logoUrl": None, "hide": None, "css": None}}}]},
)
data = res.json()
Go
package main

import (
	"fmt"
	"io"
	"net/http"
	"strings"
)

func main() {
	req, _ := http.NewRequest("PUT", "https://forumulate.com/api/orgs/{orgId}/spaces/{spaceId}/reader-themes", strings.NewReader(`{"themes":[{"name":"string","theme":{"primaryColor":"string","primaryColorDark":"string","accentColor":"string","palette":{"primary":null,"secondary":null,"tertiary":null,"quaternary":null,"header_background":null,"header_primary":null,"highlight":null,"danger":null,"success":null,"love":null,"background":null,"surface":null,"ink":null,"heading":null,"muted":null,"line":null,"footer_background":null,"footer_primary":null,"info":null,"warning":null,"tint":null,"paper":null},"paletteDark":{"primary":null,"secondary":null,"tertiary":null,"quaternary":null,"header_background":null,"header_primary":null,"highlight":null,"danger":null,"success":null,"love":null,"background":null,"surface":null,"ink":null,"heading":null,"muted":null,"line":null,"footer_background":null,"footer_primary":null,"info":null,"warning":null,"tint":null,"paper":null},"font":"sans","colorScheme":"system","colorSchemeStrict":true,"contentWidth":"standard","onThisPage":"auto","layout":{"measure":null,"frame":null,"widths":null,"guides":null,"indexHeader":null,"gutter":null,"background":null,"canvas":null,"heroDecor":null,"floatRoom":null},"customFontUrl":null,"customFontFamily":"string","brandName":null,"logoIncludesName":true,"headingFontFamily":"string","bodyFontFamily":"string","monoFontFamily":"string","typography":{"scale":null,"baseSize":null,"fluid":null,"levels":null,"headingTransform":null,"variation":null,"features":null,"opticalSizing":null,"headingWrap":null,"bodyWrap":null,"numerals":null,"ui":null,"rhythm":null},"headingAnchors":"hover","fonts":{"faces":null,"display":null},"logoUrl":null,"logoMark":null,"logoUrlLight":null,"logoUrlDark":null,"logoDarkMode":"none","faviconUrl":null,"customCss":"string","customJs":"string","scriptOrigins":[null],"ads":{"network":null,"publisherId":null,"slotId":null,"size":null,"enabled":null,"scriptUrl":null,"slotHtml":null,"configVar":null,"configJson":null},"whiteLabel":true,"showLanguageSwitcher":true,"apiOrigins":[null],"fontOrigins":[null],"fontOriginsRemoved":[null],"imgOrigins":[null],"mediaOrigins":[null],"frameOrigins":[null],"elementStyles":[null],"settingsSchema":[null],"settings":{},"stringOverrides":{},"cssSnippets":[null],"announcement":{"text":null,"level":null,"href":null,"background":null,"backgroundDark":null,"ink":null,"inkDark":null,"gradient":null,"dismissible":null,"lead":null,"button":null,"pages":null,"style":null,"placement":null,"span":null,"phone":null,"inset":null,"bleed":null,"radius":null,"audience":null,"source":null,"release":null},"chrome":{"cta":null,"secondaryCta":null,"header":null,"headerLinks":null,"navMenu":null,"footerLinks":null,"footerDescription":null,"footerColumns":null,"socialLinks":null,"copyright":null,"footer":null,"mobileNav":null,"sticky":null,"height":null,"align":null,"ctaStyle":null,"showSignIn":null,"themeToggle":null,"sidebarBrand":null,"brandText":null,"logoPhone":null,"accountMenu":null,"translations":null,"ctas":null,"topBar":null,"subnav":null,"search":null,"searchPlacement":null,"searchHideOn":null,"searchStyle":null,"desktopNav":null,"signInStyle":null,"sidebarToggle":null},"notFound":{"title":null,"body":null,"pageId":null,"pageSpaceId":null,"hidePage":null,"links":null,"showSearch":null,"showSections":null,"hideSearch":null,"redirect":null},"components":{"radius":null,"shadow":null,"focus":null,"code":null,"input":null,"button":null,"spacing":null,"selection":null,"scrollbar":null,"syntax":null,"syntaxDark":null,"expandable":null,"codeDark":null,"inputDark":null,"buttonDark":null,"syntaxTheme":null,"link":null,"meta":null,"image":null,"byline":null,"list":null,"hint":null,"quote":null,"caption":null,"table":null,"stepper":null,"card":null,"kbd":null,"tabs":null,"preview":null,"apiRef":null,"popover":null,"select":null,"skeleton":null},"changelog":{"datePlacement":null,"gutterWidth":null,"columnWidth":null,"indexWidth":null,"stickyDate":null,"dateTone":null,"entryGap":null,"showTags":null,"rail":null,"header":null,"release":null,"filters":null,"look":null,"typeBadge":null,"breakingBadge":null,"upgradeNotesFirst":null,"channelBadge":null,"tagStyle":null,"tagOverflow":null,"tagInk":null,"versionBadge":null,"entry":null,"facts":null,"closes":null,"group":null,"gutter":null,"dateFormat":null,"widget":null,"archive":null,"languages":null,"sections":null,"prose":null},"forum":{"list":null,"dates":null,"categoryOverrides":null,"front":null,"pageHead":null,"layout":null,"sidebar":null,"categoriesPage":null,"categoryPage":null,"tagsPage":null,"tagStyle":null,"categories":null,"post":null,"topic":null,"chrome":null,"profile":null,"look":null,"qa":null},"post":{"layout":null,"rail":null,"split":null,"offset":null,"align":null,"header":null,"cover":null,"share":null,"suggested":null,"breadcrumb":null,"byline":null,"masthead":null,"toc":null,"pageActions":null,"footnotesPosition":null,"breadcrumbStyle":null,"dropCap":null,"seriesNav":null,"after":null,"bodyGap":null,"paddingTop":null,"authorCard":null,"byTag":null},"docs":{"sidebar":null,"sections":null,"mobileNav":null,"homeAt":null,"ask":null,"header":null,"search":null,"articleAlign":null,"articleWidth":null,"topRule":null,"pageHead":null,"frame":null,"pageActions":null,"toc":null,"panel":null,"aside":null,"api":null,"feedback":null,"issueLink":null,"editLink":null,"suggestEdits":null,"pager":null,"versionSwitcher":null,"localeSwitcher":null,"variantSwitcher":null,"localeFallback":null,"look":null,"blocks":null,"hub":null},"footnotes":{"placement":null,"rule":null},"i18n":{"urlStyle":null,"switcher":null,"labels":null},"status":{"look":null,"colors":null,"banner":null,"bars":null,"components":null,"legend":null,"incidents":null,"page":null,"hero":null,"history":null,"incident":null,"uptime":null,"maintenance":null,"header":null,"metrics":null,"widget":null,"partners":null},"legal":{"look":null,"list":null,"register":null,"head":null,"date":null,"facts":null,"numbering":null,"summary":null,"history":null,"upcoming":null,"item":null,"docNav":null,"gloss":null,"definitions":null,"variants":null,"subprocessors":null,"trust":null},"faq":{"look":null,"list":null,"item":null,"search":null,"contact":null,"categories":null,"featured":null,"jump":null,"audience":null,"follow":null},"roadmap":{"look":null,"width":null,"lanes":null,"card":null,"vote":null,"header":null,"filters":null,"item":null,"submit":null},"events":{"look":null,"list":null,"page":null,"item":null,"chips":null,"tones":null,"dateTileTone":null,"agenda":null,"speakers":null,"series":null,"after":null},"courses":{"look":null,"list":null,"landing":null,"outline":null,"lesson":null,"progress":null,"certificate":null,"access":null,"cohort":null,"social":null,"video":null,"gamification":null,"commerce":null},"careers":{"look":null,"list":null,"role":null,"facts":null,"item":null},"contact":{"look":null,"form":null,"facts":null,"topics":null,"offices":null,"channels":null,"backdrop":null,"deflect":null},"motion":{"preset":null,"enabled":null,"respectReducedMotion":null,"speed":null,"easing":null,"pageTransition":null,"pageCrossfade":null,"reveal":null,"hover":null,"header":null,"ambient":null,"keyframes":null,"targets":null,"scroll":null},"titleBand":{"layers":null,"layersDark":null,"height":null,"heightPhone":null,"above":null,"blend":null,"titleColor":null,"titleColorDark":null,"pages":null},"componentInstalls":[null],"mobile":{"fontScale":null,"density":null,"logoUrl":null,"hide":null,"css":null}}}]}`))
	req.Header.Set("forumulate-version", "<value>")
	req.Header.Set("Idempotency-Key", "<value>")
	req.Header.Set("Content-Type", "application/json")
	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://forumulate.com/api/orgs/{orgId}/spaces/{spaceId}/reader-themes');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['forumulate-version: <value>', 'Idempotency-Key: <value>', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"themes":[{"name":"string","theme":{"primaryColor":"string","primaryColorDark":"string","accentColor":"string","palette":{"primary":null,"secondary":null,"tertiary":null,"quaternary":null,"header_background":null,"header_primary":null,"highlight":null,"danger":null,"success":null,"love":null,"background":null,"surface":null,"ink":null,"heading":null,"muted":null,"line":null,"footer_background":null,"footer_primary":null,"info":null,"warning":null,"tint":null,"paper":null},"paletteDark":{"primary":null,"secondary":null,"tertiary":null,"quaternary":null,"header_background":null,"header_primary":null,"highlight":null,"danger":null,"success":null,"love":null,"background":null,"surface":null,"ink":null,"heading":null,"muted":null,"line":null,"footer_background":null,"footer_primary":null,"info":null,"warning":null,"tint":null,"paper":null},"font":"sans","colorScheme":"system","colorSchemeStrict":true,"contentWidth":"standard","onThisPage":"auto","layout":{"measure":null,"frame":null,"widths":null,"guides":null,"indexHeader":null,"gutter":null,"background":null,"canvas":null,"heroDecor":null,"floatRoom":null},"customFontUrl":null,"customFontFamily":"string","brandName":null,"logoIncludesName":true,"headingFontFamily":"string","bodyFontFamily":"string","monoFontFamily":"string","typography":{"scale":null,"baseSize":null,"fluid":null,"levels":null,"headingTransform":null,"variation":null,"features":null,"opticalSizing":null,"headingWrap":null,"bodyWrap":null,"numerals":null,"ui":null,"rhythm":null},"headingAnchors":"hover","fonts":{"faces":null,"display":null},"logoUrl":null,"logoMark":null,"logoUrlLight":null,"logoUrlDark":null,"logoDarkMode":"none","faviconUrl":null,"customCss":"string","customJs":"string","scriptOrigins":[null],"ads":{"network":null,"publisherId":null,"slotId":null,"size":null,"enabled":null,"scriptUrl":null,"slotHtml":null,"configVar":null,"configJson":null},"whiteLabel":true,"showLanguageSwitcher":true,"apiOrigins":[null],"fontOrigins":[null],"fontOriginsRemoved":[null],"imgOrigins":[null],"mediaOrigins":[null],"frameOrigins":[null],"elementStyles":[null],"settingsSchema":[null],"settings":{},"stringOverrides":{},"cssSnippets":[null],"announcement":{"text":null,"level":null,"href":null,"background":null,"backgroundDark":null,"ink":null,"inkDark":null,"gradient":null,"dismissible":null,"lead":null,"button":null,"pages":null,"style":null,"placement":null,"span":null,"phone":null,"inset":null,"bleed":null,"radius":null,"audience":null,"source":null,"release":null},"chrome":{"cta":null,"secondaryCta":null,"header":null,"headerLinks":null,"navMenu":null,"footerLinks":null,"footerDescription":null,"footerColumns":null,"socialLinks":null,"copyright":null,"footer":null,"mobileNav":null,"sticky":null,"height":null,"align":null,"ctaStyle":null,"showSignIn":null,"themeToggle":null,"sidebarBrand":null,"brandText":null,"logoPhone":null,"accountMenu":null,"translations":null,"ctas":null,"topBar":null,"subnav":null,"search":null,"searchPlacement":null,"searchHideOn":null,"searchStyle":null,"desktopNav":null,"signInStyle":null,"sidebarToggle":null},"notFound":{"title":null,"body":null,"pageId":null,"pageSpaceId":null,"hidePage":null,"links":null,"showSearch":null,"showSections":null,"hideSearch":null,"redirect":null},"components":{"radius":null,"shadow":null,"focus":null,"code":null,"input":null,"button":null,"spacing":null,"selection":null,"scrollbar":null,"syntax":null,"syntaxDark":null,"expandable":null,"codeDark":null,"inputDark":null,"buttonDark":null,"syntaxTheme":null,"link":null,"meta":null,"image":null,"byline":null,"list":null,"hint":null,"quote":null,"caption":null,"table":null,"stepper":null,"card":null,"kbd":null,"tabs":null,"preview":null,"apiRef":null,"popover":null,"select":null,"skeleton":null},"changelog":{"datePlacement":null,"gutterWidth":null,"columnWidth":null,"indexWidth":null,"stickyDate":null,"dateTone":null,"entryGap":null,"showTags":null,"rail":null,"header":null,"release":null,"filters":null,"look":null,"typeBadge":null,"breakingBadge":null,"upgradeNotesFirst":null,"channelBadge":null,"tagStyle":null,"tagOverflow":null,"tagInk":null,"versionBadge":null,"entry":null,"facts":null,"closes":null,"group":null,"gutter":null,"dateFormat":null,"widget":null,"archive":null,"languages":null,"sections":null,"prose":null},"forum":{"list":null,"dates":null,"categoryOverrides":null,"front":null,"pageHead":null,"layout":null,"sidebar":null,"categoriesPage":null,"categoryPage":null,"tagsPage":null,"tagStyle":null,"categories":null,"post":null,"topic":null,"chrome":null,"profile":null,"look":null,"qa":null},"post":{"layout":null,"rail":null,"split":null,"offset":null,"align":null,"header":null,"cover":null,"share":null,"suggested":null,"breadcrumb":null,"byline":null,"masthead":null,"toc":null,"pageActions":null,"footnotesPosition":null,"breadcrumbStyle":null,"dropCap":null,"seriesNav":null,"after":null,"bodyGap":null,"paddingTop":null,"authorCard":null,"byTag":null},"docs":{"sidebar":null,"sections":null,"mobileNav":null,"homeAt":null,"ask":null,"header":null,"search":null,"articleAlign":null,"articleWidth":null,"topRule":null,"pageHead":null,"frame":null,"pageActions":null,"toc":null,"panel":null,"aside":null,"api":null,"feedback":null,"issueLink":null,"editLink":null,"suggestEdits":null,"pager":null,"versionSwitcher":null,"localeSwitcher":null,"variantSwitcher":null,"localeFallback":null,"look":null,"blocks":null,"hub":null},"footnotes":{"placement":null,"rule":null},"i18n":{"urlStyle":null,"switcher":null,"labels":null},"status":{"look":null,"colors":null,"banner":null,"bars":null,"components":null,"legend":null,"incidents":null,"page":null,"hero":null,"history":null,"incident":null,"uptime":null,"maintenance":null,"header":null,"metrics":null,"widget":null,"partners":null},"legal":{"look":null,"list":null,"register":null,"head":null,"date":null,"facts":null,"numbering":null,"summary":null,"history":null,"upcoming":null,"item":null,"docNav":null,"gloss":null,"definitions":null,"variants":null,"subprocessors":null,"trust":null},"faq":{"look":null,"list":null,"item":null,"search":null,"contact":null,"categories":null,"featured":null,"jump":null,"audience":null,"follow":null},"roadmap":{"look":null,"width":null,"lanes":null,"card":null,"vote":null,"header":null,"filters":null,"item":null,"submit":null},"events":{"look":null,"list":null,"page":null,"item":null,"chips":null,"tones":null,"dateTileTone":null,"agenda":null,"speakers":null,"series":null,"after":null},"courses":{"look":null,"list":null,"landing":null,"outline":null,"lesson":null,"progress":null,"certificate":null,"access":null,"cohort":null,"social":null,"video":null,"gamification":null,"commerce":null},"careers":{"look":null,"list":null,"role":null,"facts":null,"item":null},"contact":{"look":null,"form":null,"facts":null,"topics":null,"offices":null,"channels":null,"backdrop":null,"deflect":null},"motion":{"preset":null,"enabled":null,"respectReducedMotion":null,"speed":null,"easing":null,"pageTransition":null,"pageCrossfade":null,"reveal":null,"hover":null,"header":null,"ambient":null,"keyframes":null,"targets":null,"scroll":null},"titleBand":{"layers":null,"layersDark":null,"height":null,"heightPhone":null,"above":null,"blend":null,"titleColor":null,"titleColorDark":null,"pages":null},"componentInstalls":[null],"mobile":{"fontScale":null,"density":null,"logoUrl":null,"hide":null,"css":null}}}]}');
$response = curl_exec($ch);
curl_close($ch);
echo $response;
Ruby
require 'net/http'
require 'uri'

uri = URI('https://forumulate.com/api/orgs/{orgId}/spaces/{spaceId}/reader-themes')
req = Net::HTTP::Put.new(uri)
req['forumulate-version'] = '<value>'
req['Idempotency-Key'] = '<value>'
req['Content-Type'] = 'application/json'
req.body = '{"themes":[{"name":"string","theme":{"primaryColor":"string","primaryColorDark":"string","accentColor":"string","palette":{"primary":null,"secondary":null,"tertiary":null,"quaternary":null,"header_background":null,"header_primary":null,"highlight":null,"danger":null,"success":null,"love":null,"background":null,"surface":null,"ink":null,"heading":null,"muted":null,"line":null,"footer_background":null,"footer_primary":null,"info":null,"warning":null,"tint":null,"paper":null},"paletteDark":{"primary":null,"secondary":null,"tertiary":null,"quaternary":null,"header_background":null,"header_primary":null,"highlight":null,"danger":null,"success":null,"love":null,"background":null,"surface":null,"ink":null,"heading":null,"muted":null,"line":null,"footer_background":null,"footer_primary":null,"info":null,"warning":null,"tint":null,"paper":null},"font":"sans","colorScheme":"system","colorSchemeStrict":true,"contentWidth":"standard","onThisPage":"auto","layout":{"measure":null,"frame":null,"widths":null,"guides":null,"indexHeader":null,"gutter":null,"background":null,"canvas":null,"heroDecor":null,"floatRoom":null},"customFontUrl":null,"customFontFamily":"string","brandName":null,"logoIncludesName":true,"headingFontFamily":"string","bodyFontFamily":"string","monoFontFamily":"string","typography":{"scale":null,"baseSize":null,"fluid":null,"levels":null,"headingTransform":null,"variation":null,"features":null,"opticalSizing":null,"headingWrap":null,"bodyWrap":null,"numerals":null,"ui":null,"rhythm":null},"headingAnchors":"hover","fonts":{"faces":null,"display":null},"logoUrl":null,"logoMark":null,"logoUrlLight":null,"logoUrlDark":null,"logoDarkMode":"none","faviconUrl":null,"customCss":"string","customJs":"string","scriptOrigins":[null],"ads":{"network":null,"publisherId":null,"slotId":null,"size":null,"enabled":null,"scriptUrl":null,"slotHtml":null,"configVar":null,"configJson":null},"whiteLabel":true,"showLanguageSwitcher":true,"apiOrigins":[null],"fontOrigins":[null],"fontOriginsRemoved":[null],"imgOrigins":[null],"mediaOrigins":[null],"frameOrigins":[null],"elementStyles":[null],"settingsSchema":[null],"settings":{},"stringOverrides":{},"cssSnippets":[null],"announcement":{"text":null,"level":null,"href":null,"background":null,"backgroundDark":null,"ink":null,"inkDark":null,"gradient":null,"dismissible":null,"lead":null,"button":null,"pages":null,"style":null,"placement":null,"span":null,"phone":null,"inset":null,"bleed":null,"radius":null,"audience":null,"source":null,"release":null},"chrome":{"cta":null,"secondaryCta":null,"header":null,"headerLinks":null,"navMenu":null,"footerLinks":null,"footerDescription":null,"footerColumns":null,"socialLinks":null,"copyright":null,"footer":null,"mobileNav":null,"sticky":null,"height":null,"align":null,"ctaStyle":null,"showSignIn":null,"themeToggle":null,"sidebarBrand":null,"brandText":null,"logoPhone":null,"accountMenu":null,"translations":null,"ctas":null,"topBar":null,"subnav":null,"search":null,"searchPlacement":null,"searchHideOn":null,"searchStyle":null,"desktopNav":null,"signInStyle":null,"sidebarToggle":null},"notFound":{"title":null,"body":null,"pageId":null,"pageSpaceId":null,"hidePage":null,"links":null,"showSearch":null,"showSections":null,"hideSearch":null,"redirect":null},"components":{"radius":null,"shadow":null,"focus":null,"code":null,"input":null,"button":null,"spacing":null,"selection":null,"scrollbar":null,"syntax":null,"syntaxDark":null,"expandable":null,"codeDark":null,"inputDark":null,"buttonDark":null,"syntaxTheme":null,"link":null,"meta":null,"image":null,"byline":null,"list":null,"hint":null,"quote":null,"caption":null,"table":null,"stepper":null,"card":null,"kbd":null,"tabs":null,"preview":null,"apiRef":null,"popover":null,"select":null,"skeleton":null},"changelog":{"datePlacement":null,"gutterWidth":null,"columnWidth":null,"indexWidth":null,"stickyDate":null,"dateTone":null,"entryGap":null,"showTags":null,"rail":null,"header":null,"release":null,"filters":null,"look":null,"typeBadge":null,"breakingBadge":null,"upgradeNotesFirst":null,"channelBadge":null,"tagStyle":null,"tagOverflow":null,"tagInk":null,"versionBadge":null,"entry":null,"facts":null,"closes":null,"group":null,"gutter":null,"dateFormat":null,"widget":null,"archive":null,"languages":null,"sections":null,"prose":null},"forum":{"list":null,"dates":null,"categoryOverrides":null,"front":null,"pageHead":null,"layout":null,"sidebar":null,"categoriesPage":null,"categoryPage":null,"tagsPage":null,"tagStyle":null,"categories":null,"post":null,"topic":null,"chrome":null,"profile":null,"look":null,"qa":null},"post":{"layout":null,"rail":null,"split":null,"offset":null,"align":null,"header":null,"cover":null,"share":null,"suggested":null,"breadcrumb":null,"byline":null,"masthead":null,"toc":null,"pageActions":null,"footnotesPosition":null,"breadcrumbStyle":null,"dropCap":null,"seriesNav":null,"after":null,"bodyGap":null,"paddingTop":null,"authorCard":null,"byTag":null},"docs":{"sidebar":null,"sections":null,"mobileNav":null,"homeAt":null,"ask":null,"header":null,"search":null,"articleAlign":null,"articleWidth":null,"topRule":null,"pageHead":null,"frame":null,"pageActions":null,"toc":null,"panel":null,"aside":null,"api":null,"feedback":null,"issueLink":null,"editLink":null,"suggestEdits":null,"pager":null,"versionSwitcher":null,"localeSwitcher":null,"variantSwitcher":null,"localeFallback":null,"look":null,"blocks":null,"hub":null},"footnotes":{"placement":null,"rule":null},"i18n":{"urlStyle":null,"switcher":null,"labels":null},"status":{"look":null,"colors":null,"banner":null,"bars":null,"components":null,"legend":null,"incidents":null,"page":null,"hero":null,"history":null,"incident":null,"uptime":null,"maintenance":null,"header":null,"metrics":null,"widget":null,"partners":null},"legal":{"look":null,"list":null,"register":null,"head":null,"date":null,"facts":null,"numbering":null,"summary":null,"history":null,"upcoming":null,"item":null,"docNav":null,"gloss":null,"definitions":null,"variants":null,"subprocessors":null,"trust":null},"faq":{"look":null,"list":null,"item":null,"search":null,"contact":null,"categories":null,"featured":null,"jump":null,"audience":null,"follow":null},"roadmap":{"look":null,"width":null,"lanes":null,"card":null,"vote":null,"header":null,"filters":null,"item":null,"submit":null},"events":{"look":null,"list":null,"page":null,"item":null,"chips":null,"tones":null,"dateTileTone":null,"agenda":null,"speakers":null,"series":null,"after":null},"courses":{"look":null,"list":null,"landing":null,"outline":null,"lesson":null,"progress":null,"certificate":null,"access":null,"cohort":null,"social":null,"video":null,"gamification":null,"commerce":null},"careers":{"look":null,"list":null,"role":null,"facts":null,"item":null},"contact":{"look":null,"form":null,"facts":null,"topics":null,"offices":null,"channels":null,"backdrop":null,"deflect":null},"motion":{"preset":null,"enabled":null,"respectReducedMotion":null,"speed":null,"easing":null,"pageTransition":null,"pageCrossfade":null,"reveal":null,"hover":null,"header":null,"ambient":null,"keyframes":null,"targets":null,"scroll":null},"titleBand":{"layers":null,"layersDark":null,"height":null,"heightPhone":null,"above":null,"blend":null,"titleColor":null,"titleColorDark":null,"pages":null},"componentInstalls":[null],"mobile":{"fontScale":null,"density":null,"logoUrl":null,"hide":null,"css":null}}}]}'
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
  http.request(req)
end
puts res.body
Java
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpRequest.BodyPublishers;

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://forumulate.com/api/orgs/{orgId}/spaces/{spaceId}/reader-themes"))
    .header("forumulate-version", "<value>")
    .header("Idempotency-Key", "<value>")
    .header("Content-Type", "application/json")
    .method("PUT", BodyPublishers.ofString("{\"themes\":[{\"name\":\"string\",\"theme\":{\"primaryColor\":\"string\",\"primaryColorDark\":\"string\",\"accentColor\":\"string\",\"palette\":{\"primary\":null,\"secondary\":null,\"tertiary\":null,\"quaternary\":null,\"header_background\":null,\"header_primary\":null,\"highlight\":null,\"danger\":null,\"success\":null,\"love\":null,\"background\":null,\"surface\":null,\"ink\":null,\"heading\":null,\"muted\":null,\"line\":null,\"footer_background\":null,\"footer_primary\":null,\"info\":null,\"warning\":null,\"tint\":null,\"paper\":null},\"paletteDark\":{\"primary\":null,\"secondary\":null,\"tertiary\":null,\"quaternary\":null,\"header_background\":null,\"header_primary\":null,\"highlight\":null,\"danger\":null,\"success\":null,\"love\":null,\"background\":null,\"surface\":null,\"ink\":null,\"heading\":null,\"muted\":null,\"line\":null,\"footer_background\":null,\"footer_primary\":null,\"info\":null,\"warning\":null,\"tint\":null,\"paper\":null},\"font\":\"sans\",\"colorScheme\":\"system\",\"colorSchemeStrict\":true,\"contentWidth\":\"standard\",\"onThisPage\":\"auto\",\"layout\":{\"measure\":null,\"frame\":null,\"widths\":null,\"guides\":null,\"indexHeader\":null,\"gutter\":null,\"background\":null,\"canvas\":null,\"heroDecor\":null,\"floatRoom\":null},\"customFontUrl\":null,\"customFontFamily\":\"string\",\"brandName\":null,\"logoIncludesName\":true,\"headingFontFamily\":\"string\",\"bodyFontFamily\":\"string\",\"monoFontFamily\":\"string\",\"typography\":{\"scale\":null,\"baseSize\":null,\"fluid\":null,\"levels\":null,\"headingTransform\":null,\"variation\":null,\"features\":null,\"opticalSizing\":null,\"headingWrap\":null,\"bodyWrap\":null,\"numerals\":null,\"ui\":null,\"rhythm\":null},\"headingAnchors\":\"hover\",\"fonts\":{\"faces\":null,\"display\":null},\"logoUrl\":null,\"logoMark\":null,\"logoUrlLight\":null,\"logoUrlDark\":null,\"logoDarkMode\":\"none\",\"faviconUrl\":null,\"customCss\":\"string\",\"customJs\":\"string\",\"scriptOrigins\":[null],\"ads\":{\"network\":null,\"publisherId\":null,\"slotId\":null,\"size\":null,\"enabled\":null,\"scriptUrl\":null,\"slotHtml\":null,\"configVar\":null,\"configJson\":null},\"whiteLabel\":true,\"showLanguageSwitcher\":true,\"apiOrigins\":[null],\"fontOrigins\":[null],\"fontOriginsRemoved\":[null],\"imgOrigins\":[null],\"mediaOrigins\":[null],\"frameOrigins\":[null],\"elementStyles\":[null],\"settingsSchema\":[null],\"settings\":{},\"stringOverrides\":{},\"cssSnippets\":[null],\"announcement\":{\"text\":null,\"level\":null,\"href\":null,\"background\":null,\"backgroundDark\":null,\"ink\":null,\"inkDark\":null,\"gradient\":null,\"dismissible\":null,\"lead\":null,\"button\":null,\"pages\":null,\"style\":null,\"placement\":null,\"span\":null,\"phone\":null,\"inset\":null,\"bleed\":null,\"radius\":null,\"audience\":null,\"source\":null,\"release\":null},\"chrome\":{\"cta\":null,\"secondaryCta\":null,\"header\":null,\"headerLinks\":null,\"navMenu\":null,\"footerLinks\":null,\"footerDescription\":null,\"footerColumns\":null,\"socialLinks\":null,\"copyright\":null,\"footer\":null,\"mobileNav\":null,\"sticky\":null,\"height\":null,\"align\":null,\"ctaStyle\":null,\"showSignIn\":null,\"themeToggle\":null,\"sidebarBrand\":null,\"brandText\":null,\"logoPhone\":null,\"accountMenu\":null,\"translations\":null,\"ctas\":null,\"topBar\":null,\"subnav\":null,\"search\":null,\"searchPlacement\":null,\"searchHideOn\":null,\"searchStyle\":null,\"desktopNav\":null,\"signInStyle\":null,\"sidebarToggle\":null},\"notFound\":{\"title\":null,\"body\":null,\"pageId\":null,\"pageSpaceId\":null,\"hidePage\":null,\"links\":null,\"showSearch\":null,\"showSections\":null,\"hideSearch\":null,\"redirect\":null},\"components\":{\"radius\":null,\"shadow\":null,\"focus\":null,\"code\":null,\"input\":null,\"button\":null,\"spacing\":null,\"selection\":null,\"scrollbar\":null,\"syntax\":null,\"syntaxDark\":null,\"expandable\":null,\"codeDark\":null,\"inputDark\":null,\"buttonDark\":null,\"syntaxTheme\":null,\"link\":null,\"meta\":null,\"image\":null,\"byline\":null,\"list\":null,\"hint\":null,\"quote\":null,\"caption\":null,\"table\":null,\"stepper\":null,\"card\":null,\"kbd\":null,\"tabs\":null,\"preview\":null,\"apiRef\":null,\"popover\":null,\"select\":null,\"skeleton\":null},\"changelog\":{\"datePlacement\":null,\"gutterWidth\":null,\"columnWidth\":null,\"indexWidth\":null,\"stickyDate\":null,\"dateTone\":null,\"entryGap\":null,\"showTags\":null,\"rail\":null,\"header\":null,\"release\":null,\"filters\":null,\"look\":null,\"typeBadge\":null,\"breakingBadge\":null,\"upgradeNotesFirst\":null,\"channelBadge\":null,\"tagStyle\":null,\"tagOverflow\":null,\"tagInk\":null,\"versionBadge\":null,\"entry\":null,\"facts\":null,\"closes\":null,\"group\":null,\"gutter\":null,\"dateFormat\":null,\"widget\":null,\"archive\":null,\"languages\":null,\"sections\":null,\"prose\":null},\"forum\":{\"list\":null,\"dates\":null,\"categoryOverrides\":null,\"front\":null,\"pageHead\":null,\"layout\":null,\"sidebar\":null,\"categoriesPage\":null,\"categoryPage\":null,\"tagsPage\":null,\"tagStyle\":null,\"categories\":null,\"post\":null,\"topic\":null,\"chrome\":null,\"profile\":null,\"look\":null,\"qa\":null},\"post\":{\"layout\":null,\"rail\":null,\"split\":null,\"offset\":null,\"align\":null,\"header\":null,\"cover\":null,\"share\":null,\"suggested\":null,\"breadcrumb\":null,\"byline\":null,\"masthead\":null,\"toc\":null,\"pageActions\":null,\"footnotesPosition\":null,\"breadcrumbStyle\":null,\"dropCap\":null,\"seriesNav\":null,\"after\":null,\"bodyGap\":null,\"paddingTop\":null,\"authorCard\":null,\"byTag\":null},\"docs\":{\"sidebar\":null,\"sections\":null,\"mobileNav\":null,\"homeAt\":null,\"ask\":null,\"header\":null,\"search\":null,\"articleAlign\":null,\"articleWidth\":null,\"topRule\":null,\"pageHead\":null,\"frame\":null,\"pageActions\":null,\"toc\":null,\"panel\":null,\"aside\":null,\"api\":null,\"feedback\":null,\"issueLink\":null,\"editLink\":null,\"suggestEdits\":null,\"pager\":null,\"versionSwitcher\":null,\"localeSwitcher\":null,\"variantSwitcher\":null,\"localeFallback\":null,\"look\":null,\"blocks\":null,\"hub\":null},\"footnotes\":{\"placement\":null,\"rule\":null},\"i18n\":{\"urlStyle\":null,\"switcher\":null,\"labels\":null},\"status\":{\"look\":null,\"colors\":null,\"banner\":null,\"bars\":null,\"components\":null,\"legend\":null,\"incidents\":null,\"page\":null,\"hero\":null,\"history\":null,\"incident\":null,\"uptime\":null,\"maintenance\":null,\"header\":null,\"metrics\":null,\"widget\":null,\"partners\":null},\"legal\":{\"look\":null,\"list\":null,\"register\":null,\"head\":null,\"date\":null,\"facts\":null,\"numbering\":null,\"summary\":null,\"history\":null,\"upcoming\":null,\"item\":null,\"docNav\":null,\"gloss\":null,\"definitions\":null,\"variants\":null,\"subprocessors\":null,\"trust\":null},\"faq\":{\"look\":null,\"list\":null,\"item\":null,\"search\":null,\"contact\":null,\"categories\":null,\"featured\":null,\"jump\":null,\"audience\":null,\"follow\":null},\"roadmap\":{\"look\":null,\"width\":null,\"lanes\":null,\"card\":null,\"vote\":null,\"header\":null,\"filters\":null,\"item\":null,\"submit\":null},\"events\":{\"look\":null,\"list\":null,\"page\":null,\"item\":null,\"chips\":null,\"tones\":null,\"dateTileTone\":null,\"agenda\":null,\"speakers\":null,\"series\":null,\"after\":null},\"courses\":{\"look\":null,\"list\":null,\"landing\":null,\"outline\":null,\"lesson\":null,\"progress\":null,\"certificate\":null,\"access\":null,\"cohort\":null,\"social\":null,\"video\":null,\"gamification\":null,\"commerce\":null},\"careers\":{\"look\":null,\"list\":null,\"role\":null,\"facts\":null,\"item\":null},\"contact\":{\"look\":null,\"form\":null,\"facts\":null,\"topics\":null,\"offices\":null,\"channels\":null,\"backdrop\":null,\"deflect\":null},\"motion\":{\"preset\":null,\"enabled\":null,\"respectReducedMotion\":null,\"speed\":null,\"easing\":null,\"pageTransition\":null,\"pageCrossfade\":null,\"reveal\":null,\"hover\":null,\"header\":null,\"ambient\":null,\"keyframes\":null,\"targets\":null,\"scroll\":null},\"titleBand\":{\"layers\":null,\"layersDark\":null,\"height\":null,\"heightPhone\":null,\"above\":null,\"blend\":null,\"titleColor\":null,\"titleColorDark\":null,\"pages\":null},\"componentInstalls\":[null],\"mobile\":{\"fontScale\":null,\"density\":null,\"logoUrl\":null,\"hide\":null,\"css\":null}}}]}"))
    .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
Responses
200 Success.
Example
{
  "themes": [
    {
      "name": "string",
      "theme": {}
    }
  ],
  "warnings": [
    "tags: \"Launch Day\" is stored as \"launch-day\""
  ]
}
Schema
themesReaderThemeOption[]required
Show child parameters
namestringrequired
themeobjectrequired
A structurally large type (a deeply nested or recursive union). Its full shape is served by the endpoint that produces it; GET /docs/block-schema covers the document block model.
warningsstring[]
Values we ACCEPTED and then rewrote, one sentence each — a slugified tag, a normalised colour, a clamped range, a slug that was taken. Absent when nothing was rewritten, never []. The same sentences are on the X-Field-Warnings response header. If this is present, something you sent is not what is stored; read the resource back rather than assuming your own value.
400 The request could not be understood — a malformed header, path or query value (request.malformed). A value that was understood but is not acceptable is a 422 validation.failed.
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {},
    "docs": "string",
    "reason": "string",
    "slugs": [
      "string"
    ],
    "conflict": {
      "etag": "string",
      "ops": [
        null
      ]
    }
  },
  "requestId": "string"
}
Schema
errorobjectrequired
Show child parameters
codestringrequired
Stable, machine-readable error code, e.g. rbac.forbidden.
messagestringrequired
Human-readable explanation.
detailsobject
Field-level validation problems, keyed by field path (422 only).
docsstring
Where the vocabulary or format this error is about is published — an absolute URL, or an API route such as GET /space-types/{type}/presets. Present on errors over a controlled list, so the answer to "what am I allowed to send?" is in the error itself.
reasonstring
Why a credential was refused, as one stable word, where one status has several causes — e.g. an external_jwt redeem answers iat_too_old, iat_in_future, bad_signature, bad_issuer, bad_audience, expired and more. Branch on this, not on message.
slugsstring[]
The exact slugs that collided, on a slug-conflict 409 — space.slug_taken, page.slug_taken, collection.slug_taken, site.slug_taken or badge.slug_taken.
conflictobject
On a 409 from a content entry field write (PATCH …/entries/{entryId}/fields) whose If-Match was stale.
Show child parameters
etagstringrequired
The entry's current fields etag.
opsarrayrequired
The field operations since your If-Match that touch a path your own operations touch. Empty: none did — retry the batch unchanged under etag. null: the history no longer reaches your tag — re-read the entry first.
requestIdstring
The id of this request — the same value as the x-request-id and x-forumulate-request-id response headers. Quote it in a bug report: it is the only thing that finds your exact request in our logs. It is in the body because that is the part that survives — an SDK that throws the parsed body, a serverless log that keeps the body and drops the headers, a ticket with the JSON pasted in.
401 No credential, or one that is expired or revoked (auth.required). Send a Bearer token or the session cookie.
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {},
    "docs": "string",
    "reason": "string",
    "slugs": [
      "string"
    ],
    "conflict": {
      "etag": "string",
      "ops": [
        null
      ]
    }
  },
  "requestId": "string"
}
Schema
errorobjectrequired
Show child parameters
codestringrequired
Stable, machine-readable error code, e.g. rbac.forbidden.
messagestringrequired
Human-readable explanation.
detailsobject
Field-level validation problems, keyed by field path (422 only).
docsstring
Where the vocabulary or format this error is about is published — an absolute URL, or an API route such as GET /space-types/{type}/presets. Present on errors over a controlled list, so the answer to "what am I allowed to send?" is in the error itself.
reasonstring
Why a credential was refused, as one stable word, where one status has several causes — e.g. an external_jwt redeem answers iat_too_old, iat_in_future, bad_signature, bad_issuer, bad_audience, expired and more. Branch on this, not on message.
slugsstring[]
The exact slugs that collided, on a slug-conflict 409 — space.slug_taken, page.slug_taken, collection.slug_taken, site.slug_taken or badge.slug_taken.
conflictobject
On a 409 from a content entry field write (PATCH …/entries/{entryId}/fields) whose If-Match was stale.
Show child parameters
etagstringrequired
The entry's current fields etag.
opsarrayrequired
The field operations since your If-Match that touch a path your own operations touch. Empty: none did — retry the batch unchanged under etag. null: the history no longer reaches your tag — re-read the entry first.
requestIdstring
The id of this request — the same value as the x-request-id and x-forumulate-request-id response headers. Quote it in a bug report: it is the only thing that finds your exact request in our logs. It is in the body because that is the part that survives — an SDK that throws the parsed body, a serverless log that keeps the body and drops the headers, a ticket with the JSON pasted in.
403 Authenticated, and not allowed — always rbac.forbidden, whether what is missing is the capability, the token scope, or a resource the token is pinned away from. The message names the capability and, for a scope refusal, the scopes that would grant it. A refusal because of the PLAN is a 402 with quota.exceeded, not this.
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {},
    "docs": "string",
    "reason": "string",
    "slugs": [
      "string"
    ],
    "conflict": {
      "etag": "string",
      "ops": [
        null
      ]
    }
  },
  "requestId": "string"
}
Schema
errorobjectrequired
Show child parameters
codestringrequired
Stable, machine-readable error code, e.g. rbac.forbidden.
messagestringrequired
Human-readable explanation.
detailsobject
Field-level validation problems, keyed by field path (422 only).
docsstring
Where the vocabulary or format this error is about is published — an absolute URL, or an API route such as GET /space-types/{type}/presets. Present on errors over a controlled list, so the answer to "what am I allowed to send?" is in the error itself.
reasonstring
Why a credential was refused, as one stable word, where one status has several causes — e.g. an external_jwt redeem answers iat_too_old, iat_in_future, bad_signature, bad_issuer, bad_audience, expired and more. Branch on this, not on message.
slugsstring[]
The exact slugs that collided, on a slug-conflict 409 — space.slug_taken, page.slug_taken, collection.slug_taken, site.slug_taken or badge.slug_taken.
conflictobject
On a 409 from a content entry field write (PATCH …/entries/{entryId}/fields) whose If-Match was stale.
Show child parameters
etagstringrequired
The entry's current fields etag.
opsarrayrequired
The field operations since your If-Match that touch a path your own operations touch. Empty: none did — retry the batch unchanged under etag. null: the history no longer reaches your tag — re-read the entry first.
requestIdstring
The id of this request — the same value as the x-request-id and x-forumulate-request-id response headers. Quote it in a bug report: it is the only thing that finds your exact request in our logs. It is in the body because that is the part that survives — an SDK that throws the parsed body, a serverless log that keeps the body and drops the headers, a ticket with the JSON pasted in.
404 No such thing — one of the ids in the path does not resolve, or resolves to something this caller may not see (*.not_found).
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {},
    "docs": "string",
    "reason": "string",
    "slugs": [
      "string"
    ],
    "conflict": {
      "etag": "string",
      "ops": [
        null
      ]
    }
  },
  "requestId": "string"
}
Schema
errorobjectrequired
Show child parameters
codestringrequired
Stable, machine-readable error code, e.g. rbac.forbidden.
messagestringrequired
Human-readable explanation.
detailsobject
Field-level validation problems, keyed by field path (422 only).
docsstring
Where the vocabulary or format this error is about is published — an absolute URL, or an API route such as GET /space-types/{type}/presets. Present on errors over a controlled list, so the answer to "what am I allowed to send?" is in the error itself.
reasonstring
Why a credential was refused, as one stable word, where one status has several causes — e.g. an external_jwt redeem answers iat_too_old, iat_in_future, bad_signature, bad_issuer, bad_audience, expired and more. Branch on this, not on message.
slugsstring[]
The exact slugs that collided, on a slug-conflict 409 — space.slug_taken, page.slug_taken, collection.slug_taken, site.slug_taken or badge.slug_taken.
conflictobject
On a 409 from a content entry field write (PATCH …/entries/{entryId}/fields) whose If-Match was stale.
Show child parameters
etagstringrequired
The entry's current fields etag.
opsarrayrequired
The field operations since your If-Match that touch a path your own operations touch. Empty: none did — retry the batch unchanged under etag. null: the history no longer reaches your tag — re-read the entry first.
requestIdstring
The id of this request — the same value as the x-request-id and x-forumulate-request-id response headers. Quote it in a bug report: it is the only thing that finds your exact request in our logs. It is in the body because that is the part that survives — an SDK that throws the parsed body, a serverless log that keeps the body and drops the headers, a ticket with the JSON pasted in.
422 The body was understood and a value is unacceptable (validation.failed). error.details names the field paths.
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {},
    "docs": "string",
    "reason": "string",
    "slugs": [
      "string"
    ],
    "conflict": {
      "etag": "string",
      "ops": [
        null
      ]
    }
  },
  "requestId": "string"
}
Schema
errorobjectrequired
Show child parameters
codestringrequired
Stable, machine-readable error code, e.g. rbac.forbidden.
messagestringrequired
Human-readable explanation.
detailsobject
Field-level validation problems, keyed by field path (422 only).
docsstring
Where the vocabulary or format this error is about is published — an absolute URL, or an API route such as GET /space-types/{type}/presets. Present on errors over a controlled list, so the answer to "what am I allowed to send?" is in the error itself.
reasonstring
Why a credential was refused, as one stable word, where one status has several causes — e.g. an external_jwt redeem answers iat_too_old, iat_in_future, bad_signature, bad_issuer, bad_audience, expired and more. Branch on this, not on message.
slugsstring[]
The exact slugs that collided, on a slug-conflict 409 — space.slug_taken, page.slug_taken, collection.slug_taken, site.slug_taken or badge.slug_taken.
conflictobject
On a 409 from a content entry field write (PATCH …/entries/{entryId}/fields) whose If-Match was stale.
Show child parameters
etagstringrequired
The entry's current fields etag.
opsarrayrequired
The field operations since your If-Match that touch a path your own operations touch. Empty: none did — retry the batch unchanged under etag. null: the history no longer reaches your tag — re-read the entry first.
requestIdstring
The id of this request — the same value as the x-request-id and x-forumulate-request-id response headers. Quote it in a bug report: it is the only thing that finds your exact request in our logs. It is in the body because that is the part that survives — an SDK that throws the parsed body, a serverless log that keeps the body and drops the headers, a ticket with the JSON pasted in.
429 Rate limited — see the RateLimit-* headers.
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {},
    "docs": "string",
    "reason": "string",
    "slugs": [
      "string"
    ],
    "conflict": {
      "etag": "string",
      "ops": [
        null
      ]
    }
  },
  "requestId": "string"
}
Schema
errorobjectrequired
Show child parameters
codestringrequired
Stable, machine-readable error code, e.g. rbac.forbidden.
messagestringrequired
Human-readable explanation.
detailsobject
Field-level validation problems, keyed by field path (422 only).
docsstring
Where the vocabulary or format this error is about is published — an absolute URL, or an API route such as GET /space-types/{type}/presets. Present on errors over a controlled list, so the answer to "what am I allowed to send?" is in the error itself.
reasonstring
Why a credential was refused, as one stable word, where one status has several causes — e.g. an external_jwt redeem answers iat_too_old, iat_in_future, bad_signature, bad_issuer, bad_audience, expired and more. Branch on this, not on message.
slugsstring[]
The exact slugs that collided, on a slug-conflict 409 — space.slug_taken, page.slug_taken, collection.slug_taken, site.slug_taken or badge.slug_taken.
conflictobject
On a 409 from a content entry field write (PATCH …/entries/{entryId}/fields) whose If-Match was stale.
Show child parameters
etagstringrequired
The entry's current fields etag.
opsarrayrequired
The field operations since your If-Match that touch a path your own operations touch. Empty: none did — retry the batch unchanged under etag. null: the history no longer reaches your tag — re-read the entry first.
requestIdstring
The id of this request — the same value as the x-request-id and x-forumulate-request-id response headers. Quote it in a bug report: it is the only thing that finds your exact request in our logs. It is in the body because that is the part that survives — an SDK that throws the parsed body, a serverless log that keeps the body and drops the headers, a ticket with the JSON pasted in.
default Error — the stable { error: { code, message } } envelope.
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {},
    "docs": "string",
    "reason": "string",
    "slugs": [
      "string"
    ],
    "conflict": {
      "etag": "string",
      "ops": [
        null
      ]
    }
  },
  "requestId": "string"
}
Schema
errorobjectrequired
Show child parameters
codestringrequired
Stable, machine-readable error code, e.g. rbac.forbidden.
messagestringrequired
Human-readable explanation.
detailsobject
Field-level validation problems, keyed by field path (422 only).
docsstring
Where the vocabulary or format this error is about is published — an absolute URL, or an API route such as GET /space-types/{type}/presets. Present on errors over a controlled list, so the answer to "what am I allowed to send?" is in the error itself.
reasonstring
Why a credential was refused, as one stable word, where one status has several causes — e.g. an external_jwt redeem answers iat_too_old, iat_in_future, bad_signature, bad_issuer, bad_audience, expired and more. Branch on this, not on message.
slugsstring[]
The exact slugs that collided, on a slug-conflict 409 — space.slug_taken, page.slug_taken, collection.slug_taken, site.slug_taken or badge.slug_taken.
conflictobject
On a 409 from a content entry field write (PATCH …/entries/{entryId}/fields) whose If-Match was stale.
Show child parameters
etagstringrequired
The entry's current fields etag.
opsarrayrequired
The field operations since your If-Match that touch a path your own operations touch. Empty: none did — retry the batch unchanged under etag. null: the history no longer reaches your tag — re-read the entry first.
requestIdstring
The id of this request — the same value as the x-request-id and x-forumulate-request-id response headers. Quote it in a bug report: it is the only thing that finds your exact request in our logs. It is in the body because that is the part that survives — an SDK that throws the parsed body, a serverless log that keeps the body and drops the headers, a ticket with the JSON pasted in.
The Forumulate teamUpdated