## Add or remove a reaction to a message `client.messages.addReaction(stringmessageID, MessageAddReactionParamsbody, RequestOptionsoptions?): MessageAddReactionResponse` **post** `/v3/messages/{messageId}/reactions` Add or remove emoji reactions to messages. Reactions let users express their response to a message without sending a new message. **Supported Reactions:** - love ❤️ - like 👍 - dislike 👎 - laugh 😂 - emphasize ‼️ - question ❓ - custom - any emoji (use `custom_emoji` field to specify) ### Parameters - `messageID: string` - `body: MessageAddReactionParams` - `operation: "add" | "remove"` Whether to add or remove the reaction - `"add"` - `"remove"` - `type: ReactionType` Type of reaction. Standard iMessage tapbacks are love, like, dislike, laugh, emphasize, question. Custom emoji reactions have type "custom" with the actual emoji in the custom_emoji field. Sticker reactions have type "sticker" with sticker attachment details in the sticker field. - `"love"` - `"like"` - `"dislike"` - `"laugh"` - `"emphasize"` - `"question"` - `"custom"` - `"sticker"` - `custom_emoji?: string` Custom emoji string. Required when type is "custom". - `part_index?: number` Optional index of the message part to react to. If not provided, reacts to the entire message (part 0). ### Returns - `MessageAddReactionResponse` - `message?: string` - `status?: string` - `trace_id?: string` ### Example ```typescript import LinqAPIV3 from '@linqapp/sdk'; const client = new LinqAPIV3({ apiKey: process.env['LINQ_API_V3_API_KEY'], // This is the default and can be omitted }); const response = await client.messages.addReaction('69a37c7d-af4f-4b5e-af42-e28e98ce873a', { operation: 'add', type: 'love', }); console.log(response.trace_id); ``` #### Response ```json { "message": "Reaction processed", "status": "accepted", "trace_id": "trace_id" } ```