thincms_update_settings
Update site settings with partial updates—only provided fields change. Sensitive fields remain admin-only.
Instructions
Update site settings. Supports partial updates — only provided fields are changed. Sensitive fields (SMTP, Stripe keys, API keys, billing) remain admin-only.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | ISO locale code (e.g. 'en-NZ', 'en-US', 'en-GB', 'fr-FR', 'de-DE'). Drives date/time/number formatting on the public site. Empty defaults to en-US at render time. | |
| siteId | No | Override the active site for this single call. Pass to target a specific tenant without mutating shared active-site state — the right pattern when running concurrent agent sessions managing different tenants. Must match a siteId from your THINCMS_SITES config (use thincms_list_sites to inspect). When omitted, the call uses the active site set by thincms_switch_site. | |
| aiBrief | No | Customer-authored 'AI brief' — voice/positioning/about content rendered in the auto-generated /llms.txt under an 'About' heading. Use this for narrative content that doesn't fit the structured LocalBusiness fields. Set to empty string to clear. | |
| logoUrl | No | Path or absolute URL of the site logo (used by {{site:logo}} and Organization JSON-LD). | |
| tagline | No | Short site tagline (e.g. shown under the site name in headers/OG tags). | |
| business | No | LocalBusiness / structured data. Used to auto-emit Schema.org JSON-LD on the homepage. Partial-update — only provided sub-fields change. | |
| timezone | No | IANA timezone (e.g. 'Pacific/Auckland', 'Europe/London', 'America/New_York'). Used for the timeZone property on LocalBusiness OpeningHoursSpecification and any future timezone-sensitive rendering. Empty defaults to Etc/UTC. | |
| faviconUrl | No | Path or absolute URL of the site favicon. | |
| ogImageUrl | No | Site-wide default Open Graph image URL. Used as the OG image when a page or post doesn't set its own ogImageUrl. Per-page values override this fallback. | |
| description | No | Site description used for meta description, OG tags, and structured data. | |
| emitLlmsTxt | No | Whether to auto-generate /llms.txt for this site (default true). When false, /llms.txt returns 404. | |
| googleTagId | No | Google tag ID for analytics — gtag.js (G-/AW-/GT-) or GTM container (GTM-). The correct snippet is injected into <head> automatically. Set to empty string to clear. | |
| memberFormSlug | No | Form slug used for membership/subscriber signup. Set to empty string to disable membership signup. | |
| robotsAdditions | No | Free-text rules appended to the auto-generated /robots.txt. Use to opt specific user-agents in or out (e.g. 'User-agent: GPTBot\nDisallow: /' to block OpenAI's training crawler). Set to empty string to clear. | |
| bingVerification | No | Bing Webmaster Tools verification token (rendered as <meta name="msvalidate.01">). | |
| googleVerification | No | Google Search Console verification token (rendered as a meta tag). | |
| confirmProductionWrite | No | Acknowledge that this call may write to a configured production site (THINCMS_PRODUCTION_SITE_IDS env var). Required for any POST/PUT/PATCH/DELETE against a production-listed site; ignored otherwise. The error message lists which site triggered the requirement and recommends thincms_snapshot before any production write. |