> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coderabbit.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List Triage change history

Use the change ID returned by [List Triage changes](https://docs.coderabbit.ai/api-reference/triage-changes-list.md), with the same organization selection.

Events preserve recorded times and actors; an absent actor must not be inferred from the current change author.

Check `meta.history_complete` before treating the result as complete. See [pagination guidance](https://docs.coderabbit.ai/api/triage.md#filter-group-and-page-results) for cursor handling.


## OpenAPI

````yaml get /v1/triage/changes/{id}/history
openapi: 3.0.3
info:
  title: CodeRabbit API spec
  version: 1.0.0
servers:
  - url: https://api.coderabbit.ai
security:
  - ApiKeyAuth: []
paths:
  /v1/triage/changes/{id}/history:
    description: >-
      Priority and close-candidacy events preserve original times and actors. An
      accessible change with no retained history returns an empty 200. GET/HEAD
      have no request body. Unknown/duplicate query controls are rejected. Other
      methods return 405 with Allow: GET, HEAD, OPTIONS. Requires a resolved
      viewer, Triage access and viewer repository scope; an API key does not
      grant organization-wide repository access. Native organization and
      Reviewer reads each have a 10-second deadline; expired reads return 504.
    get:
      tags:
        - Triage
      summary: List retained Triage history
      operationId: list-triage-history
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            maxLength: 255
          description: >-
            Opaque CodeRabbit change ID, not a native provider PR/MR/change
            number.
        - name: org_id
          in: query
          schema:
            type: string
          description: >-
            One native provider organization ID; required for workspace and
            instance keys. Organization keys default to their bound
            organization. ALL is rejected. Response meta.org_id uses this same
            native identifier namespace. Native IDs that identify multiple
            active organizations in the key's workspace or instance are denied.
            Workspace keys retain existing consumption rules: the recorded owner
            must resolve through a unique selected-provider external account to
            a current workspace admin. Clerk-only owners and native IDs from
            another provider are not implicitly translated.
        - name: limit
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
        - name: cursor
          in: query
          schema:
            type: string
            maxLength: 4096
          description: >-
            Returned opaque cursor. Repeat the same filters, grouping, order,
            limit, and organization. Expires after 15 minutes; live pages may
            repeat/skip changes after reranking.
        - name: type
          in: query
          schema:
            type: string
            enum:
              - all
              - priority
              - close_candidacy
            default: all
          description: >-
            Retained recommendation transitions, not a provider audit trail.
            Paging cannot recover discarded history.
      responses:
        '200':
          description: >-
            Successful read, including an empty collection or unknown optional
            assessments.
          headers:
            X-Request-Id:
              schema:
                type: string
              description: Server request correlation ID, matching meta.request_id.
            Cache-Control:
              schema:
                type: string
                enum:
                  - private, no-store
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TriageHistory'
        '400':
          description: >-
            invalid_parameter, unknown_parameter, duplicate_parameter,
            invalid_id, missing_org_id, missing_team_id, unexpected_team_id,
            invalid_grouping, request_body_not_allowed,
            unsupported_history_type, cursor_invalid, cursor_expired,
            cursor_mismatch
          headers:
            X-Request-Id:
              schema:
                type: string
              description: Server request correlation ID, matching meta.request_id.
            Cache-Control:
              schema:
                type: string
                enum:
                  - private, no-store
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/TriageProblem'
        '401':
          description: authentication_required, invalid_api_key
          headers:
            X-Request-Id:
              schema:
                type: string
              description: Server request correlation ID, matching meta.request_id.
            Cache-Control:
              schema:
                type: string
                enum:
                  - private, no-store
            WWW-Authenticate:
              schema:
                type: string
              example: ApiKey realm="CodeRabbit"
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/TriageProblem'
        '403':
          description: >-
            viewer_identity_required, org_access_denied, triage_access_denied,
            capability_unavailable
          headers:
            X-Request-Id:
              schema:
                type: string
              description: Server request correlation ID, matching meta.request_id.
            Cache-Control:
              schema:
                type: string
                enum:
                  - private, no-store
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/TriageProblem'
        '404':
          description: change_not_found, team_not_found, route_not_found
          headers:
            X-Request-Id:
              schema:
                type: string
              description: Server request correlation ID, matching meta.request_id.
            Cache-Control:
              schema:
                type: string
                enum:
                  - private, no-store
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/TriageProblem'
        '406':
          description: not_acceptable
          headers:
            X-Request-Id:
              schema:
                type: string
              description: Server request correlation ID, matching meta.request_id.
            Cache-Control:
              schema:
                type: string
                enum:
                  - private, no-store
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/TriageProblem'
        '429':
          description: rate_limit_exceeded
          headers:
            X-Request-Id:
              schema:
                type: string
              description: Server request correlation ID, matching meta.request_id.
            Cache-Control:
              schema:
                type: string
                enum:
                  - private, no-store
            Retry-After:
              schema:
                type: integer
                minimum: 1
              description: Seconds before retrying.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/TriageProblem'
        '500':
          description: internal_error
          headers:
            X-Request-Id:
              schema:
                type: string
              description: Server request correlation ID, matching meta.request_id.
            Cache-Control:
              schema:
                type: string
                enum:
                  - private, no-store
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/TriageProblem'
        '502':
          description: upstream_bad_response
          headers:
            X-Request-Id:
              schema:
                type: string
              description: Server request correlation ID, matching meta.request_id.
            Cache-Control:
              schema:
                type: string
                enum:
                  - private, no-store
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/TriageProblem'
        '503':
          description: >-
            service_unavailable, dependency_unavailable,
            provider_connection_unavailable
          headers:
            X-Request-Id:
              schema:
                type: string
              description: Server request correlation ID, matching meta.request_id.
            Cache-Control:
              schema:
                type: string
                enum:
                  - private, no-store
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/TriageProblem'
        '504':
          description: upstream_timeout
          headers:
            X-Request-Id:
              schema:
                type: string
              description: Server request correlation ID, matching meta.request_id.
            Cache-Control:
              schema:
                type: string
                enum:
                  - private, no-store
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/TriageProblem'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    TriageHistory:
      type: object
      properties:
        data:
          type: array
          items:
            oneOf:
              - type: object
                properties:
                  id:
                    type: string
                    minLength: 1
                    maxLength: 255
                    pattern: ^[^,\s/\p{Cc}]+$
                  occurred_at:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                  source:
                    type: string
                    enum:
                      - calculated
                      - manual
                  actor:
                    anyOf:
                      - type: object
                        properties:
                          id:
                            type: string
                            minLength: 1
                            maxLength: 255
                            pattern: ^[^,\s/\p{Cc}]+$
                          identity_type:
                            type: string
                            enum:
                              - coderabbit
                          name:
                            anyOf:
                              - type: string
                              - type: string
                                nullable: true
                                enum:
                                  - null
                        required:
                          - id
                          - identity_type
                          - name
                        additionalProperties: false
                      - type: string
                        nullable: true
                        enum:
                          - null
                  reason:
                    anyOf:
                      - type: string
                      - type: string
                        nullable: true
                        enum:
                          - null
                  type:
                    type: string
                    enum:
                      - priority
                  previous_value:
                    anyOf:
                      - type: string
                        enum:
                          - p0
                          - p1
                          - p2
                          - p3
                          - none
                      - type: string
                        nullable: true
                        enum:
                          - null
                  new_value:
                    type: string
                    enum:
                      - p0
                      - p1
                      - p2
                      - p3
                      - none
                required:
                  - id
                  - occurred_at
                  - source
                  - actor
                  - reason
                  - type
                  - previous_value
                  - new_value
                additionalProperties: false
              - type: object
                properties:
                  id:
                    type: string
                    minLength: 1
                    maxLength: 255
                    pattern: ^[^,\s/\p{Cc}]+$
                  occurred_at:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                  source:
                    type: string
                    enum:
                      - calculated
                      - manual
                  actor:
                    anyOf:
                      - type: object
                        properties:
                          id:
                            type: string
                            minLength: 1
                            maxLength: 255
                            pattern: ^[^,\s/\p{Cc}]+$
                          identity_type:
                            type: string
                            enum:
                              - coderabbit
                          name:
                            anyOf:
                              - type: string
                              - type: string
                                nullable: true
                                enum:
                                  - null
                        required:
                          - id
                          - identity_type
                          - name
                        additionalProperties: false
                      - type: string
                        nullable: true
                        enum:
                          - null
                  reason:
                    anyOf:
                      - type: string
                      - type: string
                        nullable: true
                        enum:
                          - null
                  type:
                    type: string
                    enum:
                      - close_candidacy
                  previous_value:
                    anyOf:
                      - type: boolean
                      - type: string
                        nullable: true
                        enum:
                          - null
                  new_value:
                    type: boolean
                required:
                  - id
                  - occurred_at
                  - source
                  - actor
                  - reason
                  - type
                  - previous_value
                  - new_value
                additionalProperties: false
        next_cursor:
          anyOf:
            - type: string
              minLength: 1
              maxLength: 4096
              pattern: ^[A-Za-z0-9_-]+$
            - type: string
              nullable: true
              enum:
                - null
        meta:
          type: object
          properties:
            request_id:
              type: string
              minLength: 1
            org_id:
              type: string
              minLength: 1
              maxLength: 255
              pattern: ^[^,\s/\p{Cc}]+$
            generated_at:
              type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
            total_count:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            limit:
              type: integer
              minimum: 1
              maximum: 100
            change_id:
              type: string
              minLength: 1
              maxLength: 255
              pattern: ^[^,\s/\p{Cc}]+$
            type:
              type: string
              enum:
                - all
                - priority
                - close_candidacy
            history_complete:
              anyOf:
                - type: boolean
                - type: string
                  nullable: true
                  enum:
                    - null
          required:
            - request_id
            - org_id
            - generated_at
            - total_count
            - limit
            - change_id
            - type
            - history_complete
          additionalProperties: false
      required:
        - data
        - next_cursor
        - meta
      additionalProperties: false
    TriageProblem:
      type: object
      additionalProperties: false
      required:
        - type
        - title
        - status
        - detail
        - instance
        - code
        - request_id
      properties:
        type:
          type: string
          enum:
            - about:blank
        title:
          type: string
        status:
          type: integer
        detail:
          type: string
        instance:
          type: string
          description: Request path without query values.
        code:
          type: string
          enum:
            - invalid_parameter
            - unknown_parameter
            - duplicate_parameter
            - invalid_id
            - missing_org_id
            - missing_team_id
            - unexpected_team_id
            - invalid_grouping
            - request_body_not_allowed
            - unsupported_history_type
            - cursor_invalid
            - cursor_expired
            - cursor_mismatch
            - authentication_required
            - invalid_api_key
            - viewer_identity_required
            - org_access_denied
            - triage_access_denied
            - capability_unavailable
            - change_not_found
            - team_not_found
            - route_not_found
            - method_not_allowed
            - not_acceptable
            - rate_limit_exceeded
            - internal_error
            - upstream_bad_response
            - service_unavailable
            - dependency_unavailable
            - provider_connection_unavailable
            - upstream_timeout
        request_id:
          type: string
        invalid_params:
          type: array
          items:
            type: object
            required:
              - name
              - reason
            properties:
              name:
                type: string
              reason:
                type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-coderabbitai-api-key
      description: >-
        API key for authentication. You can create an API key from the
        CodeRabbit dashboard.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.