Get Customer Timeline
GET/api/support/agent/customers/:user/timeline
One customer, every ticket they raised, and a single merged history of the messages, timeline events and links on all of them — newest first. The history spans every tenant: a person who works for two accounts has one history here, matched on their user id or the requester email on the ticket. Internal notes are included and marked internal: true.
support:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Path parameters
user(integer) — the customer's user id.
Query parameters
cursor(optional, string) — keyset cursor from the previous page'smeta.next_cursor, formatted<epoch milliseconds>|<source>|<id>. A cursor that cannot be read is treated as the first page rather than an errorper_page(optional, integer) — entries per page, default 40, maximum 100
Response fields
data[]—key(stablesource:id, so pages can be de-duplicated),source(event,messageorlink),id,kind(the event name, message kind or link kind),at(ISO-8601),summary(a short label),detail(nullable — a message snippet of up to 160 characters, an event'sfrom → to, or the link label),url(nullable — links only),internal(boolean, true for internal notes),ticket(the ticket summary shape below),actor({id, name, label}or null),cursor(this row's keyset)meta—next_cursor(nullable) andhas_more(boolean)customer— first page only (omitted whenevercursoris sent):id,name,email,last_seen_at(nullable),ticket_count,open_count,tenants[]({id, name})tickets— first page only: up to the 100 most recently active tickets this person raised, each{id, number, subject, status, status_label, priority, type, tenant_id, tenant_name, important_to_customer, assignee_name, created_at, updated_at, console_url}
Load the first page without a cursor to get the profile and the ticket list once, then page the history with cursor alone.
Authentication: Bearer token with the support:read scope, or an authenticated session, from a caller with an active support role. No tenant context — this endpoint is central.
Request
Responses
- 200
- 401
- 403
- 404
- 429
OK
Response Headers
Unauthorized
Response Headers
Forbidden
Response Headers
Not Found
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.