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

# Create evaluations test cases

> Requires scopes: eval:write



## OpenAPI

````yaml /api-reference/openapi.json post /api/evaluations/{id}/test-cases
openapi: 3.1.0
info:
  title: EvalGate API
  version: 3.7.6
  description: EvalGate API. See docs/api-contract.md for stability commitments.
servers:
  - url: https://evalgate.com
    description: Production
  - url: http://localhost:3000
    description: Local
security: []
paths:
  /api/evaluations/{id}/test-cases:
    post:
      tags:
        - evaluations
      summary: Create evaluations test cases
      description: 'Requires scopes: eval:write'
      operationId: post_evaluations_id_test_cases
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiEvaluationsIdTestCasesRequest'
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/PostApiEvaluationsIdTestCasesResponse201ApplicationJson
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
        - bearerAuth:
            - eval:write
components:
  schemas:
    PostApiEvaluationsIdTestCasesRequest:
      type: object
      properties:
        input:
          type: string
        name:
          type: string
        expectedOutput:
          oneOf:
            - type: 'null'
            - type: string
        metadata:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/JsonValue'
      additionalProperties: false
      required:
        - input
        - name
    PostApiEvaluationsIdTestCasesResponse201ApplicationJson:
      type: object
      properties:
        input:
          type: string
        expectedOutput:
          oneOf:
            - type: 'null'
            - type: string
        evaluationId:
          type: number
        id:
          type: number
        name:
          type: string
        createdAt:
          type: string
          format: date-time
        metadata:
          oneOf:
            - type: 'null'
            - type: object
              properties:
                tags:
                  type: array
                  items:
                    type: string
                category:
                  oneOf:
                    - type: string
                      enum:
                        - policy
                    - type: string
                      enum:
                        - support
                    - type: string
                      enum:
                        - safety
                    - type: string
                      enum:
                        - regression
                    - type: string
                      enum:
                        - functional
                    - type: string
                      enum:
                        - behavioral
                    - type: string
                      enum:
                        - adversarial
                    - type: string
                      enum:
                        - quality
                    - type: string
                      enum:
                        - performance
                    - type: string
                      enum:
                        - edge_case
                    - type: string
                      enum:
                        - compliance
                    - type: string
                      enum:
                        - hours
                    - type: string
                      enum:
                        - dangerous
                    - type: string
                      enum:
                        - harmful
                    - type: string
                      enum:
                        - illegal
                difficulty:
                  oneOf:
                    - type: string
                      enum:
                        - medium
                    - type: string
                      enum:
                        - hard
                    - type: string
                      enum:
                        - easy
                    - type: string
                      enum:
                        - flaky
                source:
                  oneOf:
                    - type: string
                      enum:
                        - manual
                    - type: string
                      enum:
                        - unknown
                    - type: string
                      enum:
                        - coverage_gap
                    - type: string
                      enum:
                        - synthetic
                    - type: string
                      enum:
                        - import
                    - type: string
                      enum:
                        - production_failure
                    - type: string
                      enum:
                        - auto_augmented
                    - type: string
                      enum:
                        - demo_seed
                    - type: string
                      enum:
                        - seedforge
                    - type: string
                      enum:
                        - evalgate_synthesize
                behavior:
                  oneOf:
                    - type: string
                      enum:
                        - tool_use
                    - type: string
                      enum:
                        - classification
                    - type: string
                      enum:
                        - retrieval
                    - type: string
                      enum:
                        - extraction
                    - type: string
                      enum:
                        - multi_step_reasoning
                failureClusterId:
                  type: string
                agentWorkflow:
                  type: object
                  properties:
                    version:
                      type: number
                      enum:
                        - 1
                    workflowClass:
                      oneOf:
                        - type: string
                          enum:
                            - approval_gated_mutation
                        - type: string
                          enum:
                            - background_execution
                        - type: string
                          enum:
                            - recovery_required
                        - type: string
                          enum:
                            - policy_conflict
                        - type: string
                          enum:
                            - handoff_heavy
                        - type: string
                          enum:
                            - memory_sensitive
                        - type: string
                          enum:
                            - parallel_tool_use
                    autonomyLevel:
                      oneOf:
                        - type: string
                          enum:
                            - manual
                        - type: string
                          enum:
                            - default_approvals
                        - type: string
                          enum:
                            - bypass_approvals
                        - type: string
                          enum:
                            - autopilot
                    approvalMode:
                      oneOf:
                        - type: string
                          enum:
                            - human_review
                        - type: string
                          enum:
                            - none
                        - type: string
                          enum:
                            - policy_guided
                        - type: string
                          enum:
                            - auto_with_audit
                    riskLevel:
                      oneOf:
                        - type: string
                          enum:
                            - low
                        - type: string
                          enum:
                            - medium
                        - type: string
                          enum:
                            - high
                        - type: string
                          enum:
                            - critical
                    memoryMode:
                      oneOf:
                        - type: string
                          enum:
                            - session
                        - type: string
                          enum:
                            - none
                        - type: string
                          enum:
                            - persistent
                        - type: string
                          enum:
                            - mixed
                    backgroundExecution:
                      type: boolean
                    requiresCheckpoint:
                      type: boolean
                    expectedHandoff:
                      type: boolean
                    requiredHooks:
                      type: array
                      items:
                        oneOf:
                          - type: string
                            enum:
                              - session_start
                          - type: string
                            enum:
                              - pre_plan
                          - type: string
                            enum:
                              - pre_tool
                          - type: string
                            enum:
                              - post_tool
                          - type: string
                            enum:
                              - pre_write
                          - type: string
                            enum:
                              - pre_handoff
                          - type: string
                            enum:
                              - on_error
                          - type: string
                            enum:
                              - session_end
                    activeTools:
                      type: array
                      items:
                        type: string
                    permissionScope:
                      type: object
                      properties:
                        filesystem:
                          type: array
                          items:
                            type: string
                        network:
                          oneOf:
                            - type: string
                              enum:
                                - open
                            - type: string
                              enum:
                                - restricted
                            - type: string
                              enum:
                                - none
                        externalSystems:
                          type: array
                          items:
                            type: string
                        mutatesState:
                          oneOf:
                            - type: boolean
                              enum:
                                - false
                            - type: boolean
                              enum:
                                - true
                      additionalProperties: false
                    expectedFailureModes:
                      type: array
                      items:
                        type: string
                    scenario:
                      type: string
                    provenance:
                      type: object
                      properties:
                        source:
                          oneOf:
                            - type: string
                              enum:
                                - manual
                            - type: string
                              enum:
                                - evaluation_run
                            - type: string
                              enum:
                                - coverage_gap
                            - type: string
                              enum:
                                - trace_failure
                        evaluationId:
                          type: number
                        runId:
                          type: number
                        testCaseId:
                          type: number
                        traceId:
                          oneOf:
                            - type: 'null'
                            - type: string
                      additionalProperties: false
                      required:
                        - source
                  additionalProperties: false
                  required:
                    - version
                    - workflowClass
                    - autonomyLevel
                    - approvalMode
                    - riskLevel
                    - memoryMode
                    - backgroundExecution
                    - requiresCheckpoint
                    - expectedHandoff
                    - requiredHooks
                    - activeTools
                    - permissionScope
                    - expectedFailureModes
                    - scenario
                workflowExperimentRecipe:
                  oneOf:
                    - type: 'null'
                    - type: object
                      properties:
                        version:
                          type: number
                          enum:
                            - 1
                        title:
                          type: string
                        objective:
                          type: string
                        workflowClass:
                          oneOf:
                            - type: string
                              enum:
                                - approval_gated_mutation
                            - type: string
                              enum:
                                - background_execution
                            - type: string
                              enum:
                                - recovery_required
                            - type: string
                              enum:
                                - policy_conflict
                            - type: string
                              enum:
                                - handoff_heavy
                            - type: string
                              enum:
                                - memory_sensitive
                            - type: string
                              enum:
                                - parallel_tool_use
                        source:
                          oneOf:
                            - type: string
                              enum:
                                - coverage_gap
                            - type: string
                              enum:
                                - failure
                        linkedFailureModes:
                          type: array
                          items:
                            type: string
                        linkedTestCaseIds:
                          type: array
                          items:
                            type: number
                        comparedVariants:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              label:
                                type: string
                              changes:
                                type: array
                                items:
                                  type: string
                              autonomyLevel:
                                oneOf:
                                  - type: string
                                    enum:
                                      - manual
                                  - type: string
                                    enum:
                                      - default_approvals
                                  - type: string
                                    enum:
                                      - bypass_approvals
                                  - type: string
                                    enum:
                                      - autopilot
                              approvalMode:
                                oneOf:
                                  - type: string
                                    enum:
                                      - human_review
                                  - type: string
                                    enum:
                                      - none
                                  - type: string
                                    enum:
                                      - policy_guided
                                  - type: string
                                    enum:
                                      - auto_with_audit
                              memoryMode:
                                oneOf:
                                  - type: string
                                    enum:
                                      - session
                                  - type: string
                                    enum:
                                      - none
                                  - type: string
                                    enum:
                                      - persistent
                                  - type: string
                                    enum:
                                      - mixed
                              hooks:
                                type: array
                                items:
                                  oneOf:
                                    - type: string
                                      enum:
                                        - session_start
                                    - type: string
                                      enum:
                                        - pre_plan
                                    - type: string
                                      enum:
                                        - pre_tool
                                    - type: string
                                      enum:
                                        - post_tool
                                    - type: string
                                      enum:
                                        - pre_write
                                    - type: string
                                      enum:
                                        - pre_handoff
                                    - type: string
                                      enum:
                                        - on_error
                                    - type: string
                                      enum:
                                        - session_end
                              expectedImpact:
                                type: string
                            additionalProperties: false
                            required:
                              - id
                              - label
                              - changes
                              - expectedImpact
                        successMetrics:
                          type: array
                          items:
                            type: string
                        guardrails:
                          type: array
                          items:
                            type: string
                        recommendedIterations:
                          type: number
                        rationale:
                          type: string
                      additionalProperties: false
                      required:
                        - version
                        - title
                        - objective
                        - workflowClass
                        - source
                        - linkedFailureModes
                        - linkedTestCaseIds
                        - comparedVariants
                        - successMetrics
                        - guardrails
                        - recommendedIterations
                        - rationale
                candidateId:
                  oneOf:
                    - type: string
                    - type: number
                failureReportId:
                  oneOf:
                    - type: 'null'
                    - type: number
                evalCaseId:
                  oneOf:
                    - type: string
                    - type: number
              additionalProperties: false
        lifecycleState:
          type: string
        inputHash:
          oneOf:
            - type: 'null'
            - type: string
        originType:
          type: string
        datasetId:
          oneOf:
            - type: 'null'
            - type: string
        datasetVersionId:
          oneOf:
            - type: 'null'
            - type: string
        datasetRowId:
          oneOf:
            - type: 'null'
            - type: string
        datasetRowContentHash:
          oneOf:
            - type: 'null'
            - type: string
        lastLifecycleTransitionAt:
          type: string
          format: date-time
        archivedAt:
          oneOf:
            - type: 'null'
            - type: string
              format: date-time
        supersededById:
          oneOf:
            - type: 'null'
            - type: number
        supersededAt:
          oneOf:
            - type: 'null'
            - type: string
              format: date-time
        supersessionReason:
          oneOf:
            - type: 'null'
            - type: string
      additionalProperties: false
      required:
        - input
        - expectedOutput
        - evaluationId
        - id
        - name
        - createdAt
        - metadata
        - lifecycleState
        - inputHash
        - originType
        - datasetId
        - datasetVersionId
        - datasetRowId
        - datasetRowContentHash
        - lastLifecycleTransitionAt
        - archivedAt
        - supersededById
        - supersededAt
        - supersessionReason
    JsonValue:
      oneOf:
        - type: 'null'
        - type: boolean
        - type: number
        - type: string
        - type: array
          items:
            $ref: '#/components/schemas/JsonValue'
        - type: object
          additionalProperties:
            $ref: '#/components/schemas/JsonValue'
    ApiError:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - UNAUTHORIZED
                - FORBIDDEN
                - NOT_FOUND
                - VALIDATION_ERROR
                - RATE_LIMITED
                - CONFLICT
                - INTERNAL_ERROR
                - SERVICE_UNAVAILABLE
                - QUOTA_EXCEEDED
                - NO_ORG_MEMBERSHIP
                - CROSS_ORG_REFERENCE
                - INCOMPLETE
                - MALFORMED
            message:
              type: string
            details: {}
            requestId:
              type: string
              format: uuid
          required:
            - code
            - message
      required:
        - error
  responses:
    ValidationError:
      description: Validation error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    Conflict:
      description: Conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    RateLimited:
      description: Rate limit exceeded
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    InternalError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key or Session Token

````