Returns the ticket's conversation — yours and ours — merged across its parent chain.
GET
/v1/integration/tickets/{id}/messages
const url = 'https://api.example.com/v1/integration/tickets/1/messages';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.example.com/v1/integration/tickets/1/messagesOldest first. Pass afterId with the highest id you have already stored to poll incrementally. A ticket that continued in a child returns the whole chain, each entry tagged with the ticketId and trackingKey it belongs to. Every ticket in that chain is checked against your token’s pool scope, not just the one you addressed: an ancestor that has since been moved to a pool your token cannot see is left out entirely.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”id
required
integer format: int64
Query Parameters
Section titled “Query Parameters”afterId
integer format: int64
Responses
Section titled “Responses”OK
object
data
Array<object>
object
id
required
ticketId
required
trackingKey
required
string
direction
required
string
channel
required
string
subject
required
string
content
required
string
contentHtml
string
isContentTruncated
required
boolean
occurredAt
required
string format: date-time
attachments
required
Array<object>
object
id
required
fileName
required
string
contentType
required
string
sizeBytes
required
downloadUrl
required
string
success
boolean
error
One of:
object
status
code
string
details
message
string
object
data
Array<object>
object
id
required
ticketId
required
trackingKey
required
string
direction
required
string
channel
required
string
subject
required
string
content
required
string
contentHtml
string
isContentTruncated
required
boolean
occurredAt
required
string format: date-time
attachments
required
Array<object>
object
id
required
fileName
required
string
contentType
required
string
sizeBytes
required
downloadUrl
required
string
success
boolean
error
One of:
object
status
code
string
details
message
string
Examplegenerated
{ "data": [ { "id": "example", "ticketId": "example", "trackingKey": "example", "direction": "example", "channel": "example", "subject": "example", "content": "example", "contentHtml": "example", "isContentTruncated": true, "occurredAt": "2026-04-15T12:00:00Z", "attachments": [ { "id": "example", "fileName": "example", "contentType": "example", "sizeBytes": "example", "downloadUrl": "example" } ] } ], "success": true, "error": { "status": "example", "code": "example", "details": "example", "message": "example" }}object
data
Array<object>
object
id
required
ticketId
required
trackingKey
required
string
direction
required
string
channel
required
string
subject
required
string
content
required
string
contentHtml
string
isContentTruncated
required
boolean
occurredAt
required
string format: date-time
attachments
required
Array<object>
object
id
required
fileName
required
string
contentType
required
string
sizeBytes
required
downloadUrl
required
string
success
boolean
error
One of:
object
status
code
string
details
message
string
Examplegenerated
{ "data": [ { "id": "example", "ticketId": "example", "trackingKey": "example", "direction": "example", "channel": "example", "subject": "example", "content": "example", "contentHtml": "example", "isContentTruncated": true, "occurredAt": "2026-04-15T12:00:00Z", "attachments": [ { "id": "example", "fileName": "example", "contentType": "example", "sizeBytes": "example", "downloadUrl": "example" } ] } ], "success": true, "error": { "status": "example", "code": "example", "details": "example", "message": "example" }}Not Found
object
type
string
title
string
status
detail
string
instance
string
object
type
string
title
string
status
detail
string
instance
string
Examplegenerated
{ "type": "example", "title": "example", "status": "example", "detail": "example", "instance": "example"}object
type
string
title
string
status
detail
string
instance
string
Examplegenerated
{ "type": "example", "title": "example", "status": "example", "detail": "example", "instance": "example"}