Every internal history entry for a ticket — status, assignee, team, priority,
type, tag, contact, due-date and title changes, plus workflow starts, agent handoffs and
mirrored integration status updates. Returned oldest first in a comment-compatible shape so
the conversation feed can splice them inline. Not paginated: truncated is true when the
ticket has more entries than limit (default 1000, max 5000); the oldest entries are the ones left out.
Prior to August 2026 these entries were returned by GET /messages as FEEDBACK_UPDATED and
system messages; this endpoint is now their only source. The shape is unchanged — a status
change, for example, is { type: 'FEEDBACK_UPDATED', data: { type: 'STATUS', value: <status> } }
with the acting user on user.
Entry types:
FEEDBACK_UPDATED with data.type: STATUS, PROCESSING_USER, PROCESSING_TEAM, PRIORITY, TYPE,
SESSION, SESSIONS_ADDED, SESSIONS_REMOVED, ARCHIVED, RESTORED, TAGS_ADDED, TAGS_REMOVED,
DUE_DATE, TITLE, TICKET_LINKED, TICKET_UNLINKED, DUPLICATE, QUEUED, MARKED_AS_SPAM,
EMAIL_RELAYED.SYSTEM_MESSAGE with data.type WORKFLOW_MESSAGE or AGENT_HANDOFF_TO_HUMAN.INTEGRATION_STATUS_UPDATED (no data.type).Entries carry the new value only; the previous value is the one in the entry before. PROCESSING_TEAM
has value: { _id, name } (read _id; some entries also carry id), or value: null when the team was
removed. An entry's id is stored with it and never changes, so it can be used as a deduplication key.
Entries are retained for at least 180 days from the event and can remain available somewhat longer.
Bearer <token>.Ok