Web Chat

Create Webchat Settings

Create the theme for one bot and surface. ONE ROW PER PAIR.

409 when one already exists - use PATCH /webchat/settings for that.

Colours must be hex and dimensions must be CSS lengths; two model-level guards additionally refuse an illegible text/background pair and an absurd design-token magnitude. All of them run at THIS boundary, so a violation is a 422 naming the field.

post/webchat/settings

Request

  • Base URL: https://be.graph8.com/api/v1
  • URL: https://be.graph8.com/api/v1/webchat/settings
  • Auth: HTTP bearer

Headers

Idempotency-Keystring nullable

Retry-safety key for this create. Replaying the same key returns the FIRST result instead of creating a second row. Durability depends on the tenant's migration state, so treat it as best-effort.

Authorizationstring nullable
X-Target-Org-Idstring nullable

Request body

chat_bot_idstring required

Owning chat bot id (UUID).

surface'external' | 'internal' nullable

Which widget this theme applies to. Omitted means external. internal is graph8's own support widget and is refused for any other org.

primaryColorstring
secondaryColorstring
fontFamilystring
fontSizestring
borderRadiusstring
chatWidthstring
darkModeboolean
userMessageBgColorstring
userMessageTextColorstring
assistantMessageBgColorstring
assistantMessageTextColorstring
assistantNamestring
showHeaderboolean
headerTextColorstring
showSuggestedQuestionsboolean
showQuickActionsboolean
suggestedQuestionsBgColorstring
suggestedQuestionsSectionBgColorstring
robotIconColorstring
robotIconTypestring
botIconTypestring
headerImageUrlExternalstring nullable
headerImageUrlInternalstring nullable
botAvatarMode'agent' | 'preset' | 'custom'
botAvatarPresetUrlstring nullable
botAvatarCustomUrlstring nullable
themeSource'default' | 'brand_kit' | 'custom'
copyOverridesobject nullable

Response

Successful Response

dataWebchatPayload required

An open envelope for one webchat object.

Open because the widget's config grows a field per product decision and a pinned schema would DROP it. Same choice the desk surface made.

Changes

No recorded changes to this operation across all 2 revisions of this API.