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

# List scheduled runs

> Retrieve a paginated list of scheduled runs with optional filtering.



## OpenAPI

````yaml /api-reference/v1/scheduled-runs-v1.yaml get /scheduled-runs
openapi: 3.0.3
info:
  title: Coval Scheduled Runs API
  version: 1.0.0
  description: >
    Create and manage scheduled runs for automated, recurring evaluations.


    Scheduled runs trigger run templates on a defined schedule using cron
    expressions

    or rate-based intervals. Use them for health checks, nightly regression
    tests,

    or any recurring evaluation workflow.
  contact:
    name: Coval API Support
    email: support@coval.dev
    url: https://docs.coval.ai
  license:
    name: Proprietary
    url: https://coval.dev/terms
servers:
  - url: https://api.coval.dev/v1
    description: Production API
security:
  - ApiKeyAuth: []
tags:
  - name: Scheduled Runs
    description: CRUD operations for scheduled evaluations
paths:
  /scheduled-runs:
    get:
      tags:
        - Scheduled Runs
      summary: List scheduled runs
      description: Retrieve a paginated list of scheduled runs with optional filtering.
      operationId: listScheduledRuns
      parameters:
        - name: page_size
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
          description: Maximum number of results per page
          example: 50
        - name: page_token
          in: query
          required: false
          schema:
            type: string
          description: Opaque pagination token from previous response
        - name: enabled
          in: query
          required: false
          schema:
            type: boolean
          description: Filter by enabled state (true = active schedules, false = paused)
          example: true
        - name: template_id
          in: query
          required: false
          schema:
            type: string
            pattern: ^[A-Za-z0-9]{22}$
          description: Filter by run template ID
          example: abc123def456ghi789jklm
      responses:
        '200':
          description: Scheduled runs retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListScheduledRunsResponse'
              examples:
                success:
                  $ref: '#/components/examples/ListScheduledRunsSuccess'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    ListScheduledRunsResponse:
      type: object
      required:
        - scheduled_runs
      properties:
        scheduled_runs:
          type: array
          items:
            $ref: '#/components/schemas/ScheduledRunResource'
        next_page_token:
          type: string
          nullable: true
          description: Token for fetching next page (null if no more results)
          example: eyJvZmZzZXQiOjUwfQ==
        total_count:
          type: integer
          description: Total count of scheduled runs matching filter
          example: 12
    ScheduledRunResource:
      type: object
      description: Scheduled run configuration resource.
      required:
        - name
        - id
        - display_name
        - run_template_id
        - schedule_expression
        - enabled
        - create_time
      properties:
        name:
          type: string
          description: 'Resource name: "scheduled-runs/{id}"'
          example: scheduled-runs/xyz789uvw456rst123abcd
        id:
          type: string
          pattern: ^[A-Za-z0-9]{22}$
          description: Scheduled run resource ID
          example: xyz789uvw456rst123abcd
        display_name:
          type: string
          maxLength: 200
          description: Human-readable schedule name
          example: Voice Agent Health Check
        run_template_id:
          type: string
          pattern: ^[A-Za-z0-9]{22}$
          description: Associated run template
          example: abc123def456ghi789jklm
        schedule_expression:
          type: string
          description: >
            Schedule expression in rate or cron format.


            **Rate format**: `rate(value unit)` where unit is minutes, hours, or
            days

            - `rate(15 minutes)` - Every 15 minutes

            - `rate(1 hour)` - Every hour

            - `rate(1 day)` - Daily


            **Cron format**: `cron(minutes hours day-of-month month day-of-week
            year)`

            - `cron(0 9 ? * MON-FRI *)` - 9am weekdays

            - `cron(0 2 ? * * *)` - 2am daily

            - `cron(0 0 1 * ? *)` - Midnight on 1st of month
          example: rate(15 minutes)
        schedule_timezone:
          type: string
          default: UTC
          description: IANA timezone for cron expressions
          example: America/New_York
        enabled:
          type: boolean
          default: true
          description: Whether the schedule is active
          example: true
        last_run_at:
          type: string
          format: date-time
          nullable: true
          description: Timestamp of the most recent execution
          example: '2025-10-15T14:15:00Z'
        last_run_id:
          type: string
          nullable: true
          description: ID of the most recent run created by this schedule
          example: 8EktrIgaVxn9LfxkIynagX
        create_time:
          type: string
          format: date-time
          description: Creation timestamp (ISO 8601)
          example: '2025-10-14T12:00:00Z'
        update_time:
          type: string
          format: date-time
          nullable: true
          description: Last update timestamp (ISO 8601)
          example: '2025-10-15T14:30:00Z'
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
            - details
          properties:
            code:
              type: string
              enum:
                - INVALID_ARGUMENT
                - UNAUTHENTICATED
                - NOT_FOUND
                - CONFLICT
                - INTERNAL
              example: INVALID_ARGUMENT
            message:
              type: string
              description: Human-readable error message
              example: Invalid request parameter
            details:
              type: array
              items:
                type: object
                properties:
                  field:
                    type: string
                    nullable: true
                    description: Field that caused the error
                    example: schedule_expression
                  description:
                    type: string
                    description: Detailed error description
                    example: Must be 'rate(...)' or 'cron(...)' format
  examples:
    ListScheduledRunsSuccess:
      summary: Successful list response
      value:
        scheduled_runs:
          - name: scheduled-runs/xyz789uvw456rst123abcd
            id: xyz789uvw456rst123abcd
            display_name: Voice Agent Health Check
            run_template_id: abc123def456ghi789jklm
            schedule_expression: rate(15 minutes)
            schedule_timezone: UTC
            enabled: true
            last_run_at: '2025-10-15T14:15:00Z'
            last_run_id: 8EktrIgaVxn9LfxkIynagX
            create_time: '2025-10-14T12:00:00Z'
            update_time: null
          - name: scheduled-runs/def456ghi789jklmabc123
            id: def456ghi789jklmabc123
            display_name: Nightly Regression Tests
            run_template_id: abc123def456ghi789jklm
            schedule_expression: cron(0 2 ? * * *)
            schedule_timezone: America/New_York
            enabled: true
            last_run_at: '2025-10-15T06:00:00Z'
            last_run_id: 9FluskHbWyo0MgyiJzobY
            create_time: '2025-10-10T09:00:00Z'
            update_time: '2025-10-12T11:30:00Z'
        next_page_token: null
        total_count: 2
  responses:
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              code: INVALID_ARGUMENT
              message: Invalid request body
              details:
                - field: display_name
                  description: Field required
    Unauthorized:
      description: Authentication failed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              code: UNAUTHENTICATED
              message: Authentication failed
              details:
                - field: X-API-Key
                  description: Invalid or missing API key
    InternalError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              code: INTERNAL
              message: Internal server error
              details:
                - description: An unexpected error occurred
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: API key for authentication

````