Error
A valid request URL is required to generate request examples{
"success": true,
"data": [
{
"seq": 5,
"role": "visitor",
"text": "Can I talk to a person about pricing?",
"tsMs": 1752321600000
},
{
"seq": 6,
"role": "agent",
"text": "Sure — connecting you to our sales team now.",
"tsMs": 1752321603000
},
{
"seq": 7,
"role": "external_agent",
"text": "Hi, this is Dana from sales. Happy to help with pricing.",
"tsMs": 1752321640000
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 3,
"totalPages": 1
}
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}Escalation
Replay the conversation spine (sync / mailbox)
Return the conversation’s turns with seq > after_seq, ordered oldest→newest (both roles, harness turns included). The webhook escalation.message.created is the doorbell; THIS endpoint is the mailbox — dedupe by seq and gap-sync from it. Extends the owner’s lease.
GET
/
escalations
/
{id}
/
messages
Error
A valid request URL is required to generate request examples{
"success": true,
"data": [
{
"seq": 5,
"role": "visitor",
"text": "Can I talk to a person about pricing?",
"tsMs": 1752321600000
},
{
"seq": 6,
"role": "agent",
"text": "Sure — connecting you to our sales team now.",
"tsMs": 1752321603000
},
{
"seq": 7,
"role": "external_agent",
"text": "Hi, this is Dana from sales. Happy to help with pricing.",
"tsMs": 1752321640000
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 3,
"totalPages": 1
}
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}Authorizations
Flowyte secret API key (Authorization: Bearer flowyte_sk_live_…). Scope-gated; is scoped to your organization — a key can never reach another tenant. The listed scopes in each operation's apiKey requirement are the scopes that key must hold. The tokenUrl is nominal: keys are minted in the dashboard.
Path Parameters
The escalation session id whose conversation turns you are reading or replying to.
Query Parameters
Return only turns with a spine seq greater than this (0 = from the start).
Required range:
x >= 0