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

# Get Agent Picks run evidence

> Inspect a run owned by the account, project and test together. Includes queued, running, failed, cancelled and completed runs. Request and job text are withheld; request_withheld and job_withheld distinguish withheld snapshots from absent ones; pick is null without a classification. Events are recorded observations ordered by seq then id, not inferred causes or proof of a working integration. not_retained means there are no retained events, including before a running run records them. Raw commands, error text, provider prompts and artifacts are withheld. URLs show only their HTTP origin. Search terms, file paths and unknown runtime tool names are withheld with explicit indicators. Packages must match the configured tool catalog. Requires Agent Picks and visibility.read. limit defaults to 50, maximum 100. Pass the returned next_cursor verbatim as cursor with the same filters until has_more is false. Detail pagination is inside evidence; list pagination is at the top level. Invalid parameters or a cursor for another scope return 400. Reads cannot start, cancel or change a run.



## OpenAPI

````yaml /openapi.json get /projects/{projectId}/agent-picks/tests/{testId}/runs/{runId}
openapi: 3.1.0
info:
  title: DevTune API
  version: 2.0.0
  description: >-
    API for programmatic access to your AI visibility data, webhook
    subscriptions, and automation workflows. Use this API to integrate DevTune
    data into CI/CD pipelines, BI tools, AI agents, and operational systems.
servers:
  - url: https://devtune.ai/api/v2
    description: Production
security:
  - bearerAuth: []
paths:
  /projects/{projectId}/agent-picks/tests/{testId}/runs/{runId}:
    get:
      summary: Get Agent Picks run evidence
      description: >-
        Inspect a run owned by the account, project and test together. Includes
        queued, running, failed, cancelled and completed runs. Request and job
        text are withheld; request_withheld and job_withheld distinguish
        withheld snapshots from absent ones; pick is null without a
        classification. Events are recorded observations ordered by seq then id,
        not inferred causes or proof of a working integration. not_retained
        means there are no retained events, including before a running run
        records them. Raw commands, error text, provider prompts and artifacts
        are withheld. URLs show only their HTTP origin. Search terms, file paths
        and unknown runtime tool names are withheld with explicit indicators.
        Packages must match the configured tool catalog. Requires Agent Picks
        and visibility.read. limit defaults to 50, maximum 100. Pass the
        returned next_cursor verbatim as cursor with the same filters until
        has_more is false. Detail pagination is inside evidence; list pagination
        is at the top level. Invalid parameters or a cursor for another scope
        return 400. Reads cannot start, cancel or change a run.
      operationId: getAgentPicksRun
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: testId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: runId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: limit
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
        - name: cursor
          in: query
          schema:
            type: string
            maxLength: 2000
      responses:
        '200':
          description: Agent Picks operational evidence
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/AgentPicksRunDetail'
                  meta:
                    $ref: '#/components/schemas/Meta'
                required:
                  - data
                  - meta
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '429':
          $ref: '#/components/responses/RateLimitExceededError'
components:
  schemas:
    AgentPicksRunDetail:
      type: object
      additionalProperties: false
      required:
        - run
        - context
        - pick
        - evidence
      properties:
        run:
          type: object
          additionalProperties: false
          required:
            - id
            - test_id
            - test_kind
            - test_status
            - agent
            - model
            - repetition
            - status
            - created_at
            - started_at
            - completed_at
            - early_stopped
            - wall_ms
            - has_error
          properties:
            id:
              type: string
              format: uuid
            test_id:
              type: string
              format: uuid
            test_kind:
              type: string
            test_status:
              type: string
              enum:
                - queued
                - running
                - failed
                - cancelled
                - completed
            agent:
              type: string
            model:
              type: string
            repetition:
              type: integer
            status:
              type: string
              enum:
                - queued
                - running
                - failed
                - cancelled
                - completed
            created_at:
              type: string
              format: date-time
            started_at:
              type:
                - string
                - 'null'
            completed_at:
              type:
                - string
                - 'null'
            early_stopped:
              type: boolean
            wall_ms:
              type:
                - number
                - 'null'
            has_error:
              type: boolean
        context:
          type: object
          additionalProperties: false
          required:
            - environment
            - request
            - request_withheld
            - job_withheld
            - intent
            - job
            - classifier_version
            - agent_timeout_sec
          properties:
            environment:
              anyOf:
                - type: object
                  additionalProperties: false
                  required:
                    - id
                    - slug
                    - name
                    - framework
                  properties:
                    id:
                      type: string
                    slug:
                      type: string
                    name:
                      type: string
                    framework:
                      type:
                        - string
                        - 'null'
                - type: 'null'
            request_withheld:
              type: boolean
            job_withheld:
              type: boolean
            request:
              type:
                - string
                - 'null'
            intent:
              type:
                - string
                - 'null'
            job:
              type:
                - string
                - 'null'
            classifier_version:
              type:
                - string
                - 'null'
            agent_timeout_sec:
              type:
                - number
                - 'null'
        pick:
          anyOf:
            - type: object
              additionalProperties: false
              required:
                - outcome
                - tool_key
                - tool_display_name
                - tool_brand_domain
                - confidence
                - classifier_version
                - decided_by
                - tool_packages
                - tool_packages_withheld
                - other_tools
                - other_tools_withheld
                - diff_truncated
              properties:
                outcome:
                  type: string
                tool_key:
                  type:
                    - string
                    - 'null'
                tool_display_name:
                  type:
                    - string
                    - 'null'
                tool_brand_domain:
                  type:
                    - string
                    - 'null'
                confidence:
                  type:
                    - number
                    - 'null'
                classifier_version:
                  type: string
                decided_by:
                  type:
                    - string
                    - 'null'
                tool_packages_withheld:
                  type: boolean
                tool_packages:
                  type: array
                  items:
                    type: string
                other_tools_withheld:
                  type: boolean
                other_tools:
                  type: array
                  items:
                    type: string
                diff_truncated:
                  type: boolean
            - type: 'null'
        evidence:
          type: object
          additionalProperties: false
          required:
            - availability
            - items
            - pagination
          properties:
            availability:
              type: string
              enum:
                - recorded
                - not_retained
                - end_of_trail
            items:
              type: array
              items:
                type: object
                additionalProperties: false
                required:
                  - id
                  - seq
                  - kind
                  - url
                  - status_code
                  - recorded_at
                  - observed_at
                  - detail
                properties:
                  id:
                    type: string
                    format: uuid
                  seq:
                    type: integer
                  kind:
                    type: string
                    enum:
                      - search
                      - fetch
                      - read
                      - command
                      - install
                      - write
                  url:
                    type:
                      - string
                      - 'null'
                  status_code:
                    type:
                      - number
                      - 'null'
                  recorded_at:
                    type: string
                  observed_at:
                    type:
                      - number
                      - 'null'
                  detail:
                    type: object
                    additionalProperties: false
                    required:
                      - queries
                      - path
                      - packages
                      - source
                      - method
                      - exit_code
                      - failed
                      - command_withheld
                      - text_withheld
                      - packages_withheld
                    properties:
                      queries:
                        type: array
                        items:
                          type: string
                      path:
                        type:
                          - string
                          - 'null'
                      packages:
                        type: array
                        items:
                          type: string
                      source:
                        type:
                          - string
                          - 'null'
                      method:
                        type:
                          - string
                          - 'null'
                      exit_code:
                        type:
                          - number
                          - 'null'
                      failed:
                        type:
                          - boolean
                          - 'null'
                      text_withheld:
                        type: boolean
                      packages_withheld:
                        type: boolean
                      command_withheld:
                        type: boolean
            pagination:
              type: object
              additionalProperties: false
              required:
                - has_more
                - next_cursor
                - limit
              properties:
                has_more:
                  type: boolean
                next_cursor:
                  type:
                    - string
                    - 'null'
                limit:
                  type: integer
                  minimum: 1
                  maximum: 100
    Meta:
      type: object
      properties:
        timestamp:
          type: string
          format: date-time
        projectId:
          type: string
          format: uuid
    Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
        reason:
          type: string
          description: >-
            Why the request was refused, for an error with more than one cause,
            such as a refused content-draft start.
        status:
          type: integer
      required:
        - error
        - message
        - status
  responses:
    BadRequestError:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    UnauthorizedError:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ForbiddenError:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFoundError:
      description: Not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    RateLimitExceededError:
      description: Rate limit exceeded
      headers:
        X-RateLimit-Limit:
          $ref: '#/components/headers/X-RateLimit-Limit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/X-RateLimit-Remaining'
        X-RateLimit-Reset:
          $ref: '#/components/headers/X-RateLimit-Reset'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  headers:
    X-RateLimit-Limit:
      description: Maximum requests per window
      schema:
        type: integer
    X-RateLimit-Remaining:
      description: Requests remaining in current window
      schema:
        type: integer
    X-RateLimit-Reset:
      description: Unix timestamp when the window resets
      schema:
        type: integer
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        API key with dtk_live_ prefix. Obtain it from API Keys in the account
        sidebar. New keys start with all supported scopes selected for the
        chosen project, and you can narrow them to specific read/write scopes as
        needed.

````

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