Skip to content
V2 (Legacy) API ReferenceGet started

Protocol Selection

Choose between iMessage, RCS, and SMS for message delivery.

The Linq API supports sending messages via iMessage, RCS, and SMS. You can let the API automatically select the best protocol or explicitly choose one. See the Create Chat API reference for the full specification.

When preferred_service is omitted, the API uses the full fallback chain: iMessage → RCS → SMS.

Use preferred_service inside the message object to control which protocol is used:

ValueBehavior
iMessageiMessage only. No fallback — send fails if the recipient is unavailable on iMessage.
RCSRCS if supported, otherwise SMS. Never uses iMessage.
SMSRCS if supported, otherwise SMS. Never uses iMessage.

preferred_service vs service: preferred_service is what you requested. The service field on the response is what was actually used for delivery.

Terminal window
curl -X POST https://api.linqapp.com/api/partner/v3/chats \
-H "Authorization: Bearer $LINQ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": "+12223334444",
"to": ["+15556667777"],
"message": {
"preferred_service": "iMessage",
"parts": [
{ "type": "text", "value": "This will be sent via iMessage" }
]
}
}'
const chat = await client.chats.create({
from: '+12223334444',
to: ['+15556667777'],
message: {
preferred_service: 'iMessage',
parts: [{ type: 'text', value: 'This will be sent via iMessage' }],
},
});
chat = client.chats.create(
from_="+12223334444",
to=["+15556667777"],
message={
"preferred_service": "iMessage",
"parts": [{"type": "text", "value": "This will be sent via iMessage"}],
},
)

Not all features are available on every protocol:

FeatureiMessageRCSSMS
Text messagesYesYesYes
Images & videoYesYesMMS
Read receiptsYesYesNo
Delivery receiptsYesYesNo
Typing indicatorsYesNoNo
Reactions / tapbacksYesYesNo
Message effectsYesNoNo
Group chatsYesYesMMS
Message threadingYesNoNo
Rich link previewsYesYesNo
Voice memosYesYesNo
File attachments (100MB)YesLimitedNo
Text decorationsYesNoNo
  • iMessage — When you need Apple-exclusive features like message effects or text decorations. Be aware: delivery fails if the recipient isn’t on iMessage.
  • RCS — When you want rich messaging on Android (reactions, read receipts, threading) but still want SMS as a fallback.
  • SMS — Equivalent to RCS in behavior: uses RCS if supported, otherwise SMS. Never iMessage.
  • Omit — Best for maximum reach. The API picks the richest available protocol automatically.

Note: Use the capability check endpoints to verify recipient support before specifying iMessage. See Capability Checks for details.