Skip to main content
POST
/
v1
/
hitl
/
handoffs
/
{handoff_id}
/
messages
Relay an operator message on a handed-off conversation
curl --request POST \
  --url https://api-sandbox.featherhq.com/v1/hitl/handoffs/{handoff_id}/messages \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "content": "<string>"
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "conversation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "seq": 123,
  "role": "<string>",
  "content": "<string>",
  "authored_by": "<string>",
  "operator_actor_id": "<string>",
  "created_at": "2023-11-07T05:31:56Z"
}

Authorizations

x-api-key
string
header
required

Path Parameters

handoff_id
string<uuid>
required

Body

application/json

Body for the operator-relay mutation (POST …/messages).

The relaying operator's identity comes from auth, not the body — only the message text the operator wants to send the end-user.

content
string
required
Minimum string length: 1

Response

Successful Response

The persisted operator-relay conv_messages row (HITL-04 §6.4.1).

Returned by the relay endpoint so the operator UI can immediately render the message it just sent (with its allocated seq watermark) without a follow-up poll.

id
string<uuid>
required
conversation_id
string<uuid>
required
seq
integer
required
role
string
required
content
string | null
required
authored_by
string
required
operator_actor_id
string | null
required
created_at
string<date-time>
required