Edit the content of a message part
PATCH/v3/messages/{messageId}
Edit the text content of a specific part of a previously sent message.
Note: A message can be edited up to 5 times, and only within 15 minutes of when it was originally sent.
Edit the content of a message part
curl https://api.linqapp.com/api/partner/v3/messages/$MESSAGE_ID \
-X PATCH \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $LINQ_API_V3_API_KEY" \
-d '{
"text": "This is the edited message content"
}'{
"id": "69a37c7d-af4f-4b5e-af42-e28e98ce873a",
"chat_id": "94c6bf33-31d9-40e3-a0e9-f94250ecedb9",
"created_at": "2024-01-15T10:30:00Z",
"is_delivered": true,
"is_from_me": true,
"is_read": false,
"updated_at": "2024-01-15T10:30:00Z",
"delivered_at": "2024-01-15T10:30:10Z",
"effect": {
"name": "confetti",
"type": "screen"
},
"from": "+12052535597",
"from_handle": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"handle": "+15551234567",
"joined_at": "2025-05-21T15:30:00.000-05:00",
"service": "iMessage",
"is_me": false,
"left_at": "2019-12-27T18:11:19.117Z",
"status": "active"
},
"parts": [
{
"reactions": [
{
"handle": {
"id": "69a37c7d-af4f-4b5e-af42-e28e98ce873a",
"handle": "+15551234567",
"joined_at": "2025-05-21T15:30:00.000-05:00",
"service": "iMessage",
"is_me": false,
"left_at": "2019-12-27T18:11:19.117Z",
"status": "active"
},
"is_me": false,
"type": "love",
"custom_emoji": null,
"sticker": {
"file_name": "sticker.png",
"height": 420,
"mime_type": "image/png",
"url": "https://cdn.linqapp.com/attachments/a1b2c3d4/sticker.png?signature=...",
"width": 420
}
}
],
"type": "text",
"value": "Hello!",
"text_decorations": [
{
"range": [
0,
5
],
"animation": "shake",
"style": "bold"
}
]
}
],
"preferred_service": "iMessage",
"read_at": "2024-01-15T10:35:00Z",
"reply_to": {
"message_id": "550e8400-e29b-41d4-a716-446655440000",
"part_index": 0
},
"sent_at": "2024-01-15T10:30:05Z",
"service": "iMessage"
}{
"error": {
"status": 400,
"code": 1002,
"message": "Phone number must be in E.164 format"
},
"success": false
}{
"error": {
"status": 401,
"code": 2004,
"message": "Unauthorized - missing or invalid authentication token"
},
"success": false
}{
"error": {
"status": 403,
"code": 2005,
"message": "Access denied - insufficient permissions for this resource"
},
"success": false
}{
"error": {
"status": 404,
"code": 2001,
"message": "Resource not found"
},
"success": false
}{
"error": {
"status": 500,
"code": 3006,
"message": "Internal server error"
},
"success": false
}Returns Examples
{
"id": "69a37c7d-af4f-4b5e-af42-e28e98ce873a",
"chat_id": "94c6bf33-31d9-40e3-a0e9-f94250ecedb9",
"created_at": "2024-01-15T10:30:00Z",
"is_delivered": true,
"is_from_me": true,
"is_read": false,
"updated_at": "2024-01-15T10:30:00Z",
"delivered_at": "2024-01-15T10:30:10Z",
"effect": {
"name": "confetti",
"type": "screen"
},
"from": "+12052535597",
"from_handle": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"handle": "+15551234567",
"joined_at": "2025-05-21T15:30:00.000-05:00",
"service": "iMessage",
"is_me": false,
"left_at": "2019-12-27T18:11:19.117Z",
"status": "active"
},
"parts": [
{
"reactions": [
{
"handle": {
"id": "69a37c7d-af4f-4b5e-af42-e28e98ce873a",
"handle": "+15551234567",
"joined_at": "2025-05-21T15:30:00.000-05:00",
"service": "iMessage",
"is_me": false,
"left_at": "2019-12-27T18:11:19.117Z",
"status": "active"
},
"is_me": false,
"type": "love",
"custom_emoji": null,
"sticker": {
"file_name": "sticker.png",
"height": 420,
"mime_type": "image/png",
"url": "https://cdn.linqapp.com/attachments/a1b2c3d4/sticker.png?signature=...",
"width": 420
}
}
],
"type": "text",
"value": "Hello!",
"text_decorations": [
{
"range": [
0,
5
],
"animation": "shake",
"style": "bold"
}
]
}
],
"preferred_service": "iMessage",
"read_at": "2024-01-15T10:35:00Z",
"reply_to": {
"message_id": "550e8400-e29b-41d4-a716-446655440000",
"part_index": 0
},
"sent_at": "2024-01-15T10:30:05Z",
"service": "iMessage"
}{
"error": {
"status": 400,
"code": 1002,
"message": "Phone number must be in E.164 format"
},
"success": false
}{
"error": {
"status": 401,
"code": 2004,
"message": "Unauthorized - missing or invalid authentication token"
},
"success": false
}{
"error": {
"status": 403,
"code": 2005,
"message": "Access denied - insufficient permissions for this resource"
},
"success": false
}{
"error": {
"status": 404,
"code": 2001,
"message": "Resource not found"
},
"success": false
}{
"error": {
"status": 500,
"code": 3006,
"message": "Internal server error"
},
"success": false
}