dialogbrain-com · Schema

WidgetCreateRequest

Request to create a new widget.

CompanyAICustomer SupportMessagingVoice

Properties

Name Type Description
name string
theme object
require_identification boolean
identification_fields array
identification_field_config object Custom field rendering config. Keys are field names, values are {label, type, options?, required?}. type: 'text'|'email'|'tel'|'select'|'date'. options: list of strings for select type.
show_visitor_history boolean
allowed_domains array
rate_limit_per_minute integer
calendly_url object Calendly/scheduling URL for calendar action (e.g., https://calendly.com/company/demo)
contact_form_fields array Available fields for contact form action
contact_form_field_config object Per-field config overrides: {field_name: {label?, type?, placeholder?, options?}}
enable_search_action boolean Allow LLM to use search action in AUTO_REPLY_RULES
enable_form_action boolean Allow LLM to use form action to collect visitor info
enable_calendar_action boolean Allow LLM to use calendar action to send scheduling links
proactive_greeting object Proactive greeting configuration for automatic visitor engagement
allow_attachments boolean Allow visitors to upload file attachments (images, PDFs)
max_attachment_size_mb integer Maximum file size in MB for attachments
allowed_attachment_types array Allowed MIME types for attachments
sound_enabled boolean Play sound when new message arrives
site_search_enabled boolean Enable direct product search on widget owner's website
website_url object Widget owner's website URL for product search (e.g., https://beautique-store.com)
ecommerce_platform object E-commerce platform: shopify, woocommerce, generic, or null for auto-detect
allow_voice boolean Enable voice call mode in the widget
allow_text_during_call boolean Allow typing messages during an active voice/avatar call
allow_avatar boolean Enable avatar (talking-head video) call mode in the widget
show_branding boolean Show the 'Powered by DialogBrain' badge under the chat. Hiding it needs a paid plan for this widget.
voice_greeting object First message the agent speaks when a voice call starts. Empty = agent waits.
voice_stt_model object STT model: 'flux' (context-aware turn detection) or 'nova-3' (classic)
max_voice_duration_seconds integer Maximum voice call duration in seconds
display_mode string Visual mode of the widget. 'chat' (default): full chat panel + mic. 'voice_only': mic-only bubble that launches a voice call directly. 'headless': no UI; customer drives the widget via window.DialogBr
localization object Per-widget localizable strings (voice_button_label, etc.).
View JSON Schema on GitHub

JSON Schema

dialogbrain-com-src-api-livechat-config-widget-create-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/dialogbrain-com/json-schema/dialogbrain-com-src-api-livechat-config-widget-create-request-schema.json",
  "title": "WidgetCreateRequest",
  "description": "Request to create a new widget.",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/dialogbrain-com-openapi.json#/components/schemas/src__api__livechat__config__WidgetCreateRequest",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 100,
      "title": "Name",
      "default": "Website Chat"
    },
    "theme": {
      "anyOf": [
        {
          "$ref": "#/$defs/WidgetTheme"
        },
        {
          "type": "null"
        }
      ]
    },
    "require_identification": {
      "type": "boolean",
      "title": "Require Identification",
      "default": false
    },
    "identification_fields": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Identification Fields",
      "default": [
        "name",
        "email"
      ]
    },
    "identification_field_config": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Identification Field Config",
      "description": "Custom field rendering config. Keys are field names, values are {label, type, options?, required?}. type: 'text'|'email'|'tel'|'select'|'date'. options: list of strings for select type."
    },
    "show_visitor_history": {
      "type": "boolean",
      "title": "Show Visitor History",
      "default": true
    },
    "allowed_domains": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Allowed Domains",
      "default": []
    },
    "rate_limit_per_minute": {
      "type": "integer",
      "maximum": 100.0,
      "minimum": 1.0,
      "title": "Rate Limit Per Minute",
      "default": 20
    },
    "calendly_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Calendly Url",
      "description": "Calendly/scheduling URL for calendar action (e.g., https://calendly.com/company/demo)"
    },
    "contact_form_fields": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Contact Form Fields",
      "description": "Available fields for contact form action",
      "default": [
        "name",
        "email",
        "phone"
      ]
    },
    "contact_form_field_config": {
      "anyOf": [
        {
          "additionalProperties": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Contact Form Field Config",
      "description": "Per-field config overrides: {field_name: {label?, type?, placeholder?, options?}}"
    },
    "enable_search_action": {
      "type": "boolean",
      "title": "Enable Search Action",
      "description": "Allow LLM to use search action in AUTO_REPLY_RULES",
      "default": true
    },
    "enable_form_action": {
      "type": "boolean",
      "title": "Enable Form Action",
      "description": "Allow LLM to use form action to collect visitor info",
      "default": true
    },
    "enable_calendar_action": {
      "type": "boolean",
      "title": "Enable Calendar Action",
      "description": "Allow LLM to use calendar action to send scheduling links",
      "default": true
    },
    "proactive_greeting": {
      "anyOf": [
        {
          "$ref": "#/$defs/ProactiveGreetingConfig"
        },
        {
          "type": "null"
        }
      ],
      "description": "Proactive greeting configuration for automatic visitor engagement"
    },
    "allow_attachments": {
      "type": "boolean",
      "title": "Allow Attachments",
      "description": "Allow visitors to upload file attachments (images, PDFs)",
      "default": false
    },
    "max_attachment_size_mb": {
      "type": "integer",
      "maximum": 25.0,
      "minimum": 1.0,
      "title": "Max Attachment Size Mb",
      "description": "Maximum file size in MB for attachments",
      "default": 5
    },
    "allowed_attachment_types": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Allowed Attachment Types",
      "description": "Allowed MIME types for attachments",
      "default": [
        "image/jpeg",
        "image/png",
        "image/gif",
        "image/webp",
        "application/pdf"
      ]
    },
    "sound_enabled": {
      "type": "boolean",
      "title": "Sound Enabled",
      "description": "Play sound when new message arrives",
      "default": true
    },
    "site_search_enabled": {
      "type": "boolean",
      "title": "Site Search Enabled",
      "description": "Enable direct product search on widget owner's website",
      "default": true
    },
    "website_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Website Url",
      "description": "Widget owner's website URL for product search (e.g., https://beautique-store.com)"
    },
    "ecommerce_platform": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ecommerce Platform",
      "description": "E-commerce platform: shopify, woocommerce, generic, or null for auto-detect"
    },
    "allow_voice": {
      "type": "boolean",
      "title": "Allow Voice",
      "description": "Enable voice call mode in the widget",
      "default": false
    },
    "allow_text_during_call": {
      "type": "boolean",
      "title": "Allow Text During Call",
      "description": "Allow typing messages during an active voice/avatar call",
      "default": true
    },
    "allow_avatar": {
      "type": "boolean",
      "title": "Allow Avatar",
      "description": "Enable avatar (talking-head video) call mode in the widget",
      "default": false
    },
    "show_branding": {
      "type": "boolean",
      "title": "Show Branding",
      "description": "Show the 'Powered by DialogBrain' badge under the chat. Hiding it needs a paid plan for this widget.",
      "default": true
    },
    "voice_greeting": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 500
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Greeting",
      "description": "First message the agent speaks when a voice call starts. Empty = agent waits."
    },
    "voice_stt_model": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Stt Model",
      "description": "STT model: 'flux' (context-aware turn detection) or 'nova-3' (classic)"
    },
    "max_voice_duration_seconds": {
      "type": "integer",
      "maximum": 3600.0,
      "minimum": 30.0,
      "title": "Max Voice Duration Seconds",
      "description": "Maximum voice call duration in seconds",
      "default": 300
    },
    "display_mode": {
      "type": "string",
      "enum": [
        "chat",
        "voice_only",
        "headless"
      ],
      "title": "Display Mode",
      "description": "Visual mode of the widget. 'chat' (default): full chat panel + mic. 'voice_only': mic-only bubble that launches a voice call directly. 'headless': no UI; customer drives the widget via window.DialogBrain.* JS API.",
      "default": "chat"
    },
    "localization": {
      "anyOf": [
        {
          "$ref": "#/$defs/WidgetLocalization"
        },
        {
          "type": "null"
        }
      ],
      "description": "Per-widget localizable strings (voice_button_label, etc.)."
    }
  },
  "type": "object",
  "$defs": {
    "ProactiveGreetingConfig": {
      "properties": {
        "enabled": {
          "type": "boolean",
          "title": "Enabled",
          "default": false
        },
        "delay_seconds": {
          "type": "integer",
          "maximum": 300.0,
          "minimum": 0.0,
          "title": "Delay Seconds",
          "default": 30
        },
        "custom_greeting": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 500
            },
            {
              "type": "null"
            }
          ],
          "title": "Custom Greeting",
          "description": "Custom greeting message. If use_ai=True, AI will adapt/translate to visitor's language."
        },
        "returning_greeting": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 500
            },
            {
              "type": "null"
            }
          ],
          "title": "Returning Greeting",
          "description": "Greeting for returning visitors (who have prior chat history). Falls back to custom_greeting."
        },
        "use_ai": {
          "type": "boolean",
          "title": "Use Ai",
          "description": "Use AI to generate/adapt greeting. If False and custom_greeting set, use as-is.",
          "default": true
        },
        "prompt_id": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Prompt Id"
        },
        "fallback_message": {
          "type": "string",
          "title": "Fallback Message",
          "default": "Hi! How can I help you today?"
        },
        "behavior": {
          "type": "string",
          "enum": [
            "notification",
            "auto_open",
            "on_open"
          ],
          "title": "Behavior",
          "default": "notification"
        },
        "show_notification": {
          "type": "boolean",
          "title": "Show Notification",
          "default": true
        },
        "sound_enabled": {
          "type": "boolean",
          "title": "Sound Enabled",
          "default": false
        }
      },
      "type": "object",
      "title": "ProactiveGreetingConfig",
      "description": "Proactive greeting configuration for automatic visitor engagement."
    },
    "WidgetLocalization": {
      "properties": {
        "voice_button_label": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 100
            },
            {
              "type": "null"
            }
          ],
          "title": "Voice Button Label",
          "description": "aria-label / hover tooltip for the voice-only mic bubble. Defaults to 'Talk to agent'."
        }
      },
      "type": "object",
      "title": "WidgetLocalization",
      "description": "Per-widget localizable strings. v1 only consumes voice_button_label.\n\nGeneric name (not voice-specific) so future fields — chat_input_placeholder,\nvoice_unavailable_tooltip, etc. — extend this type without a v2 rename."
    },
    "WidgetTheme": {
      "properties": {
        "primaryColor": {
          "type": "string",
          "title": "Primarycolor",
          "default": "#2563eb"
        },
        "launcherColor": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Launchercolor"
        },
        "position": {
          "type": "string",
          "title": "Position",
          "default": "bottom-right"
        },
        "buttonIcon": {
          "type": "string",
          "title": "Buttonicon",
          "default": "chat"
        },
        "headerTitle": {
          "type": "string",
          "title": "Headertitle",
          "default": "Chat with us"
        },
        "headerSubtitle": {
          "type": "string",
          "title": "Headersubtitle",
          "default": "We typically reply within minutes"
        },
        "colorScheme": {
          "type": "string",
          "enum": [
            "light",
            "dark",
            "auto"
          ],
          "title": "Colorscheme",
          "default": "light"
        }
      },
      "type": "object",
      "title": "WidgetTheme",
      "description": "Widget appearance configuration."
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/dialogbrain-com-src-api-livechat-config-widget-create-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.