Conversations

Send a message

Later turns go out under the same agent as the opening, resolved from the conversation itself rather than from this request. Unknown body fields are rejected rather than ignored.

A CLOSED conversation is still sendable, on purpose — delivering a summary after a flow's closing is a real pattern. The response then carries conversationState: "CLOSED" and a warning, because there are two costs: it bills against the same conversation, so on one the recipient never replied to it can push past the included message count into overage; and Google's 24-hour session runs from the recipient's last message, not from our state, so if theirs was over 24 hours ago this opens a new billable session. Open a new conversation if you want a clean record.

A CLOSED_OPTOUT conversation is not sendable, and never becomes so by asserting consent.

post/v1/conversations/{id}/messages

Request

  • Base URL: https://api.cadencercs.com
  • URL: https://api.cadencercs.com/v1/conversations/{id}/messages
  • Auth: HTTP bearer

Path parameters

idstring required

Conversation id.

Request body

textstring
richCardobject
smsFallbackTextstring
idempotencyKeystring
expiresIninteger
expiresAtstring date-time

Response

Sent.

providerMsgIdstring required
channel'rcs' | 'sms' required

The leg this message actually went out on. Always present, so a rich send that degraded to text is visible from the response alone.

deliveredTextstring

What the recipient received on that leg: the fallback text on SMS, the composed text on RCS.

conversationStatestring

The conversation's state at the time of sending.

warningstring

Present only when sending into a conversation that had already CLOSED — see the description.

Changes

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