React to a message

Add, change, or remove a reaction. It comes from the line that owns the conversation. Custom emoji need a compatible iMessage or RCS line. RCS reactions never fall back to SMS. On SMS, a reaction is sent as a text. Use a new idempotency key for each change. Scope: comms_send.

post/messages/{message_id}/reactions

Request

  • Base URL: https://osis.co/api/v1/comms
  • URL: https://osis.co/api/v1/comms/messages/{message_id}/reactions
  • Auth: HTTP bearer

Path parameters

message_idstring required

The message's msg_… ID, from List messages.

Headers

Idempotency-Keystring

Request body

typestring required

love, like, dislike, laugh, emphasize, or question for a standard reaction. custom (with emoji) for any emoji. You can also pass a single emoji or a shortcode like :saluting_face: here.

emojistring

Only for type custom. Send one emoji, like 🫡 or ✅. Shortcodes don't work here. To remove a custom reaction, send the same emoji you added.

action'added' | 'removed'

added adds a reaction or replaces the line's current one. removed takes it off.

replace_typestring

The reaction to remove before adding this one. Only works with action added.

idempotency_keystring

Same as the Idempotency-Key header. If you send both, the header wins. Use a new key for each change and the same key to retry it. Reusing a key for a different request returns idempotency_conflict.

Example request

{
  "emoji": "🫡"
}

Response

Already done with this idempotency key

duplicateboolean required
transport'imessage_native' | 'imessage_text' | 'rcs_native' | 'rcs_text' | 'sms_intercept' | 'unknown' | 'whatsapp_native' required

How the reaction was sent. This doesn't confirm the recipient got it.

Changes

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