---
title: "Get the internal history of a ticket"
method: GET
path: "/tickets/{ticketId}/history"
tags: ["Ticket"]
---

# Get the internal history of a ticket

`GET /tickets/{ticketId}/history`

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).

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`. Entries are retained for 180 days.

## Path parameters

- `ticketId` string, required

## Query parameters

- `limit` number, double

## Headers

- `project` string, required

## Response `200`

Ok

- unknown

## Changes

- **2026-08-07** `6f02af3a6c47` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/gleap/apis/gleap-server/changes/tickets/:ticketId/history/get.md)

---

[API](https://skmtc.dev/gleap/apis/gleap-server.md) · [All operations](https://skmtc.dev/gleap/apis/gleap-server/llms.txt) · [OpenAPI document](https://skmtc.dev/gleap/apis/gleap-server/revisions/0a92e15c9803?raw)
