Coval Test Cases API

Manage individual evaluation inputs within a test set.

OpenAPI Specification

coval-ai-test-cases-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Coval Agents Test Cases API
  description: Simulation and evaluation API for AI voice and chat agents. Manage agents, test sets and test cases, personas, metrics and their thresholds and baselines, simulation runs, run templates, scheduled runs, individual simulations, reports, and production conversations. All paths are relative to the production base URL https://api.coval.dev/v1 and authenticated with the X-API-Key header. Endpoints in this document are drawn from Coval's live per-resource OpenAPI specifications served from https://api.coval.dev/v1/openapi.
  termsOfService: https://coval.dev/terms
  contact:
    name: Coval API Support
    email: support@coval.dev
    url: https://docs.coval.dev
  license:
    name: Proprietary
    url: https://coval.dev/terms
  version: 1.0.0
servers:
- url: https://api.coval.dev/v1
  description: Production API
security:
- ApiKeyAuth: []
tags:
- name: Test Cases
  description: Manage individual evaluation inputs within a test set.
paths:
  /test-cases:
    get:
      operationId: listTestCases
      summary: List test cases
      tags:
      - Test Cases
      parameters:
      - name: test_set_id
        in: query
        schema:
          type: string
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Cursor'
      responses:
        '200':
          description: A list of test cases.
    post:
      operationId: createTestCase
      summary: Create test case
      tags:
      - Test Cases
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestCaseCreate'
      responses:
        '201':
          description: Test case created.
  /test-cases/{test_case_id}:
    parameters:
    - $ref: '#/components/parameters/TestCaseId'
    get:
      operationId: getTestCase
      summary: Get test case
      tags:
      - Test Cases
      responses:
        '200':
          description: The requested test case.
    patch:
      operationId: updateTestCase
      summary: Update test case
      tags:
      - Test Cases
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Updated test case.
    delete:
      operationId: deleteTestCase
      summary: Delete test case
      tags:
      - Test Cases
      responses:
        '204':
          description: Test case deleted.
components:
  schemas:
    TestCaseCreate:
      type: object
      required:
      - input_str
      - test_set_id
      properties:
        input_str:
          type: string
        test_set_id:
          type: string
        expected_behaviors:
          type: array
          items:
            type: string
        expected_output_str:
          type: string
        expected_output_json:
          type: object
        description:
          type: string
        input_type:
          type: string
          enum:
          - SCENARIO
          - TRANSCRIPT
          - IVR
          - AUDIO
          - MANUAL
          - SCRIPT
        simulation_metadata_input:
          type: object
        metric_input:
          type: object
        user_notes:
          type: string
  parameters:
    Cursor:
      name: cursor
      in: query
      description: Pagination cursor.
      schema:
        type: string
    Limit:
      name: limit
      in: query
      description: Maximum number of items to return.
      schema:
        type: integer
    TestCaseId:
      name: test_case_id
      in: path
      required: true
      schema:
        type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Organization API key for authentication.