Linq

Use Linq to send and read messages over iMessage, SMS, and RCS with an API key.

The 34 operations cover chats, messages, attachments, phone numbers, capability checks, contact cards, and webhook subscriptions. Send media, link previews, effects, tapback reactions, inline replies, voice memos, or edited messages; and manage group participants, names, and icons.

Check iMessage or RCS capability before selecting a preferred service. Upload attachments up to the operation's 100 MB limit. Webhook subscriptions cover message, reaction, participant, and call events, with HMAC-SHA256 signature verification.

Use the block

Reach people on iMessage, SMS, and RCS through Linq. Start chats, send messages with media, links, effects, and replies, send voice memos, react with tapbacks, manage group participants, check iMessage/RCS capability, configure contact cards, and subscribe to webhook events — all through a single Linq API key.

Actions

Add Participant

Add a participant to a group chat (3+ existing participants)

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
chatIdstringYesThe unique identifier of the group chat
handlestringYesPhone number (E.164 format) or email address of the participant to add

Output

ParameterTypeDescription
messagestringHuman-readable status message
statusstringQueued action status
traceIdstringTrace ID for the queued action

Check iMessage Capability

Check whether an address (phone number or email) supports iMessage

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
addressstringYesPhone number (E.164 format) or email address to check
fromstringNoSender phone number to check from (defaults to an available number)

Output

ParameterTypeDescription
addressstringThe address that was checked
availablebooleanWhether the address supports iMessage

Check RCS Capability

Check whether an address (phone number or email) supports RCS

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
addressstringYesPhone number (E.164 format) to check
fromstringNoSender phone number to check from (defaults to an available number)

Output

ParameterTypeDescription
addressstringThe address that was checked
availablebooleanWhether the address supports RCS

Upload Attachment

Upload a file to Linq as a reusable attachment (max 100MB) and get an attachment ID to send in messages

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
filefileNoFile to upload (a UserFile from a file-upload field or a previous block)
filenamestringNoOverride the file name (defaults to the uploaded file name)
contentTypestringNoOverride the MIME type (defaults to the uploaded file type)

Output

ParameterTypeDescription
attachmentIdstringReusable attachment ID to reference when sending messages or voice memos
downloadUrlstringURL the attachment can be downloaded from
filenamestringFile name
contentTypestringMIME type of the file
sizeBytesnumberFile size in bytes
statusstringUpload status

Create Chat

Start a new iMessage, SMS, or RCS chat and send the first message

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
fromstringYesSender phone number in E.164 format (e.g. +14155551234)
toarrayYesRecipient handles (phone numbers in E.164 format or email addresses)
textstringNoText content of the first message. Optional, but at least one of text, media, attachment, or link is required
mediaUrlstringNoOptional publicly accessible HTTPS URL of an image, video, or file to attach
attachmentIdstringNoOptional ID of a pre-uploaded attachment to send instead of a media URL
preferredServicestringNoPreferred delivery service: iMessage, SMS, or RCS
effectNamestringNoOptional iMessage effect name (e.g. confetti, fireworks, lasers)
effectTypestringNoOptional effect type: screen or bubble
replyToMessageIdstringNoOptional message ID to reply to inline
replyToPartIndexnumberNoOptional part index of the message being replied to
idempotencyKeystringNoOptional idempotency key to safely retry the request

Output

ParameterTypeDescription
chatIdstringID of the created chat
displayNamestringDisplay name of the chat
isGroupbooleanWhether the chat is a group chat
servicestringDelivery service used (iMessage, SMS, RCS)
handlesjsonParticipant handles in the chat
healthStatusjsonMessaging line health status
messagejsonThe sent message object with parts and delivery info

Create Contact Card

Set up a contact card (Name and Photo Sharing) for a phone number

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
phoneNumberstringYesPhone number in E.164 format the card applies to
firstNamestringYesFirst name to display
lastNamestringNoLast name to display
imageUrlstringNoProfile photo URL

Output

ParameterTypeDescription
phoneNumberstringPhone number the card applies to
firstNamestringFirst name
lastNamestringLast name
imageUrlstringProfile photo URL
isActivebooleanWhether the card is active

Create Webhook Subscription

Subscribe an HTTPS endpoint to Linq webhook events

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
targetUrlstringYesHTTPS endpoint that will receive webhook events
subscribedEventsarrayYesEvent types to subscribe to (e.g. message.sent, message.delivered)
phoneNumbersarrayNoE.164 phone numbers to filter events by (omit for all numbers)

Output

ParameterTypeDescription
idstringSubscription ID
targetUrlstringEndpoint that receives events
subscribedEventsjsonSubscribed event types
phoneNumbersjsonFiltered phone numbers (null = all)
isActivebooleanWhether the subscription is active
createdAtstringISO 8601 creation timestamp
updatedAtstringISO 8601 update timestamp
signingSecretstringHMAC-SHA256 signing secret. Store securely — it cannot be retrieved again

Delete Attachment

Permanently delete an attachment owned by your account

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
attachmentIdstringYesThe unique identifier of the attachment to delete

Output

ParameterTypeDescription
successbooleanWhether the attachment was deleted

Delete Message

Delete a message from the Linq API only (does not unsend it; recipients still see it)

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
messageIdstringYesThe unique identifier of the message to delete

Output

ParameterTypeDescription
successbooleanWhether the message was deleted

Delete Webhook Subscription

Delete a webhook subscription from your account

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
subscriptionIdstringYesThe unique identifier of the webhook subscription to delete

Output

ParameterTypeDescription
successbooleanWhether the subscription was deleted

Edit Message

Edit the text of a sent message (up to 5 times, within 15 minutes of sending; iMessage only)

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
messageIdstringYesThe unique identifier of the message to edit
textstringYesNew text content for the message part
partIndexnumberNoIndex of the message part to edit (defaults to 0)

Output

ParameterTypeDescription
idstringMessage ID
chatIdstringID of the chat the message belongs to
isFromMebooleanWhether the message was sent by you
deliveryStatusstringDelivery status (pending, queued, sent, delivered, received, read, failed)
isDeliveredbooleanWhether the message was delivered (deprecated; use deliveryStatus)
isReadbooleanWhether the message was read (deprecated; use deliveryStatus)
servicestringDelivery service (iMessage, SMS, RCS)
createdAtstringISO 8601 creation timestamp
updatedAtstringISO 8601 update timestamp
sentAtstringISO 8601 sent timestamp
partsjsonUpdated message parts with reactions
messagejsonThe full updated message object

Get Attachment

Retrieve metadata for an attachment, including its download URL and status

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
attachmentIdstringYesThe unique identifier of the attachment

Output

ParameterTypeDescription
idstringAttachment ID
filenamestringFile name
contentTypestringMIME type of the file
sizeBytesnumberFile size in bytes
statusstringUpload status (pending, complete, failed)
downloadUrlstringURL to download the file
createdAtstringISO 8601 creation timestamp

Get Chat

Retrieve a chat by ID, including participants and line health

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
chatIdstringYesThe unique identifier of the chat

Output

ParameterTypeDescription
idstringChat ID
displayNamestringDisplay name of the chat
isGroupbooleanWhether the chat is a group chat
isArchivedbooleanWhether the chat is archived
servicestringDelivery service (iMessage, SMS, RCS)
createdAtstringISO 8601 creation timestamp
updatedAtstringISO 8601 update timestamp
handlesjsonParticipant handles in the chat
healthStatusjsonMessaging line health status

Get Contact Card

Retrieve contact cards, optionally filtered by phone number

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
phoneNumberstringNoE.164 phone number to filter by (omit to return all cards)

Output

ParameterTypeDescription
contactCardsarrayContact cards on the account
↳ phoneNumberstringPhone number in E.164 format
↳ firstNamestringFirst name
↳ lastNamestringLast name
↳ imageUrlstringProfile photo URL
↳ isActivebooleanWhether the card is active

Get Message

Retrieve a single message by ID, including parts, reactions, and delivery status

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
messageIdstringYesThe unique identifier of the message

Output

ParameterTypeDescription
idstringMessage ID
chatIdstringID of the chat the message belongs to
isFromMebooleanWhether the message was sent by you
deliveryStatusstringDelivery status (pending, queued, sent, delivered, received, read, failed)
isDeliveredbooleanWhether the message was delivered (deprecated; use deliveryStatus)
isReadbooleanWhether the message was read (deprecated; use deliveryStatus)
servicestringDelivery service (iMessage, SMS, RCS)
createdAtstringISO 8601 creation timestamp
updatedAtstringISO 8601 update timestamp
sentAtstringISO 8601 sent timestamp
partsjsonMessage parts (text, media, link) with reactions
messagejsonThe full message object

Get Webhook Subscription

Retrieve a webhook subscription by ID

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
subscriptionIdstringYesThe unique identifier of the webhook subscription

Output

ParameterTypeDescription
idstringSubscription ID
targetUrlstringEndpoint that receives events
subscribedEventsjsonSubscribed event types
phoneNumbersjsonFiltered phone numbers (null = all)
isActivebooleanWhether the subscription is active
createdAtstringISO 8601 creation timestamp
updatedAtstringISO 8601 update timestamp

Leave Chat

Leave an iMessage group chat (4+ active participants; not supported for direct chats)

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
chatIdstringYesThe unique identifier of the group chat

Output

ParameterTypeDescription
messagestringHuman-readable status message
statusstringQueued action status (e.g. accepted)
traceIdstringTrace ID for the queued action

List Chats

List chats, optionally filtered by sender or participant handle

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
fromstringNoFilter by sender phone number in E.164 format
tostringNoFilter by participant handle (phone number or email)
limitnumberNoResults per page (default 20, max 100)
cursorstringNoPagination cursor from a previous response

Output

ParameterTypeDescription
chatsjsonArray of chat objects
nextCursorstringCursor for the next page, or null if there are no more results

List Messages

List messages in a chat with pagination

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
chatIdstringYesThe unique identifier of the chat
limitnumberNoMaximum number of messages to return
cursorstringNoPagination cursor from a previous response

Output

ParameterTypeDescription
messagesjsonArray of message objects with parts and reactions
nextCursorstringCursor for the next page, or null if there are no more results

List Phone Numbers

List all phone numbers assigned to your partner account, with line health

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key

Output

ParameterTypeDescription
phoneNumbersarrayPhone numbers assigned to the account
↳ idstringPhone number ID
↳ phoneNumberstringPhone number in E.164 format
↳ forwardingNumberstringForwarding number in E.164 format, or null
↳ healthStatusjsonLine reputation/health status (status, doc_url)

List Thread Messages

List all messages in the thread that contains a given message

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
messageIdstringYesThe ID of any message in the thread
orderstringNoSort order: asc (oldest first) or desc (newest first)
limitnumberNoMaximum number of messages to return
cursorstringNoPagination cursor from a previous response

Output

ParameterTypeDescription
messagesjsonArray of message objects in the thread
nextCursorstringCursor for the next page, or null if there are no more results

List Webhook Events

List all webhook event types available to subscribe to

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key

Output

ParameterTypeDescription
eventsjsonAvailable webhook event type names
docUrlstringDocumentation URL for webhook events

List Webhook Subscriptions

List all webhook subscriptions on your account

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key

Output

ParameterTypeDescription
subscriptionsarrayWebhook subscriptions
↳ idstringSubscription ID
↳ targetUrlstringEndpoint that receives events
↳ subscribedEventsjsonSubscribed event types
↳ phoneNumbersjsonFiltered phone numbers (null = all)
↳ isActivebooleanWhether the subscription is active
↳ createdAtstringISO 8601 creation timestamp
↳ updatedAtstringISO 8601 update timestamp

Mark Chat as Read

Mark messages in a chat as read (only applies to 1:1 iMessage/RCS; no effect on group chats)

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
chatIdstringYesThe unique identifier of the chat

Output

ParameterTypeDescription
successbooleanWhether the chat was marked as read

React to Message

Add or remove a tapback reaction on a message

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
messageIdstringYesThe unique identifier of the message to react to
operationstringYesWhether to add or remove the reaction: add or remove
typestringYesReaction type: love, like, dislike, laugh, emphasize, question, custom, or sticker
customEmojistringNoEmoji to use when type is custom
partIndexnumberNoIndex of the message part to react to (defaults to the entire message)

Output

ParameterTypeDescription
messagestringHuman-readable status message
statusstringQueued action status
traceIdstringTrace ID for the queued action

Remove Participant

Remove a participant from a group chat (minimum 3 participants must remain)

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
chatIdstringYesThe unique identifier of the group chat
handlestringYesPhone number (E.164 format) or email address of the participant to remove

Output

ParameterTypeDescription
messagestringHuman-readable status message
statusstringQueued action status
traceIdstringTrace ID for the queued action

Send Message

Send a message to an existing chat, with optional media, link, effect, or reply

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
chatIdstringYesThe unique identifier of the chat
textstringNoText content of the message. Optional, but at least one of text, media, attachment, or link is required
mediaUrlstringNoOptional publicly accessible HTTPS URL of an image, video, or file to attach
attachmentIdstringNoOptional ID of a pre-uploaded attachment to send instead of a media URL
linkUrlstringNoOptional URL to send as a rich link preview. Linq requires a link to be its own message, so when set, text and media are ignored
preferredServicestringNoPreferred delivery service: iMessage, SMS, or RCS
effectNamestringNoOptional iMessage effect name (e.g. confetti, fireworks, lasers)
effectTypestringNoOptional effect type: screen or bubble
replyToMessageIdstringNoOptional message ID to reply to inline
replyToPartIndexnumberNoOptional part index of the message being replied to
idempotencyKeystringNoOptional idempotency key to safely retry the request

Output

ParameterTypeDescription
chatIdstringID of the chat the message was sent to
messageIdstringID of the sent message
deliveryStatusstringDelivery status (pending, queued, sent, delivered, received, read, failed)
sentAtstringISO 8601 timestamp the message was sent
servicestringDelivery service (iMessage, SMS, RCS)
messagejsonThe full sent message object with parts

Send Voice Memo

Send a voice memo to a chat from a URL or a pre-uploaded attachment

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
chatIdstringYesThe unique identifier of the chat
voiceMemoUrlstringNoPublicly accessible HTTPS URL of the audio file (MP3, M4A, AAC, CAF, WAV, AIFF, AMR)
attachmentIdstringNoID of a pre-uploaded audio attachment (use instead of voiceMemoUrl)

Output

ParameterTypeDescription
idstringID of the sent voice memo message
statusstringDelivery status
fromstringSender handle
tojsonRecipient handles
servicestringDelivery service (iMessage, SMS, RCS)
voiceMemojsonAudio file metadata (id, filename, mime_type, size_bytes, url, duration_ms)

Share Contact Card

Share your configured contact card (Name and Photo Sharing) with a chat

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
chatIdstringYesThe unique identifier of the chat

Output

ParameterTypeDescription
successbooleanWhether the contact card was shared

Start Typing Indicator

Show a typing indicator in a one-on-one chat (iMessage only, not group chats)

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
chatIdstringYesThe unique identifier of the chat

Output

ParameterTypeDescription
successbooleanWhether the typing indicator was sent

Stop Typing Indicator

Stop the typing indicator in a one-on-one chat (iMessage only, not group chats)

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
chatIdstringYesThe unique identifier of the chat

Output

ParameterTypeDescription
successbooleanWhether the typing indicator was stopped

Update Chat

Update chat properties such as group display name and icon

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
chatIdstringYesThe unique identifier of the chat
displayNamestringNoNew display name for the group chat
groupChatIconstringNoNew group chat icon (publicly accessible image URL)

Output

ParameterTypeDescription
chatIdstringID of the updated chat
statusstringStatus of the queued update

Update Contact Card

Partially update an existing active contact card for a phone number

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
phoneNumberstringYesPhone number in E.164 format identifying the card to update
firstNamestringNoNew first name
lastNamestringNoNew last name
imageUrlstringNoNew profile photo URL

Output

ParameterTypeDescription
phoneNumberstringPhone number the card applies to
firstNamestringFirst name
lastNamestringLast name
imageUrlstringProfile photo URL
isActivebooleanWhether the card is active

Update Webhook Subscription

Update a webhook subscription (target URL, events, phone filter, or active state)

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesLinq API key
subscriptionIdstringYesThe unique identifier of the webhook subscription
targetUrlstringNoNew HTTPS endpoint that will receive events
subscribedEventsarrayNoNew set of event types to subscribe to
phoneNumbersarrayNoNew set of E.164 phone numbers to filter by
isActivebooleanNoWhether the subscription should be active

Output

ParameterTypeDescription
idstringSubscription ID
targetUrlstringEndpoint that receives events
subscribedEventsjsonSubscribed event types
phoneNumbersjsonFiltered phone numbers (null = all)
isActivebooleanWhether the subscription is active
createdAtstringISO 8601 creation timestamp
updatedAtstringISO 8601 update timestamp

Triggers

A trigger starts a workflow when a supported event occurs in this service.

Linq Message Delivered

Trigger workflow when a message is delivered

Configuration

ParameterTypeRequiredDescription
triggerApiKeystringYesRequired to create the webhook subscription in Linq.
triggerPhoneNumbersstringNoComma-separated E.164 numbers to restrict which numbers deliver events.

Output

ParameterTypeDescription
eventTypestringEvent type (e.g. message.received, message.delivered, reaction.added)
eventIdstringUnique event identifier used for deduplication
createdAtstringISO 8601 timestamp of when the event occurred
webhookVersionstringPayload schema version of the delivered event
datajsonFull event payload (shape varies by event type — message, reaction, chat, etc.)

Linq Message Failed

Trigger workflow when a message fails to deliver

Configuration

ParameterTypeRequiredDescription
triggerApiKeystringYesRequired to create the webhook subscription in Linq.
triggerPhoneNumbersstringNoComma-separated E.164 numbers to restrict which numbers deliver events.

Output

ParameterTypeDescription
eventTypestringEvent type (e.g. message.received, message.delivered, reaction.added)
eventIdstringUnique event identifier used for deduplication
createdAtstringISO 8601 timestamp of when the event occurred
webhookVersionstringPayload schema version of the delivered event
datajsonFull event payload (shape varies by event type — message, reaction, chat, etc.)

Linq Message Read

Trigger workflow when a message is read

Configuration

ParameterTypeRequiredDescription
triggerApiKeystringYesRequired to create the webhook subscription in Linq.
triggerPhoneNumbersstringNoComma-separated E.164 numbers to restrict which numbers deliver events.

Output

ParameterTypeDescription
eventTypestringEvent type (e.g. message.received, message.delivered, reaction.added)
eventIdstringUnique event identifier used for deduplication
createdAtstringISO 8601 timestamp of when the event occurred
webhookVersionstringPayload schema version of the delivered event
datajsonFull event payload (shape varies by event type — message, reaction, chat, etc.)

Linq Message Received

Trigger workflow when an inbound message is received

Configuration

ParameterTypeRequiredDescription
triggerApiKeystringYesRequired to create the webhook subscription in Linq.
triggerPhoneNumbersstringNoComma-separated E.164 numbers to restrict which numbers deliver events.

Output

ParameterTypeDescription
eventTypestringEvent type (e.g. message.received, message.delivered, reaction.added)
eventIdstringUnique event identifier used for deduplication
createdAtstringISO 8601 timestamp of when the event occurred
webhookVersionstringPayload schema version of the delivered event
datajsonFull event payload (shape varies by event type — message, reaction, chat, etc.)

Linq Reaction Added

Trigger workflow when a reaction is added to a message

Configuration

ParameterTypeRequiredDescription
triggerApiKeystringYesRequired to create the webhook subscription in Linq.
triggerPhoneNumbersstringNoComma-separated E.164 numbers to restrict which numbers deliver events.

Output

ParameterTypeDescription
eventTypestringEvent type (e.g. message.received, message.delivered, reaction.added)
eventIdstringUnique event identifier used for deduplication
createdAtstringISO 8601 timestamp of when the event occurred
webhookVersionstringPayload schema version of the delivered event
datajsonFull event payload (shape varies by event type — message, reaction, chat, etc.)

Linq Webhook (All Events)

Trigger on any Linq webhook event (messages, reactions, chats, and more)

Configuration

ParameterTypeRequiredDescription
triggerApiKeystringYesRequired to create the webhook subscription in Linq.
triggerPhoneNumbersstringNoComma-separated E.164 numbers to restrict which numbers deliver events.

Output

ParameterTypeDescription
eventTypestringEvent type (e.g. message.received, message.delivered, reaction.added)
eventIdstringUnique event identifier used for deduplication
createdAtstringISO 8601 timestamp of when the event occurred
webhookVersionstringPayload schema version of the delivered event
datajsonFull event payload (shape varies by event type — message, reaction, chat, etc.)