Overview
The iMessage resource enables you to send iMessages to iOS users with support for attachments, reactions (tapbacks), typing indicators, read receipts, and conversation history. It includes automatic SMS fallback for non-iMessage users.Sending Messages
Send an iMessage to an iOS device.Parameters
The recipient’s phone number in E.164 format
The message content to send
The sender’s phone number. If not provided, a number will be automatically selected
Array of attachment URLs (images, videos, etc.)
SMS fallback configuration for non-iMessage users
Array of conditions triggering fallback:
imessage_unsupported or imessage_failsOptional different phone number to use for SMS fallback
Enable fast-track delivery for time-sensitive messages
Returns
Replying to Messages
Reply to an incoming iMessage webhook. This method automatically extractsto and from fields from the webhook event.
Parameters
The incoming webhook event object containing
data.to and data.fromSend parameters excluding
to and from (automatically populated from event)Typing Indicators
Show typing indicators to let users know you’re composing a response.Parameters
The recipient’s phone number
Start or stop the typing indicator
The sender’s phone number
Reactions (Tapbacks)
Add or remove iMessage tapbacks (reactions) to messages.Parameters
Whether to add or remove the reaction
Reaction parameters
The recipient’s phone number
The sender’s phone number
The original message text to react to
The tapback type. One of:
love, like, dislike, laugh, emphasize, questionRead Receipts
Mark messages as read.Parameters
The recipient’s phone number
The sender’s phone number
Conversation History
Retrieve message history between two phone numbers.Parameters
The recipient’s phone number
The sender’s phone number
Maximum number of messages to retrieve (default: 20)
Getting a Single Message
Retrieve a specific message by its ID.Parameters
The message ID to retrieve
Complete Conversation Example
Fallback Strategy Example
Error Handling
All methods validate input parameters using Zod schemas and throw validation errors for invalid input.
Best Practices
- Always configure fallback for better delivery rates
- Use typing indicators for natural conversation flow
- Send read receipts to acknowledge received messages
- Limit attachment sizes for faster delivery
- Use fast_track only for truly urgent messages

