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

> Retrieve a paginated list of mutations for a specific agent.



## OpenAPI

````yaml /api-reference/v1/mutations-v1.yaml get /agents/{agent_id}/mutations
openapi: 3.0.3
info:
  title: Coval Agent Mutations API
  version: 1.0.0
  description: >
    Manage configuration variants (mutations) for AI agents.


    Mutations enable A/B testing of agent configurations by storing only the

    delta changes (config_overrides) that get deep-merged with the parent agent

    at run time. This allows testing multiple configuration variants within a

    single simulation run.


    ## Key Concepts


    - **Mutation**: A named configuration variant of an agent

    - **config_overrides**: Delta configuration merged with parent agent at
    runtime

    - **parameter_values**: Flattened key-value display metadata (auto-derived
    if not provided)


    ## Multi-Mutation Runs


    Launch runs with multiple mutations using the Runs API:

    - `mutation_id`: Single mutation (runs base agent + mutation)

    - `mutation_ids`: Multiple mutations (runs base agent + all mutations)

    - Base agent always runs alongside mutations
  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: Mutations
    description: CRUD operations for agent configuration mutations
paths:
  /agents/{agent_id}/mutations:
    get:
      tags:
        - Mutations
      summary: List mutations
      description: Retrieve a paginated list of mutations for a specific agent.
      operationId: listMutations
      parameters:
        - name: agent_id
          in: path
          required: true
          schema:
            type: string
            pattern: ^[A-Za-z0-9]{22}$
          description: Parent agent ID (22-character ShortUUID)
          example: gk3jK9mPq2xRt5vW8yZaBc
        - 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
          example: eyJvZmZzZXQiOjUwfQ==
      responses:
        '200':
          description: Mutations retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListMutationsResponse'
              examples:
                success:
                  $ref: '#/components/examples/ListMutationsSuccess'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Agent not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                notFound:
                  $ref: '#/components/examples/AgentNotFoundError'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    ListMutationsResponse:
      type: object
      required:
        - mutations
      properties:
        mutations:
          type: array
          description: List of mutation resources
          items:
            $ref: '#/components/schemas/MutationResource'
        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 mutations matching filter
          example: 3
    ErrorResponse:
      type: object
      description: Standard error response
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
            - details
          properties:
            code:
              type: string
              description: Machine-readable error code
              enum:
                - INVALID_ARGUMENT
                - UNAUTHENTICATED
                - NOT_FOUND
                - ALREADY_EXISTS
                - INTERNAL
              example: INVALID_ARGUMENT
            message:
              type: string
              description: Human-readable error message
              example: Invalid request parameter
            details:
              type: array
              description: Detailed error information
              items:
                type: object
                properties:
                  field:
                    type: string
                    nullable: true
                    description: Field name that caused the error
                    example: config_overrides
                  description:
                    type: string
                    description: Detailed error description
                    example: Override key 'invalid_key' does not exist on parent agent
    MutationResource:
      type: object
      description: Agent mutation resource representing a configuration variant.
      required:
        - id
        - agent_id
        - display_name
        - config_overrides
        - parameter_values
        - create_time
      properties:
        id:
          type: string
          pattern: ^[A-Za-z0-9]{26}$
          description: Mutation ID (26-character ULID)
          example: 01ARZ3NDEKTSV4RRFFQ69G5FAV
        agent_id:
          type: string
          pattern: ^[A-Za-z0-9]{22}$
          description: Parent agent ID (22-character ShortUUID)
          example: gk3jK9mPq2xRt5vW8yZaBc
        display_name:
          type: string
          minLength: 1
          maxLength: 200
          description: >-
            Human-readable mutation name (unique per agent among active
            mutations)
          example: GPT-4 Fast VAD
        description:
          type: string
          maxLength: 2000
          default: ''
          description: Optional description of the mutation's purpose
          example: Testing faster VAD with GPT-4 model
        config_overrides:
          type: object
          additionalProperties: true
          description: |
            Configuration delta to deep-merge with parent agent.
            Keys must exist on the parent agent's configuration.
          example:
            voice: nova
            vad_stop_secs: 0.3
        parameter_values:
          type: object
          additionalProperties:
            type: string
          description: |
            Flattened key-value pairs for display purposes.
            Auto-derived from config_overrides if not provided at creation.
          example:
            voice: nova
            vad_stop_secs: '0.3'
        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'
  examples:
    ListMutationsSuccess:
      summary: Successful list response
      value:
        mutations:
          - id: 01ARZ3NDEKTSV4RRFFQ69G5FAV
            agent_id: gk3jK9mPq2xRt5vW8yZaBc
            display_name: GPT-4 Fast VAD
            description: Testing faster VAD settings
            config_overrides:
              voice: nova
              vad_stop_secs: 0.3
            parameter_values:
              voice: nova
              vad_stop_secs: '0.3'
            create_time: '2025-10-14T12:00:00Z'
            update_time: '2025-10-15T14:30:00Z'
          - id: 01ARZ3NDEKTSV4RRFFQ69G5FAW
            agent_id: gk3jK9mPq2xRt5vW8yZaBc
            display_name: Claude Model
            description: Testing Claude integration
            config_overrides:
              model: claude-3-opus
            parameter_values:
              model: claude-3-opus
            create_time: '2025-10-13T10:00:00Z'
            update_time: null
        next_page_token: null
        total_count: 2
    AgentNotFoundError:
      summary: Agent not found
      value:
        error:
          code: NOT_FOUND
          message: Agent not found
          details:
            - field: agent_id
              description: >-
                Agent 'gk3jK9mPq2xRt5vW8yZaBc' does not exist or is not
                accessible by your organization
  responses:
    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

````