> ## 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 a task's activity

> One newest-first, cursor-paginated activity feed. A task with a primary pull request (its published pull request, or the pull request a review task reviews) reads that pull request's feed — the authoring task's events, review run boundaries, delivered feedback dispatches, stored GitHub review verdicts and the merge; a task with none reads only its own events. Feed next_cursor back through before for the next page; a malformed cursor is 422.



## OpenAPI

````yaml api-reference/openapi.v1.json GET /tasks/{taskID}/activity
openapi: 3.1.0
info:
  title: Aether Public API
  version: 0.1.0
  description: >-
    The versioned, public Aether REST API. Authenticate with an `aether_`
    platform API key or a session token.
servers:
  - url: https://api.runaether.dev/v1
security:
  - bearerAuth: []
paths:
  /tasks/{taskID}/activity:
    get:
      tags:
        - tasks
      summary: List a task's activity
      description: >-
        One newest-first, cursor-paginated activity feed. A task with a primary
        pull request (its published pull request, or the pull request a review
        task reviews) reads that pull request's feed — the authoring task's
        events, review run boundaries, delivered feedback dispatches, stored
        GitHub review verdicts and the merge; a task with none reads only its
        own events. Feed next_cursor back through before for the next page; a
        malformed cursor is 422.
      operationId: listTaskActivity
      parameters:
        - in: path
          name: taskID
          required: true
          schema:
            format: uuid
            pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
            type: string
        - explode: false
          in: query
          name: before
          schema:
            minLength: 1
            type: string
        - explode: false
          in: query
          name: limit
          schema:
            default: 50
            format: int64
            maximum: 200
            minimum: 1
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActivityPage'
          description: OK
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $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
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Service Unavailable
components:
  schemas:
    ActivityPage:
      additionalProperties: false
      properties:
        events:
          items:
            $ref: '#/components/schemas/ActivityEvent'
          type: array
        next_cursor:
          minLength: 1
          type:
            - string
            - 'null'
        pull_request:
          anyOf:
            - $ref: '#/components/schemas/ActivityPullRequestScope'
            - type: 'null'
      required:
        - events
        - next_cursor
        - pull_request
      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
    ActivityEvent:
      discriminator:
        mapping:
          dispatched:
            $ref: '#/components/schemas/ActivityDispatchedEvent'
          github_review:
            $ref: '#/components/schemas/ActivityGitHubReviewEvent'
          merged:
            $ref: '#/components/schemas/ActivityMergedEvent'
          review_run_completed:
            $ref: '#/components/schemas/ActivityReviewRunCompletedEvent'
          review_run_failed:
            $ref: '#/components/schemas/ActivityReviewRunFailedEvent'
          review_run_started:
            $ref: '#/components/schemas/ActivityReviewRunStartedEvent'
          task_event:
            $ref: '#/components/schemas/ActivityTaskEvent'
        propertyName: kind
      oneOf:
        - $ref: '#/components/schemas/ActivityTaskEvent'
        - $ref: '#/components/schemas/ActivityReviewRunStartedEvent'
        - $ref: '#/components/schemas/ActivityReviewRunCompletedEvent'
        - $ref: '#/components/schemas/ActivityReviewRunFailedEvent'
        - $ref: '#/components/schemas/ActivityDispatchedEvent'
        - $ref: '#/components/schemas/ActivityGitHubReviewEvent'
        - $ref: '#/components/schemas/ActivityMergedEvent'
    ActivityPullRequestScope:
      additionalProperties: false
      properties:
        github_reviews_synced:
          type: boolean
        pull_request_id:
          format: uuid
          type: string
      required:
        - pull_request_id
        - github_reviews_synced
      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
    ActivityDispatchedEvent:
      additionalProperties: false
      properties:
        at:
          minLength: 1
          type: string
        dispatch:
          discriminator:
            mapping:
              ci_head:
                $ref: '#/components/schemas/TaskGitHubDispatchCiHead'
              issue_comment:
                $ref: '#/components/schemas/TaskGitHubDispatchIssueComment'
              review:
                $ref: '#/components/schemas/TaskGitHubDispatchReview'
              review_comment:
                $ref: '#/components/schemas/TaskGitHubDispatchReviewComment'
            propertyName: kind
          oneOf:
            - $ref: '#/components/schemas/TaskGitHubDispatchCiHead'
            - $ref: '#/components/schemas/TaskGitHubDispatchReview'
            - $ref: '#/components/schemas/TaskGitHubDispatchReviewComment'
            - $ref: '#/components/schemas/TaskGitHubDispatchIssueComment'
        key:
          minLength: 1
          type: string
        kind:
          enum:
            - dispatched
          type: string
        task_id:
          format: uuid
          type: string
      required:
        - kind
        - key
        - at
        - task_id
        - dispatch
      type: object
    ActivityGitHubReviewEvent:
      additionalProperties: false
      properties:
        at:
          minLength: 1
          type: string
        author_is_bot:
          type: boolean
        author_login:
          minLength: 1
          type: string
        commit_id:
          pattern: ^[0-9a-f]{40}$
          type: string
        findings_count:
          format: int64
          minimum: 0
          type: integer
        github_review_id:
          format: int64
          maximum: 9007199254740991
          minimum: 1
          type: integer
        html_url:
          format: uri
          pattern: ^[hH][tT][tT][pP][sS]?://
          type: string
        key:
          minLength: 1
          type: string
        kind:
          enum:
            - github_review
          type: string
        run:
          $ref: '#/components/schemas/ActivityReviewRunRef'
        state:
          enum:
            - APPROVED
            - CHANGES_REQUESTED
            - COMMENTED
            - DISMISSED
          type: string
        verdict:
          enum:
            - COMMENT
            - APPROVE
            - REQUEST_CHANGES
          type: string
      required:
        - kind
        - key
        - at
        - github_review_id
        - author_login
        - author_is_bot
        - state
        - html_url
      type: object
    ActivityMergedEvent:
      additionalProperties: false
      properties:
        at:
          minLength: 1
          type: string
        key:
          minLength: 1
          type: string
        kind:
          enum:
            - merged
          type: string
      required:
        - kind
        - key
        - at
      type: object
    ActivityReviewRunCompletedEvent:
      additionalProperties: false
      properties:
        at:
          minLength: 1
          type: string
        key:
          minLength: 1
          type: string
        kind:
          enum:
            - review_run_completed
          type: string
        run_number:
          format: int64
          minimum: 1
          type: integer
        task_id:
          format: uuid
          type: string
      required:
        - kind
        - key
        - at
        - task_id
        - run_number
      type: object
    ActivityReviewRunFailedEvent:
      additionalProperties: false
      properties:
        at:
          minLength: 1
          type: string
        key:
          minLength: 1
          type: string
        kind:
          enum:
            - review_run_failed
          type: string
        message:
          minLength: 1
          pattern: \S
          type: string
        run_number:
          format: int64
          minimum: 1
          type: integer
        task_id:
          format: uuid
          type: string
      required:
        - kind
        - key
        - at
        - task_id
        - run_number
        - message
      type: object
    ActivityReviewRunStartedEvent:
      additionalProperties: false
      properties:
        at:
          minLength: 1
          type: string
        key:
          minLength: 1
          type: string
        kind:
          enum:
            - review_run_started
          type: string
        run_number:
          format: int64
          minimum: 1
          type: integer
        task_id:
          format: uuid
          type: string
      required:
        - kind
        - key
        - at
        - task_id
        - run_number
      type: object
    ActivityTaskEvent:
      additionalProperties: false
      properties:
        at:
          minLength: 1
          type: string
        key:
          minLength: 1
          type: string
        kind:
          enum:
            - task_event
          type: string
        message:
          minLength: 1
          pattern: \S
          type: string
        task_id:
          format: uuid
          type: string
        type:
          enum:
            - done
            - error
            - question
            - stop
            - start_task
            - workspace_lifecycle
            - workspace_warning
            - ci_passed
            - ci_failed
          type: string
      required:
        - kind
        - key
        - at
        - task_id
        - type
        - message
      type: object
    TaskGitHubDispatchCiHead:
      additionalProperties: false
      properties:
        dispatched_at:
          minLength: 1
          type: string
        head_sha:
          minLength: 1
          type: string
        id:
          format: uuid
          type: string
        kind:
          enum:
            - ci_head
          type: string
        message_id:
          format: uuid
          type: string
        source:
          enum:
            - auto
            - manual
          type: string
      required:
        - id
        - kind
        - head_sha
        - source
        - dispatched_at
      type: object
    TaskGitHubDispatchIssueComment:
      additionalProperties: false
      properties:
        comment_github_id:
          format: int64
          minimum: 1
          type: integer
        dispatched_at:
          minLength: 1
          type: string
        id:
          format: uuid
          type: string
        kind:
          enum:
            - issue_comment
          type: string
        message_id:
          format: uuid
          type: string
        source:
          enum:
            - auto
            - manual
          type: string
      required:
        - id
        - kind
        - comment_github_id
        - source
        - dispatched_at
      type: object
    TaskGitHubDispatchReview:
      additionalProperties: false
      properties:
        comment_github_id:
          format: int64
          minimum: 1
          type: integer
        dispatched_at:
          minLength: 1
          type: string
        id:
          format: uuid
          type: string
        kind:
          enum:
            - review
          type: string
        message_id:
          format: uuid
          type: string
        source:
          enum:
            - auto
            - manual
          type: string
      required:
        - id
        - kind
        - comment_github_id
        - source
        - dispatched_at
      type: object
    TaskGitHubDispatchReviewComment:
      additionalProperties: false
      properties:
        comment_github_id:
          format: int64
          minimum: 1
          type: integer
        dispatched_at:
          minLength: 1
          type: string
        id:
          format: uuid
          type: string
        kind:
          enum:
            - review_comment
          type: string
        message_id:
          format: uuid
          type: string
        source:
          enum:
            - auto
            - manual
          type: string
      required:
        - id
        - kind
        - comment_github_id
        - source
        - dispatched_at
      type: object
    ActivityReviewRunRef:
      additionalProperties: false
      properties:
        run_number:
          format: int64
          minimum: 1
          type: integer
        task_id:
          format: uuid
          type: string
      required:
        - task_id
        - run_number
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http

````