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

# List runs

> List completed runs with filters and pagination.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/runs
openapi: 3.0.3
info:
  title: Momentic Analytics API
  version: 1.0.0
  description: Read completed runs and run groups from Momentic analytics.
servers:
  - url: https://api.momentic.ai
security:
  - bearerAuth: []
tags:
  - name: Analytics
paths:
  /v1/runs:
    get:
      tags:
        - Analytics
      summary: List runs
      description: List completed runs with filters and pagination.
      operationId: listRuns
      parameters:
        - name: pageSize
          in: query
          required: false
          description: Page size, up to 100.
          schema:
            type: integer
            default: 20
            minimum: 1
            maximum: 100
        - name: cursor
          in: query
          required: false
          description: >-
            Opaque keyset cursor from a previous response's
            pagination.nextCursor. Omit for the first page.
          schema:
            type: string
        - name: includeTotal
          in: query
          required: false
          description: >-
            Include the exact total match count in the response. Off by default
            to avoid an extra aggregation. Accepts true, false, 1, or 0.
          schema:
            type: boolean
        - name: startDate
          in: query
          required: false
          description: >-
            Start of the window. Defaults to the last 30 days. Window may not
            exceed 92 days.
          schema:
            type: string
            format: date-time
        - name: endDate
          in: query
          required: false
          description: End of the window. Defaults to now.
          schema:
            type: string
            format: date-time
        - name: status
          in: query
          required: false
          style: form
          explode: false
          description: Completed run statuses. Comma-separated.
          schema:
            type: array
            items:
              type: string
              enum:
                - PASSED
                - FAILED
                - CANCELLED
        - name: trigger
          in: query
          required: false
          style: form
          explode: false
          description: Run trigger values. Comma-separated.
          schema:
            type: array
            items:
              type: string
              enum:
                - WEBHOOK
                - CRON
                - MANUAL
                - CLI
        - name: gitBranchName
          in: query
          required: false
          style: form
          explode: false
          description: Git branch name filter. Comma-separated.
          schema:
            type: array
            items:
              type: string
        - name: githubRepository
          in: query
          required: false
          style: form
          explode: false
          description: GitHub repository filter. Comma-separated.
          schema:
            type: array
            items:
              type: string
        - name: gitlabProjectPath
          in: query
          required: false
          style: form
          explode: false
          description: GitLab project path filter. Comma-separated.
          schema:
            type: array
            items:
              type: string
        - name: gitCommitSha
          in: query
          required: false
          description: Exact commit SHA filter.
          schema:
            type: string
        - name: cliVersion
          in: query
          required: false
          style: form
          explode: false
          description: CLI version filter. Comma-separated.
          schema:
            type: array
            items:
              type: string
        - name: label
          in: query
          required: false
          style: form
          explode: false
          description: Labels attached to the run. Comma-separated.
          schema:
            type: array
            items:
              type: string
        - name: environment
          in: query
          required: false
          style: form
          explode: false
          description: Environment name filter. Comma-separated.
          schema:
            type: array
            items:
              type: string
        - name: executionType
          in: query
          required: false
          style: form
          explode: false
          description: Run platform filter. Comma-separated.
          schema:
            type: array
            items:
              type: string
              enum:
                - WEB
                - IOS
                - ANDROID
        - name: testId
          in: query
          required: false
          style: form
          explode: false
          description: Test ID filter. Comma-separated.
          schema:
            type: array
            items:
              type: string
        - name: testNameContains
          in: query
          required: false
          description: Substring match on test name.
          schema:
            type: string
        - name: directory
          in: query
          required: false
          style: form
          explode: false
          description: Directory filter. Comma-separated.
          schema:
            type: array
            items:
              type: string
        - name: quarantined
          in: query
          required: false
          description: Quarantined run filter. Accepts true, false, 1, or 0.
          schema:
            type: boolean
        - name: recovered
          in: query
          required: false
          description: >-
            Filter for runs that passed after a failure recovery attempt.
            Implies PASSED status when true, so do not combine with
            status=FAILED. Accepts true, false, 1, or 0.
          schema:
            type: boolean
        - name: healed
          in: query
          required: false
          description: Auto-heal filter. Accepts true, false, 1, or 0.
          schema:
            type: boolean
        - name: onlyCIRuns
          in: query
          required: false
          description: CI-only run filter. Accepts true, false, 1, or 0.
          schema:
            type: boolean
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalRunsResponse'
              example:
                data:
                  - id: run_01J9D90XPXMA4T0TSN76VFQ2K8
                    status: PASSED
                    trigger: WEBHOOK
                    executionType: WEB
                    testId: checkout-flow
                    testName: Checkout flow
                    description: Covers the purchase path
                    directory: e2e/checkout
                    environmentName: production
                    labels:
                      - smoke
                      - checkout
                    gitBranchName: main
                    gitCommitSha: 8d8b7f5c0c2d5d2a0c8c4d6b9a1a2b3c4d5e6f70
                    gitCommitShaShort: 8d8b7f5
                    githubRepository: momentic-ai/storefront
                    gitlabProjectPath: null
                    cliVersion: 1.24.0
                    pipelineId: build_1827
                    createdAt: '2026-07-01T12:00:00.000Z'
                    startedAt: '2026-07-01T12:00:10.000Z'
                    finishedAt: '2026-07-01T12:02:14.000Z'
                    flake: false
                    attempts: 0
                    quarantined: false
                    quarantinedReason: null
                    failureReason: null
                pagination:
                  pageSize: 20
                  hasMore: false
                  nextCursor: null
                  total: null
        '400':
          description: Error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
              example:
                error: 'Invalid query: pageSize must be less than or equal to 100'
        '401':
          description: Error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
              example:
                error: 'Invalid query: pageSize must be less than or equal to 100'
components:
  schemas:
    ExternalRunsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              status:
                type: string
                enum:
                  - PASSED
                  - FAILED
                  - CANCELLED
              trigger:
                type: string
                enum:
                  - WEBHOOK
                  - CRON
                  - MANUAL
                  - CLI
              executionType:
                anyOf:
                  - type: string
                    enum:
                      - WEB
                  - type: string
                    enum:
                      - ANDROID
                      - IOS
              testId:
                type: string
              testName:
                type: string
              description:
                nullable: true
                type: string
              directory:
                nullable: true
                type: string
              environmentName:
                nullable: true
                type: string
              labels:
                type: array
                items:
                  type: string
              gitBranchName:
                nullable: true
                type: string
              gitCommitSha:
                nullable: true
                type: string
              gitCommitShaShort:
                nullable: true
                type: string
              githubRepository:
                nullable: true
                type: string
              gitlabProjectPath:
                nullable: true
                type: string
              cliVersion:
                nullable: true
                type: string
              pipelineId:
                nullable: true
                type: string
              createdAt:
                type: string
                format: date-time
              startedAt:
                type: string
                format: date-time
              finishedAt:
                type: string
                format: date-time
              flake:
                type: boolean
              attempts:
                type: number
              quarantined:
                type: boolean
              quarantinedReason:
                nullable: true
                type: string
              failureReason:
                nullable: true
                type: string
            required:
              - id
              - status
              - trigger
              - executionType
              - testId
              - testName
              - description
              - directory
              - environmentName
              - labels
              - gitBranchName
              - gitCommitSha
              - gitCommitShaShort
              - githubRepository
              - gitlabProjectPath
              - cliVersion
              - pipelineId
              - createdAt
              - startedAt
              - finishedAt
              - flake
              - attempts
              - quarantined
              - quarantinedReason
              - failureReason
            additionalProperties: false
        pagination:
          type: object
          properties:
            pageSize:
              type: integer
              minimum: 1
              maximum: 100
            hasMore:
              type: boolean
            nextCursor:
              nullable: true
              type: string
            total:
              nullable: true
              type: integer
              minimum: 0
              maximum: 9007199254740991
          required:
            - pageSize
            - hasMore
            - nextCursor
            - total
          additionalProperties: false
      required:
        - data
        - pagination
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````