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.). |
JSON Schema
{
"$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.
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.