> ## 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.

# Get a pull request's merge box and checks

> The merge box comes from the pull request mirror; ci_status, the check counts and the checks list come from the check-run mirror at the mirrored head, which the check_run webhooks keep current, so both halves of one response agree. Requires membership in the owning organization of a task linked to this pull request — the task that published it or a task that reviewed it — and current GitHub access to the repository. 404 covers an unknown pull request, one linked to no organization the caller belongs to, and one whose GitHub access the caller has lost; the three are deliberately indistinguishable.



## OpenAPI

````yaml api-reference/openapi.account.json GET /pull-requests/{pullRequestID}/github/pr
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:
  /pull-requests/{pullRequestID}/github/pr:
    get:
      tags:
        - pull-requests
      summary: Get a pull request's merge box and checks
      description: >-
        The merge box comes from the pull request mirror; ci_status, the check
        counts and the checks list come from the check-run mirror at the
        mirrored head, which the check_run webhooks keep current, so both halves
        of one response agree. Requires membership in the owning organization of
        a task linked to this pull request — the task that published it or a
        task that reviewed it — and current GitHub access to the repository. 404
        covers an unknown pull request, one linked to no organization the caller
        belongs to, and one whose GitHub access the caller has lost; the three
        are deliberately indistinguishable.
      operationId: getPullRequestGithubPR
      parameters:
        - in: path
          name: pullRequestID
          required: true
          schema:
            format: uuid
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: false
                properties:
                  checks:
                    items:
                      $ref: '#/components/schemas/TaskGitHubPullRequestCheck'
                    type: array
                  merge_box:
                    $ref: '#/components/schemas/TaskGitHubPullRequestMergeBox'
                  reviewers:
                    items:
                      $ref: '#/components/schemas/TaskGitHubPullRequestReviewer'
                    type: array
                  reviews:
                    items:
                      $ref: '#/components/schemas/TaskGitHubPullRequestReview'
                    type: array
                required:
                  - merge_box
                  - checks
                  - reviews
                  - reviewers
                type: object
          description: OK
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ErrorResponse'
                  - $ref: '#/components/schemas/OrgAuthorizationErrorResponse'
          description: Forbidden
        '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
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Service Unavailable
components:
  schemas:
    TaskGitHubPullRequestCheck:
      additionalProperties: false
      properties:
        check_run_id:
          format: int64
          maximum: 9007199254740991
          minimum: 0
          type: integer
        completed_at:
          format: date-time
          type: string
        conclusion:
          minLength: 1
          type: string
        details_url:
          minLength: 1
          type: string
        name:
          type: string
        started_at:
          format: date-time
          type: string
        status:
          minLength: 1
          type: string
        summary:
          type: string
        summary_truncated:
          type: boolean
      required:
        - check_run_id
        - name
        - status
        - summary_truncated
      type: object
    TaskGitHubPullRequestMergeBox:
      additionalProperties: false
      properties:
        additions:
          format: int64
          minimum: 0
          type: integer
        author_login:
          minLength: 1
          type: string
        base_branch:
          minLength: 1
          type: string
        checks_failed:
          format: int64
          minimum: 0
          type: integer
        checks_passed:
          format: int64
          minimum: 0
          type: integer
        checks_total:
          format: int64
          minimum: 0
          type: integer
        ci_status:
          $ref: '#/components/schemas/TaskCIStatus'
        commits:
          format: int64
          minimum: 0
          type: integer
        deletions:
          format: int64
          minimum: 0
          type: integer
        draft:
          type: boolean
        head_branch:
          minLength: 1
          type: string
        head_is_fork:
          type: boolean
        head_sha:
          minLength: 1
          type: string
        html_url:
          minLength: 1
          type: string
        mergeable_state:
          $ref: '#/components/schemas/TaskGitHubPRMergeableState'
        merged_at:
          format: date-time
          type: string
        pr_number:
          format: int64
          minimum: 1
          type: integer
        ready_for_merge:
          type: boolean
        stack_children:
          items:
            $ref: '#/components/schemas/PullRequestStackEdge'
          minItems: 1
          type: array
        stack_parent:
          $ref: '#/components/schemas/PullRequestStackEdge'
        state:
          $ref: '#/components/schemas/TaskGitHubPRState'
        title:
          type: string
      required:
        - pr_number
        - title
        - html_url
        - head_sha
        - head_is_fork
        - author_login
        - draft
        - checks_passed
        - checks_failed
        - checks_total
        - ready_for_merge
        - commits
        - additions
        - deletions
      type: object
    TaskGitHubPullRequestReviewer:
      discriminator:
        mapping:
          team: '#/components/schemas/TaskGitHubPullRequestTeamReviewer'
          user: '#/components/schemas/TaskGitHubPullRequestUserReviewer'
        propertyName: kind
      oneOf:
        - $ref: '#/components/schemas/TaskGitHubPullRequestUserReviewer'
        - $ref: '#/components/schemas/TaskGitHubPullRequestTeamReviewer'
    TaskGitHubPullRequestReview:
      additionalProperties: false
      properties:
        author_is_bot:
          type: boolean
        author_login:
          minLength: 1
          type:
            - string
            - 'null'
        body:
          type: string
        github_review_id:
          format: int64
          maximum: 9007199254740991
          minimum: 1
          type: integer
        html_url:
          minLength: 1
          type: string
        state:
          minLength: 1
          type: string
        submitted_at:
          format: date-time
          type: string
      required:
        - github_review_id
        - author_login
        - author_is_bot
        - state
        - body
        - submitted_at
        - html_url
      type: object
    ErrorResponse:
      additionalProperties: false
      properties:
        code:
          type: string
        error:
          minLength: 1
          type: string
        errors:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
      required:
        - error
      type: object
    OrgAuthorizationErrorResponse:
      additionalProperties: false
      properties:
        code:
          enum:
            - org_membership_required
            - org_role_insufficient
            - org_suspended
            - account_deleting
          type: string
        error:
          minLength: 1
          type: string
      required:
        - error
        - code
      type: object
    TaskCIStatus:
      enum:
        - pending
        - passed
        - failed
      type: string
    TaskGitHubPRMergeableState:
      enum:
        - clean
        - dirty
        - blocked
        - behind
        - unstable
        - unknown
        - draft
        - has_hooks
      type: string
    PullRequestStackEdge:
      additionalProperties: false
      description: >-
        One tracked open pull request on a branch-chain edge: as stack_parent,
        the pull request whose head repository and branch match this pull
        request's base; as an element of stack_children, a pull request whose
        base branch is this pull request's head. Present only when the edge
        exists in Aether's tracked pull-request projection; absence does not
        prove the pull request is unstacked.
      properties:
        html_url:
          format: uri
          pattern: ^[hH][tT][tT][pP][sS]?://
          type: string
        pr_number:
          format: int64
          minimum: 1
          type: integer
        pull_request_id:
          format: uuid
          type: string
        state:
          enum:
            - open
          type: string
        title:
          type: string
      required:
        - pull_request_id
        - pr_number
        - title
        - state
        - html_url
      type: object
    TaskGitHubPRState:
      enum:
        - open
        - closed
        - merged
      type: string
    TaskGitHubPullRequestTeamReviewer:
      additionalProperties: false
      properties:
        decision:
          enum:
            - pending
          type: string
        kind:
          enum:
            - team
          type: string
        team:
          minLength: 1
          type: string
      required:
        - kind
        - team
        - decision
      type: object
    TaskGitHubPullRequestUserReviewer:
      additionalProperties: false
      properties:
        decision:
          $ref: '#/components/schemas/TaskGitHubPullRequestReviewerDecision'
        is_bot:
          type: boolean
        kind:
          enum:
            - user
          type: string
        login:
          minLength: 1
          type: string
      required:
        - kind
        - login
        - is_bot
        - decision
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
    TaskGitHubPullRequestReviewerDecision:
      enum:
        - approved
        - changes_requested
        - commented
        - dismissed
        - pending
      type: string
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http

````

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