Skip to content

Send a live chat message

post/live-chat
Any key

Send a live chat message to an existing conversation of a chatbot. The message can be sent as a human agent (role: 'human'), as an assistant response (role: 'assistant') or as a user message (role: 'user').

Role behavior:

  • 'human' (default): The message is sent as a human agent. This automatically stops the AI bot so that it does not interfere with human assistance. The name and avatar parameters are used for the human agent's identity.
  • 'assistant': The message is sent as an AI assistant response. The AI bot continues to operate normally. The name and avatar parameters are ignored.
  • 'user': The message is sent as a user message. The AI bot continues to operate normally. The name and avatar parameters are ignored.

If you want to take over the conversation as a human agent, use the default 'human' role. If you want to send assistant responses without stopping the AI bot, use the 'assistant' role.

Request body

Sending 3 of 7 fields
Required
chatbotIdstring
The unique identifier of the chatbot.
messagestring
The message text to be sent to the conversation. It must be a non-empty string (an empty string gets a 400); to send only files, send a blank string such as a single space.
conversationIdstring
The unique identifier of the conversation. It must be an existing conversation of the chatbot.

Only these fields are sent (application/json).

Try it · POST /live-chat
curl 'https://api.chat-data.com/api/v2/live-chat' \  -H "Authorization: Bearer $CHAT_DATA_API_KEY" \  -H 'Content-Type: application/json' \  -d '{  "chatbotId": "6650f1c2a9e4b83d2c7a1f05",  "message": "Hi Jane, I'\''m Alex from the support team. Let me check your order status for you.",  "conversationId": "3f2b8c1e-9a4d-4e7b-8c2a-5d1e6f7a8b9c"}'
Loading…

Responses

Successful response.

Content type: application/json

FieldDescription
statusstringOne of: success.
emailed_offline_messagebooleanWhether the message was also emailed to the user because they were offline. This only happens when the role is 'human' and the conversation's lead has an email address.
is_user_onlinebooleanWhether the user is currently online in the conversation.
deliveryobjectOnly present when the conversation came from WhatsApp, WhatsApp Web, Instagram, Messenger, Telegram or LINE and role is human or assistant. The message is stored either way; this tells whether it was handed to the platform.
delivery.channelstringThe platform of the conversation (its source).
delivery.statestringaccepted: the message was handed to the platform (this does not confirm delivery). skipped: not sent because the user's last message is more than 24 hours old (send a template message instead). failed: the send failed.
delivery.reasonstringWhy the message was skipped or failed. Absent when state is accepted. One of: outside_24h_window, send_failed, send_error.
delivery.errorstringThe platform's error message, when there is one. Absent when state is accepted.

Example

{  "status": "success",  "emailed_offline_message": false,  "is_user_online": true,  "delivery": {    "channel": "Whatsapp",    "state": "accepted"  }}

Last updated October 14, 2026