---
title: "List issue timeline"
method: GET
path: "/api/v1/issues/{code}/timeline"
tags: ["issues"]
---

# List issue timeline

`GET /api/v1/issues/{code}/timeline`

## Request

- Base URL: `https://api.capy.ai`
- URL: `https://api.capy.ai/api/v1/issues/{code}/timeline`
- Auth: HTTP bearer

## Path parameters

- `code` string, required

## Response `200`

IssueTimeline

- IssueTimelineEncoded
  - `items` IssueTimelineEventEncoded[], required
    - `id` string, required
    - `kind` union, required
      - 'created' | 'status_changed' | 'priority_changed' | 'assignee_changed' | 'title_changed' | 'description_edited' | 'parent_set' | 'sub_issue_added' | 'sub_issue_removed' | 'linked' | 'unlinked' | 'visibility_changed' | 'state_changed'
      - string
    - `actor` IssueActorEncoded, required
      - `kind` union, required
        - 'user' | 'thread'
        - string
      - `id` string, required: A user id for `user`, resolved by `GET /users`, or a thread id for `thread`.
      - `code` string, nullable, required: The thread's reference, such as `SCO-123`; null for a user or a thread the key cannot read.
    - `issueCode` string, nullable, required: The sub-issue the event happened on; null for the issue in the path.
    - `from` string, nullable: The old value of a title, priority, visibility, or state name change, or the old parent's code.
    - `to` string, nullable: The new value of a title, priority, visibility, or state name change, or the new parent's code.
    - `added` IssueActorEncoded[]
      - `kind` union, required
        - 'user' | 'thread'
        - string
      - `id` string, required: A user id for `user`, resolved by `GET /users`, or a thread id for `thread`.
      - `code` string, nullable, required: The thread's reference, such as `SCO-123`; null for a user or a thread the key cannot read.
    - `removed` IssueActorEncoded[]
      - `kind` union, required
        - 'user' | 'thread'
        - string
      - `id` string, required: A user id for `user`, resolved by `GET /users`, or a thread id for `thread`.
      - `code` string, nullable, required: The thread's reference, such as `SCO-123`; null for a user or a thread the key cannot read.
    - `issue` string, nullable: The other issue's code for a sub-issue or relation event; null when the key cannot read it.
    - `relation` union
      - 'blocked_by' | 'blocks' | 'related'
      - string
    - `pullRequest` string, nullable: `owner/repo#number` for a pull request link event.
    - `thread` IssueThreadEncoded
      - `id` string, required
      - `code` string, nullable, required
    - `createdAt` string, required

## Other responses

- `400`: capy/InvalidRequest
- `401`: capy/Unauthorized
- `403`: capy/Forbidden
- `404`: capy/IssueNotFound
- `429`: capy/RateLimited

## Changes

- **2026-10-31** `e3be47264feb`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/capy/apis/capy-api/changes/api/v1/issues/:code/timeline/get.md)

---

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