Skip to navigation

Reply to a message

View as Markdown

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 WhatsApp numbers it is delivered as a native quoted reply (the target message is quoted above the reply). 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). On WhatsApp numbers the reaction is delivered natively too, and a reaction name is mapped to its emoji — 👍 like, ❤️ love, 👎 dislike, 😂 laugh, ‼️ emphasize, ❓ question — so both a name and a single emoji react natively.

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 and WhatsApp numbers accept targets in both directions. On WhatsApp numbers the target may be a group message — the reply or reaction is then delivered to the group; on other channels a group message cannot be the target and is rejected with 400. A reaction cannot itself be the target — replying or reacting to a reaction is rejected with 400.

A body reply on an iMessage number also needs a threadable target. A threaded reply attaches to the target by the message id its channel carries, and only messages delivered over iMessage or RCS carry one. A target that arrived over SMS — the fallback used when the other party has neither — has nothing to attach to, so a body reply to it is rejected with 400. Send a new message instead (POST /api/v1/messages): the same conversation takes it over SMS, it just isn’t quoted on the recipient’s device. A reaction on such a target is unaffected and follows the reaction rules above (an emoji is delivered as a regular message; a reaction name is rejected with 400).

On WhatsApp numbers both forms are native, one-to-one or in a group: a reaction lands on the target message itself, and a body is a quoted reply. A reply carries text only — to send media, send a new message in the same conversation (POST /api/v1/messages).

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.

Authentication

AuthorizationBearer

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

Path parameters

messageIdstringRequired

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

Request

This endpoint expects an object.
bodystringOptional

Reply text. Exactly one of body and reaction is required. On a standard number the same content-size limit as Send a message applies (1530 characters, or 670 if the text uses characters outside the basic SMS alphabet); a longer reply is rejected with 400.

reactionstringOptional

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.

messageobjectOptional

Errors

400
Bad Request Error
401
Unauthorized Error
402
Payment Required Error
403
Forbidden Error
404
Not Found Error
429
Too Many Requests Error