Replace reader themes in a space
PUT
https://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
orgIdstringpathrequiredspaceIdstringpathrequiredforumulate-versionstringheaderAPI 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-KeystringheaderMakes 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[]requiredShow child parameters
namestringrequiredthemeobjectrequiredShow child parameters
primaryColorstringprimaryColorDarkstringaccentColorstringpaletteobjectpaletteDarkobjectfontstringcolorSchemestringcolorSchemeStrictbooleancontentWidthstringonThisPagestringlayoutobjectcustomFontUrlstringcustomFontFamilystringbrandNamestring | booleanlogoIncludesNamebooleanheadingFontFamilystringbodyFontFamilystringmonoFontFamilystringtypographyobjectheadingAnchorsstringfontsobjectlogoUrlstringlogoMarkstringlogoUrlLightstringlogoUrlDarkstringlogoDarkModestringfaviconUrlstringcustomCssstringcustomJsstringscriptOriginsstring[]adsobjectwhiteLabelbooleanshowLanguageSwitcherbooleanapiOriginsstring[]fontOriginsstring[]fontOriginsRemovedstring[]imgOriginsstring[]mediaOriginsstring[]frameOriginsstring[]elementStylesobject[]settingsSchemaobject[]settingsobjectstringOverridesobjectcssSnippetsobject[]announcementobjectchromeobjectnotFoundobjectcomponentsobjectchangelogobjectforumobjectpostobjectdocsobjectfootnotesobjecti18nobjectstatusobjectlegalobjectfaqobjectroadmapobjecteventsobjectcoursesobjectcareersobjectcontactobjectmotionobjecttitleBandobjectcomponentInstallsobject[]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.bodyJava
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[]requiredShow child parameters
namestringrequiredthemeobjectrequiredA 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
errorobjectrequiredShow child parameters
codestringrequiredStable, machine-readable error code, e.g.
rbac.forbidden.messagestringrequiredHuman-readable explanation.
detailsobjectField-level validation problems, keyed by field path (422 only).
docsstringWhere 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.reasonstringWhy 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.conflictobjectOn a 409 from a content entry field write (
PATCH …/entries/{entryId}/fields) whose If-Match was stale.Show child parameters
etagstringrequiredThe entry's current fields etag.
opsarrayrequiredThe 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.requestIdstringThe 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
errorobjectrequiredShow child parameters
codestringrequiredStable, machine-readable error code, e.g.
rbac.forbidden.messagestringrequiredHuman-readable explanation.
detailsobjectField-level validation problems, keyed by field path (422 only).
docsstringWhere 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.reasonstringWhy 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.conflictobjectOn a 409 from a content entry field write (
PATCH …/entries/{entryId}/fields) whose If-Match was stale.Show child parameters
etagstringrequiredThe entry's current fields etag.
opsarrayrequiredThe 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.requestIdstringThe 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
errorobjectrequiredShow child parameters
codestringrequiredStable, machine-readable error code, e.g.
rbac.forbidden.messagestringrequiredHuman-readable explanation.
detailsobjectField-level validation problems, keyed by field path (422 only).
docsstringWhere 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.reasonstringWhy 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.conflictobjectOn a 409 from a content entry field write (
PATCH …/entries/{entryId}/fields) whose If-Match was stale.Show child parameters
etagstringrequiredThe entry's current fields etag.
opsarrayrequiredThe 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.requestIdstringThe 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
errorobjectrequiredShow child parameters
codestringrequiredStable, machine-readable error code, e.g.
rbac.forbidden.messagestringrequiredHuman-readable explanation.
detailsobjectField-level validation problems, keyed by field path (422 only).
docsstringWhere 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.reasonstringWhy 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.conflictobjectOn a 409 from a content entry field write (
PATCH …/entries/{entryId}/fields) whose If-Match was stale.Show child parameters
etagstringrequiredThe entry's current fields etag.
opsarrayrequiredThe 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.requestIdstringThe 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
errorobjectrequiredShow child parameters
codestringrequiredStable, machine-readable error code, e.g.
rbac.forbidden.messagestringrequiredHuman-readable explanation.
detailsobjectField-level validation problems, keyed by field path (422 only).
docsstringWhere 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.reasonstringWhy 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.conflictobjectOn a 409 from a content entry field write (
PATCH …/entries/{entryId}/fields) whose If-Match was stale.Show child parameters
etagstringrequiredThe entry's current fields etag.
opsarrayrequiredThe 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.requestIdstringThe 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
errorobjectrequiredShow child parameters
codestringrequiredStable, machine-readable error code, e.g.
rbac.forbidden.messagestringrequiredHuman-readable explanation.
detailsobjectField-level validation problems, keyed by field path (422 only).
docsstringWhere 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.reasonstringWhy 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.conflictobjectOn a 409 from a content entry field write (
PATCH …/entries/{entryId}/fields) whose If-Match was stale.Show child parameters
etagstringrequiredThe entry's current fields etag.
opsarrayrequiredThe 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.requestIdstringThe 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
errorobjectrequiredShow child parameters
codestringrequiredStable, machine-readable error code, e.g.
rbac.forbidden.messagestringrequiredHuman-readable explanation.
detailsobjectField-level validation problems, keyed by field path (422 only).
docsstringWhere 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.reasonstringWhy 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.conflictobjectOn a 409 from a content entry field write (
PATCH …/entries/{entryId}/fields) whose If-Match was stale.Show child parameters
etagstringrequiredThe entry's current fields etag.
opsarrayrequiredThe 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.requestIdstringThe 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