Chatbot Operations

Update chatbot settings

This API endpoint allows you to edit your chatbot. Only the fields you send are changed; fields set to null are ignored.

post/update-chatbot-settings

Request

  • Base URL: https://api.chat-data.com/api/v2
  • URL: https://api.chat-data.com/api/v2/update-chatbot-settings
  • Auth: HTTP bearer

Request body

chatbotIdstring required

The unique identifier allocated to the chatbot.

chatbotNamestring

The new name of the chatbot.

basePromptstring

The base prompt (instructions) for the chatbot.

initialMessagesstring[]

Array of initial messages the chatbot shows when a conversation starts.

suggestedMessagesstring[]

Array of suggested messages shown in the chatbot.

visibility'private' | 'public'

The visibility of the chatbot. It controls whether your chatbot is accessible to others.

onlyAllowOnAddedDomainsboolean

Whether the chatbot can be embedded (iframe or widget) on other websites; false disables embedding. Allowed domains are set by domains.

domainsstring[]

The domains on which the iframe and widget are allowed. Replaces the current list.

disallowedUrlsstring[]

Pages on which the chat widget is not shown. Replaces the current list.

rateLimitPointsnumber

The maximum number of messages one device can send every rateLimitTimeframe seconds. Each message counts as one here, however many message credits its model consumes.

rateLimitTimeframenumber

The time window, in seconds, to which the rateLimitPoints message limit applies.

rateLimitMessagestring

The error message shown to the user when the conversation is rate limited.

baseModel'gpt-4o-mini' | 'gpt-4o' | 'gpt-4' | 'gpt-4.1-nano' | 'gpt-4.1-mini' | 'gpt-4.1' | 'gpt-5-nano' | 'gpt-5-mini' | 'gpt-5' | 'gpt-5.1' | 'gpt-5.2' | 'gpt-5.6-sol' | 'gpt-5.6-terra' | 'gpt-5.6-luna' | 'gpt-6-astra' | 'gpt-6.1-sol' | 'gpt-6-luna' | 'gpt-5.5' | 'gpt-5.4' | 'gpt-5.4-nano' | 'gpt-5.4-mini' | 'gpt-o1' | 'gpt-o3-mini' | 'gpt-o3' | 'gpt-o4-mini' | 'claude-4-5-sonnet' | 'claude-4-6-sonnet' | 'claude-4-5-haiku' | 'claude-4-opus' | 'claude-4.1-opus' | 'claude-4.5-opus' | 'claude-4.6-opus' | 'claude-5-opus' | 'claude-5-sonnet' | 'claude-5-5-opus' | 'claude-5-5-sonnet' | 'claude-5-5-haiku' | 'gemini-3.0-flash' | 'gemini-3.1-flash' | 'gemini-3.5-flash-lite' | 'gemini-3.7-flash' | 'gemini-2.5-pro' | 'gemini-3.0-pro' | 'gemini-3.1-pro' | 'deepseek-r1' | 'deepseek-v3.2' | 'mancer-deepseek-v4-flash'

The large language model (OpenAI GPT, Anthropic Claude, Google Gemini or DeepSeek) used in our RAG processing pipeline. In a HIPAA workspace, models not covered by a BAA are rejected.

temperaturenumber

The temperature of the AI model, in the range [0, 1].

storeChatboolean

Indicates whether chat history is stored on our server. All chatbot models, including medical-chat-human and medical-chat-vet, start with storage enabled by default. Storage can be disabled for any model.

showCalendarboolean

Specifies whether the Calendly booking button should be displayed in the chatbot widget or iframe.

calendarUrlstring

The Calendly URL where users can schedule appointments.

calendarMessagestring

The message to display for appointment scheduling.

enableBouncingAnimationboolean

Whether the chat bubble bounces at the start of a session to attract attention.

enableBubbleSoundboolean

Whether a sound plays when the initial-message bubble pops up.

bubbleSizenumber

The size of the chat bubble button, in pixels. Values that are not positive numbers are ignored.

inputPlaceholderMsgstring

The placeholder text of the message input.

rerankboolean

Whether retrieved knowledge base chunks are reranked before the chatbot answers. Reranking costs extra message credits.

footerstring

Text shown at the bottom of the chat widget.

ignoreDataSourceboolean

Whether your uploaded data should be ignored when the chatbot responds. If set to true, the chatbot answers like a general-purpose AI chatbot without your knowledge base. This option applies to chatbots based on the custom-data-upload model.

Example request

{
  "chatbotId": "6650f1c2a9e4b83d2c7a1f05",
  "chatbotName": "Support Bot",
  "basePrompt": "You are a friendly support assistant for Example Inc. Answer only from the provided knowledge base and keep replies under 120 words.",
  "initialMessages": [
    "Hi! How can I help you today?"
  ],
  "suggestedMessages": [
    "What are your opening hours?",
    "How do I track my order?"
  ],
  "domains": [
    "example.com",
    "chat.example.com"
  ],
  "disallowedUrls": [
    "https://www.example.com/checkout"
  ],
  "rateLimitPoints": 20,
  "rateLimitTimeframe": 240,
  "rateLimitMessage": "Too many messages in a row. Please wait a few minutes and try again.",
  "storeChat": true,
  "qALinks": [
    {
      "text": "How to train your chatbot",
      "link": "https://cookbook.chat-data.com/docs/train-with-your-data"
    }
  ],
  "calendarUrl": "https://calendly.com/jane-doe/30min",
  "calendarMessage": "Book a demo",
  "calCom": {
    "showCalendar": true,
    "username": "jane-doe/30min",
    "calendarMessage": "Book a demo",
    "hideEventTypeDetails": false,
    "brandColor": "#292929",
    "layout": "month"
  },
  "bubbleSize": 54,
  "inputPlaceholderMsg": "Message...",
  "sources": {
    "enable": true,
    "label": "Sources"
  },
  "footer": "Replies are generated by AI and may contain mistakes.",
  "leadsConfig": {
    "message": "Let us know how to contact you.",
    "collectName": true,
    "collectEmail": true,
    "collectPhone": false,
    "nameMessage": "Name",
    "emailMessage": "Email",
    "phoneMessage": "Phone"
  },
  "styles": {
    "theme": "dark",
    "buttonColor": "rgb(0, 0, 0)",
    "displayName": "Support Bot",
    "alignChatButton": "left",
    "userMessageColor": "rgb(59, 129, 246)",
    "actionButtonColor": "rgb(59, 129, 246)",
    "profilePictureFile": "/storage/public/image/avatar_6650f1c2a9e4b83d2c7a1f05.png",
    "bubblePictureFile": "/storage/public/image/chat_icon_6650f1c2a9e4b83d2c7a1f05.png",
    "autoOpenChatWindowAfter": 3
  }
}

Response

Successful response.

status'success' required

Changes

No recorded changes to this operation across all 1 revision of this API.