---
title: "List an issue's history"
method: GET
path: "/v1/issues/{idOrNumber}/events"
tags: ["Issues"]
---

# List an issue's history

`GET /v1/issues/{idOrNumber}/events`

## Request

- Base URL: `https://docs.grepr.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://docs.grepr.ai/v1/issues/{idOrNumber}/events`
- Auth: one of:
  - API key in header `GREPR-API-KEY`
  - OpenID Connect (`https://grepr-prod.us.auth0.com/.well-known/openid-configuration`)

Returns an issue's history entries, newest first. Repeat kind to return only those kinds, for example to leave out OCCURRED sightings.

## Path parameters

- `idOrNumber` string, required

## Query parameters

- `cursor` string
- `limit` integer
- `kind` string[]

## Response `200`

History retrieved

- IssueEventsPage: A page of an issue's history, newest first.
  - `items` IssueEvent[]: The entries on this page.
    - `actor` IssueActor: Who made a change to an issue. An agent is named by its own id and the investigation it acted in, never by the service account it authenticated as, since several agents may share one.
      - `agentId` string: The agent, for an agent actor; null otherwise.
      - `id` string: The person's user id, the agent's execution principal (its service account's token subject), or `system` for the server.
      - `investigationId` string: The investigation the agent acted in, for an agent actor; null otherwise.
      - `kind` 'PERSON' | 'AGENT' | 'SYSTEM': A person, an agent, or the server.
    - `channel` 'REST' | 'MCP' | 'SYSTEM': How a change reached the server.
    - `createdAt` string, date-time: When it happened.
    - `diff` object: Each changed field's value before and after, keyed by field name. The description carries only its new text; its previous text is the `to` of the issue's previous entry that changed it. A `COMMENTED` entry carries the comment's id as `comment.to`. A `CREATED` entry by an agent carries, as `entitiesFilled.to`, the entities the server filled from the agent's investigation, beside the complete `entities`; it is absent when nothing was filled.
    - `id` string: The event id.
    - `issueId` string: The issue that changed.
    - `kind` 'CREATED' | 'UPDATED' | 'TRANSITIONED' | 'LOCKS_CHANGED' | 'COMMENTED' | 'GUIDANCE_CHANGED' | 'COMMENT_EDITED' | 'COMMENT_DELETED' | 'ASSIGNMENT_CHANGED' | 'OCCURRED' | 'HANDED_OFF' | 'RUN_NOT_STARTED': What kind of change it was.
  - `nextCursor` string: Pass back as `cursor` for the next, older page; null on the last page.

## Other responses

- `400`: Malformed cursor, or one issued for other kinds
- `401`: Unauthorized
- `404`: Issue not found

---

[API](https://skmtc.dev/grepr/apis/grepr-api.md) - [All operations](https://skmtc.dev/grepr/apis/grepr-api/llms.txt) - [OpenAPI document](https://skmtc.dev/grepr/apis/grepr-api/revisions/2a5ce03a0bf0?raw)
