Skip to main content
Replies in a conversation, on the channel you name or where a reply goes by default (see GET /v1/conversations/{contact_id}). It is screened like a reply typed in the Inbox: refused with not_permitted when the person’s consent doesn’t allow it, and with channel_closed when the channel can’t take typed text now. An AI agent on the conversation steps back, as when a person replies.
Needs the conversations:write scope.

Path parameters

Body

Send an Idempotency-Key header to make a retry safe: the same key with the same body is answered once, and the first answer repeated (with Idempotent-Replayed: true).

Request

Response

201 Created — the message sent. Its author is the key that sent it.

Errors

Every refusal is {"error": {"code", "message", "field"}}; field is there when one input is at fault. Any request can also be refused for its key, its account or its rate (key_required, invalid_key, account_suspended, plan_excludes_api, address_not_allowed, rate_limited); see the overview.