Auth. HMAC v1 or bearer token — see Authentication.
Status. Live · Idempotent: No (each call posts a fresh tapback).
love ❤, like 👍, dislike 👎, laugh 😂, emphasize ‼, question ❓). The reaction is sent from the same line the original message was sent from, so the recipient sees the tapback attached to the right bubble.
Which id goes in the URL
This is a message-scoped route:{id} is a message_id, not a chat_id. Prefer the Chert-issued message_id returned by POST /api/v1/send, or the message.id returned by POST /api/v1/chats and POST /api/v1/chats/{id}/messages. Chert resolves that id to the underlying iMessage identifier internally before sending the tapback.
For inbound messages and history rows, the
id from GET /api/v1/chats/{id}/messages and inbound message.received webhooks is also accepted.Request
POST /api/v1/messages/{id}/react
Response
Path parameters
string
required
The Chert
message_id returned by a send endpoint, or the message id surfaced on chat-message listings and inbound message.received webhook payloads.Body
enum
required
One of:
love | like | dislike | laugh | emphasize | question. Maps to the six standard iMessage tapbacks.Response fields
string
Always
"sent" on success.string
The Chert
message_id the reaction was attached to.enum
Echoed-back normalized reaction value.
Errors
See the full error code reference.

