Skip to main content
POST
/
api
/
v1
/
iframes
/
{id}
/
conversations
/
{sessionId}
/
messages
Post Operator Message
curl --request POST \
  --url https://api.example.com/api/v1/iframes/{id}/conversations/{sessionId}/messages \
  --header 'Content-Type: application/json' \
  --data '
{
  "content": "<string>"
}
'
{
  "message": {}
}
Posts a message as a human operator into a live embed session. The widget picks it up on its next poll. This does not require the session to be in human takeover — use Take Over to suppress AI replies.

Authentication

Requires a Bearer token (API key) or a dashboard session.

Path Parameters

id
string
required
The widget config UUID.
sessionId
string
required
The session UUID.

Request

content
string
required
The operator message text.

Response

message
object
The inserted message: id, session_id, role (operator), content, operator_user_id, created_at.

Example

curl
curl -X POST https://www.hitheo.ai/api/v1/iframes/CONFIG_ID/conversations/SESSION_ID/messages \
  -H "Authorization: Bearer $THEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "content": "Hi, this is Dana from support — happy to help." }'