v4

OpenAPI 3.1.02026-08-0255174167.5 KB
messages

Reply to a message

Sends a threaded reply or a reaction targeted at an existing message.

The sender is derived from the target message. The reply goes out from the Dial number the target message belongs to, to the other party of that message — there is no to or fromNumberId. A reply always stays in the conversation the target message is part of.

The request carries exactly one of:

  • body — a text reply. On iMessage numbers it is delivered as a native threaded reply (quoting the target message) when the recipient supports threads, and as a regular message otherwise. On standard numbers it is delivered as a regular SMS.
  • reaction — a reaction to the target message: one of the six reaction names (love, like, dislike, laugh, emphasize, question) or a single emoji (one visible symbol — skin-tone and multi-person emoji count as one; anything else is rejected with 400). On iMessage numbers the reaction is delivered natively (a Tapback). When the recipient can only receive SMS — including everything sent from standard numbers — an emoji reaction is delivered as a regular message whose body is the emoji, and a reaction name is rejected with 400 (names have no SMS rendering; send an emoji instead).

Targets. Any message on the account can be targeted, with one current restriction: on iMessage numbers the target must be an inbound message — replying to your own sent messages isn't supported on those numbers yet. Standard numbers accept targets in both directions. A reaction cannot itself be the target — replying or reacting to a reaction is rejected with 400.

The created message is recorded like any outbound message and billed the same as Send a message. Its replyToId points at the target message; reaction carries the reaction string when one was sent (a reaction delivered natively has an empty body; one delivered as a regular message carries the emoji in body too).

Not idempotent — retrying a failed request can send a duplicate reply. On an ambiguous failure, confirm via List messages before re-sending.

post/api/v1/messages/{messageId}/reply

Path parameters

messageIdstring required

ID of the message to reply or react to (see List messages).

Headers

Authorizationstring required

Your Dial API key, sent as Authorization: Bearer sk_live_...

Request body

bodystring

Reply text. Exactly one of body and reaction is required.

reactionstring

Reaction to send: love, like, dislike, laugh, emphasize, question, or a single emoji. Exactly one of body and reaction is required.

Response

Reply queued. The created message, with replyToId set to the target message's ID.