budgetCapCredits | no | integer | — | — | Web-channel spend cap in credits (sum of credits_deducted across customer-facing web chats for the current budgetPeriod window). 0 = no cap. |
budgetPeriod | no | enum | one of daily, weekly, monthly | — | Window the budgetCapCredits cap is measured over: daily = UTC calendar day, weekly = Monday–Sunday (UTC), monthly = calendar month (UTC). On exceed, the web chat auto-pauses until the end of that window. |
disabledUntilTs | no | integer | — | — | Unix timestamp (ms) until which the web chat is disabled. Server-managed; clients can clear it (set to 0) but cannot extend it. |
page_background | no | object | — | — | Page-canvas background for the public web chat pages, per colour scheme. Each mode is a solid colour (from only) or a two-stop linear gradient (from+to+angle). Injected as a body background <style> (validated hexes only); unset modes keep the platform default. Normalized by $lib/shared/web-page-settings.ts. Item fields below. |
theme_mode | no | enum | one of auto, light, dark | auto | Colour scheme of the public web chat pages. ‘auto’ = the visitor’s own choice (theme toggle shown). ‘light’/‘dark’ = brand-locked: the page always renders in that scheme, the toggle is hidden, and the visitor’s own site-wide preference is left untouched. |
seo | no | object | — | — | SEO / social-sharing tags rendered into the public chat pages’ <head> (server-side, so crawlers and link unfurlers see them). All optional; blanks fall back to the page defaults. Item fields below. |
chrome | no | object | — | — | Visibility of the public page’s chrome. Hiding the header removes the top bar (logo/name/auth/theme toggle — pair with a locked theme_mode); hiding the footer removes the legal/contact strip; hiding the usage bar removes the logged-in visitor’s daily token readout. Item fields below. |
greeting | no | string | max len 500 | — | Owner-written welcome shown as an agent chat bubble on the page’s landing state (before the visitor sends anything). Pure presentation — never sent to the LLM and not part of the conversation. |
availability | no | object | — | — | Opening-hours schedule for the web chat. mode ‘always’ = no schedule. ‘scheduled’ = outside the weekly hours (interpreted in timezone) the chat endpoints reject sends with closed_message and the page shows a closed banner — same pause machinery as the spend cap. A day’s close < open spans midnight; open == close counts as closed. Item fields below. |
font_id | no | enum | one of default, inter, transitional, old-style, geometric, rounded, mono | default | Typography preset for the public chat pages — curated system-font stacks (no webfont downloads), applied to the whole page. See WEB_FONTS in $lib/shared/web-page-settings.ts. |