Messages

Get a message by ID

Retrieve a specific message by its ID. This endpoint returns the full message details including text, attachments, reactions, and metadata.

get/v3/messages/{messageId}

Request

  • Base URL: https://api.linqapp.com/api/partner
  • URL: https://api.linqapp.com/api/partner/v3/messages/{messageId}
  • Auth: HTTP bearer

Path parameters

messageIdstring uuid required
Example:69a37c7d-af4f-4b5e-af42-e28e98ce873a

Unique identifier of the message to retrieve

Response

Message found and returned successfully

idstring uuid required

Unique identifier for the message

chat_idstring uuid required

ID of the chat this message belongs to

service'iMessage' | 'SMS' | 'RCS'

Messaging service type. Where this names the transport a message used, it is per-message: a chat's own service can differ from a message in it, and Apple can downgrade an individual message.

preferred_service'iMessage' | 'SMS' | 'RCS'

Messaging service type. Where this names the transport a message used, it is per-message: a chat's own service can differ from a message in it, and Apple can downgrade an individual message.

fromstring nullable

DEPRECATED: Use from_handle instead. Phone number of the message sender.

is_from_meboolean required

Whether this message was sent by the authenticated user

is_deliveredboolean required

DEPRECATED: Use delivery_status instead (true when delivery_status is delivered or read). Whether the message has been delivered.

is_readboolean required

DEPRECATED: Use delivery_status == "read" instead. Whether the message has been read.

delivery_status'pending' | 'queued' | 'sent' | 'delivered' | 'received' | 'read' | 'failed' required

Current delivery status of a message

created_atstring date-time required

When the message was created

updated_atstring date-time required

When the message was last updated

sent_atstring date-time nullable

When the message was sent

delivered_atstring date-time nullable

When the message was delivered

read_atstring date-time nullable

When the message was read

reconciled_atstring date-time

Present only when this message was recovered by reconciliation rather than delivered live, and set to the time of that recovery. The field is omitted entirely for normally-delivered messages, which is the overwhelming majority. When present, expect sent_at to be substantially earlier — the message is genuine but was ingested late, so it may not have appeared in earlier reads of this conversation.

Example response

{
  "id": "69a37c7d-af4f-4b5e-af42-e28e98ce873a",
  "chat_id": "94c6bf33-31d9-40e3-a0e9-f94250ecedb9",
  "service": "iMessage",
  "preferred_service": "iMessage",
  "from": "+12052535597",
  "from_handle": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "handle": "+15551234567",
    "service": "iMessage",
    "joined_at": "2025-05-21T15:30:00.000-05:00",
    "line_type": "iMessage"
  },
  "parts": [
    {
      "type": "text",
      "value": "Hello!"
    }
  ],
  "reply_to": {
    "message_id": "550e8400-e29b-41d4-a716-446655440000"
  },
  "is_from_me": true,
  "is_delivered": true,
  "delivery_status": "pending",
  "created_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-15T10:30:00Z",
  "sent_at": "2024-01-15T10:30:05Z",
  "delivered_at": "2024-01-15T10:30:10Z",
  "read_at": "2024-01-15T10:35:00Z",
  "reconciled_at": "2024-01-15T14:05:00Z",
  "effect": {
    "type": "screen",
    "name": "confetti"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.