Skip to content
V2 (Legacy) API ReferenceGet started
Messaging

Reactions

Add and remove emoji reactions on messages.

React to any message with built-in iMessage tapbacks or custom Unicode emoji. Reactions are an iMessage feature — see Protocol Selection for protocol capabilities. See the Reactions API Reference for the full endpoint specification.

Terminal window
curl -X POST https://api.linqapp.com/api/partner/v3/messages/{messageId}/reactions \
-H "Authorization: Bearer $LINQ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"operation": "add",
"type": "love"
}'

These map to the standard iMessage tapback reactions:

TypeDescription
loveHeart
likeThumbs up
dislikeThumbs down
laughHa ha
emphasizeExclamation marks
questionQuestion mark

Send any Unicode emoji as a reaction:

Terminal window
curl -X POST https://api.linqapp.com/api/partner/v3/messages/{messageId}/reactions \
-H "Authorization: Bearer $LINQ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"operation": "add",
"type": "custom",
"custom_emoji": "😍"
}'

For messages with multiple parts, target a specific part using part_index (0-based):

Terminal window
curl -X POST https://api.linqapp.com/api/partner/v3/messages/{messageId}/reactions \
-H "Authorization: Bearer $LINQ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"operation": "add",
"type": "laugh",
"part_index": 1
}'

If part_index is omitted, the reaction applies to the first part.

Use the same endpoint with "operation": "remove" and the matching type you originally added:

Terminal window
curl -X POST https://api.linqapp.com/api/partner/v3/messages/{messageId}/reactions \
-H "Authorization: Bearer $LINQ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"operation": "remove",
"type": "like"
}'

A contact can attach a sticker to any message part in iMessage. This is distinct from a custom sticker reaction — the type is "sticker" and the payload includes image metadata.

Sticker attachments are inbound only; the API does not support sending them.

They appear inside parts[].reactions[] on the message and trigger a reaction.added event:

{
"parts": [
{
"type": "text",
"value": "Hey yea",
"reactions": [
{
"type": "sticker",
"is_me": false,
"custom_emoji": null,
"sticker": {
"file_name": "sticker-abc123.png",
"mime_type": "image/png",
"url": "https://cdn.linqapp.com/attachments/550e8400/sticker-abc123.png",
"width": 320,
"height": 320
},
"handle": {
"id": "550e8400-e29b-41d4-a716-446655440011",
"handle": "+14155559876",
"is_me": false,
"service": "iMessage",
"status": "active",
"joined_at": "2025-11-23T17:30:00.000Z",
"left_at": null
}
}
]
}
]
}
EventDescription
reaction.addedA reaction was added to a message
reaction.removedA reaction was removed from a message

Webhook payloads include reaction_type, message_id, part_index, and sender information. See Reaction events for full payload details.