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

# List the review threads of a reviewed pull request

> The listing getTaskGithubPullRequestThreads serves, addressed by the pull request row instead of an authoring task: the PR review page renders threads for pull requests it did not open. Fetched live from GitHub GraphQL at request time; nothing is persisted. The listing is all-or-nothing — pagination runs to exhaustion and a pull request past the hard caps fails with 502 rather than returning a truncated 200. 404 semantics match getPRReviewDiff and are resolved before any GitHub call, including the caller's current GitHub installation link.



## OpenAPI

````yaml api-reference/openapi.account.json GET /pr-reviews/{pullRequestID}/threads
openapi: 3.1.0
info:
  title: Aether Account & Integrations API
  version: 0.1.0
  description: >-
    Account, billing, and integration-management endpoints used by the Aether
    web app and CLI. Root-mounted; NOT part of the versioned /v1 contract.
servers:
  - url: https://api.runaether.dev
security:
  - bearerAuth: []
paths:
  /pr-reviews/{pullRequestID}/threads:
    get:
      tags:
        - pr-reviews
      summary: List the review threads of a reviewed pull request
      description: >-
        The listing getTaskGithubPullRequestThreads serves, addressed by the
        pull request row instead of an authoring task: the PR review page
        renders threads for pull requests it did not open. Fetched live from
        GitHub GraphQL at request time; nothing is persisted. The listing is
        all-or-nothing — pagination runs to exhaustion and a pull request past
        the hard caps fails with 502 rather than returning a truncated 200. 404
        semantics match getPRReviewDiff and are resolved before any GitHub call,
        including the caller's current GitHub installation link.
      operationId: getPRReviewThreads
      parameters:
        - in: path
          name: pullRequestID
          required: true
          schema:
            format: uuid
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: false
                properties:
                  threads:
                    items:
                      $ref: '#/components/schemas/TaskGitHubPullRequestThread'
                    type: array
                required:
                  - threads
                type: object
          description: OK
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
        '502':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Gateway
components:
  schemas:
    TaskGitHubPullRequestThread:
      additionalProperties: false
      properties:
        comments:
          items:
            $ref: '#/components/schemas/TaskGitHubPullRequestThreadComment'
          type: array
        diff_hunk:
          minLength: 1
          type:
            - string
            - 'null'
        id:
          minLength: 1
          type: string
        is_outdated:
          type: boolean
        is_resolved:
          type: boolean
        line:
          format: int64
          minimum: 1
          type:
            - integer
            - 'null'
        path:
          minLength: 1
          type: string
        side:
          $ref: '#/components/schemas/PRReviewCommentSide'
      required:
        - id
        - path
        - line
        - side
        - diff_hunk
        - is_resolved
        - is_outdated
        - comments
      type: object
    ErrorResponse:
      additionalProperties: false
      properties:
        code:
          type: string
        error:
          minLength: 1
          type: string
      required:
        - error
      type: object
    TaskGitHubPullRequestThreadComment:
      additionalProperties: false
      properties:
        author_association:
          minLength: 1
          type: string
        author_login:
          minLength: 1
          type:
            - string
            - 'null'
        body:
          type: string
        comment_id:
          format: int64
          maximum: 9007199254740991
          minimum: 1
          type: integer
        created_at:
          format: date-time
          type: string
      required:
        - comment_id
        - author_login
        - author_association
        - body
        - created_at
      type: object
    PRReviewCommentSide:
      enum:
        - LEFT
        - RIGHT
      type: string
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http

````