Get the internal history of a ticket
Changed onEvery 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.
Request
- Base URLhttps://api.gleap.io/v3
- URLhttps://api.gleap.io/v3/tickets/{ticketId}/history
- AuthHTTP bearer
Path parameters
Query parameters
Headers
Response
Ok
Changes
- info
endpoint added
- info