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

# Run Eval

> Starts an eval run for a source-backed eval definition.



## OpenAPI

````yaml https://api.veryfront.com/openapi.json post /projects/{project_reference}/evals/{eval_id}/runs
openapi: 3.1.0
info:
  title: Veryfront REST API
  version: 1.0.0
  summary: Domain-first REST reference for the maintained Veryfront HTTP API surface.
  description: >-
    Project-first HTTP API for Veryfront project resources. Root
    account/platform endpoints that still appear in this reference are
    transitional compatibility surfaces unless the canonical inventory marks
    them otherwise.


    ## Start here


    - **Interactive REST reference:** [/docs](/docs)

    - **Raw OpenAPI document:** [/openapi.json](/openapi.json)

    - **Canonical inventory:** `docs/api-surface-inventory.md` in this
    repository

    - **GraphQL endpoint:** [/graphql](/graphql)

    - **MCP playground:** [/mcp/playground](/mcp/playground)


    ## Authentication


    Use one of these request headers:


    - `Authorization: Bearer <jwt>`

    - `Authorization: Bearer vf_<prefix>_<secret>`

    - `X-API-Key: vf_<prefix>_<secret>`


    JWTs must use the Bearer token contract. API keys work in either the Bearer
    header or `X-API-Key`.


    ## Discovery model


    Veryfront is one platform with multiple access modes:


    - **REST** for resource-oriented and operational HTTP workflows

    - **GraphQL** for connected app-facing data and typed mutations

    - **MCP** for tool-style automation and agent workflows


    For the fastest path through the platform, start with the project-scoped
    domain groups. Transitional account/platform groups are retained for
    compatibility and follow the removal register in the canonical inventory.
  contact:
    name: Veryfront API Support
    url: https://veryfront.com/docs
    email: support@veryfront.com
servers:
  - url: https://api.veryfront.com
    description: Current request origin
  - url: http://localhost:4000
    description: Local development
security:
  - bearerAuth: []
  - apiKeyAuth: []
tags:
  - name: Projects
    description: Core project operations
  - name: Account
    description: >-
      Transitional account-level users and settings retained for dashboard
      compatibility
  - name: Project Users
    description: Project members and invites
  - name: Members
    description: Project members and invites
  - name: Files
    description: Main branch files
  - name: Branch Files
    description: Files on branches
  - name: Environment Files
    description: Files in environments
  - name: Release Files
    description: Files in releases
  - name: Uploads
    description: File uploads and assets
  - name: Branches
    description: Content branches for previews
  - name: Releases
    description: Published file snapshots
  - name: Deployments
    description: Connect releases to environments
  - name: Environments
    description: Deployment targets and variables
  - name: Environment Variables
    description: Project environment variable management
  - name: Domains
    description: Custom domains for environments
  - name: Project Servers
    description: Project-scoped dedicated server instances
  - name: Root Servers
    description: >-
      Transitional root dedicated-server administration retained for
      compatibility
  - name: Tasks
    description: Project tasks
  - name: Evals
    description: Project eval definitions and eval run projections
  - name: Work
    description: Project business-process definitions and execution state
  - name: Workflows
    description: Project workflows
  - name: Workflow Runs
    description: Workflow run history and status
  - name: Schedules
    description: Recurring project automation schedules
  - name: Webhooks
    description: Webhook-triggered automation entry points
  - name: Skills
    description: Project skills
  - name: Prompts
    description: Project prompts
  - name: Tools
    description: Project tools
  - name: Resources
    description: Project-defined resource documents and source-backed resource definitions
  - name: Sandboxes
    description: Ephemeral sandbox execution environments
  - name: Search
    description: Text and vector search
  - name: Knowledge
    description: Knowledge manifest lookup across project knowledge files
  - name: Chunks
    description: File chunks for search indexing
  - name: Embeddings
    description: Vector embeddings
  - name: RAG Documents
    description: Project retrieval-augmented knowledge documents
  - name: Style Artifacts
    description: Project style artifact state and build outputs
  - name: External Storage
    description: Transitional connected cloud-provider file operations
  - name: Project Cache
    description: Project-scoped distributed cache operations
  - name: User Cache
    description: Transitional user cache helpers retained for compatibility
  - name: API Keys
    description: >-
      Transitional user/account API key management; prefer project-scoped keys
      for public integrations
  - name: User
    description: Transitional current-user profile endpoint for first-party clients
  - name: Favorites
    description: Transitional user favorites for first-party dashboard clients
  - name: Subscriptions
    description: Transitional account billing and subscription workflows
  - name: Credits
    description: Transitional account credit balance, purchase, and insufficiency flows
  - name: Usage
    description: >-
      Project/account usage limits and warnings; account-level usage is
      transitional
  - name: Gates
    description: Transitional plan and feature gate checks for first-party clients
  - name: Channels
    description: Project channel integrations and delivery settings
  - name: Agents
    description: Project agents
  - name: Agent Catalog
    description: Public catalog of agents assembled from curated template projects
  - name: Agent Workers
    description: Internal/transitional agent worker leases and sessions
  - name: Agent Runtimes
    description: Registered push-based agent runtime services and runtime target health
  - name: Project Integrations
    description: Project-scoped integration catalog and configuration
  - name: Integrations
    description: Transitional external integration catalog for first-party clients
  - name: Integration Tools
    description: >-
      Transitional dynamic integration tool listing, invocation, and connection
      state
  - name: OAuth
    description: >-
      Transitional OAuth integration flows for first-party and connected-app
      clients
  - name: Templates
    description: Transitional starter-template discovery used during project creation
  - name: AI
    description: >-
      Transitional platform AI gateway/model helpers; project AI assets use
      project-scoped routes
  - name: Images
    description: Generated images and image assets
  - name: Conversations
    description: Transitional conversation/run-control HTTP surface for first-party clients
  - name: Runs
    description: Transitional hosted run-control endpoints for conversation execution
  - name: MCP
    description: >-
      MCP catalog/playground helpers; primary MCP traffic uses the streamable
      MCP handler
  - name: Logs
    description: Project log queries via Loki
  - name: Metrics
    description: Project metric queries via a Prometheus-compatible backend
  - name: Traces
    description: Project trace queries via Grafana Tempo
  - name: Errors
    description: Internal/public error type catalog (RFC 9457)
  - name: Authentication
    description: Transitional auth token, login, logout, magic-link, and JWKS flows
externalDocs:
  description: Interactive REST reference
  url: https://api.veryfront.com/docs
paths:
  /projects/{project_reference}/evals/{eval_id}/runs:
    post:
      tags:
        - Evals
      summary: Run Eval
      description: Starts an eval run for a source-backed eval definition.
      parameters:
        - schema:
            type: string
          required: true
          name: project_reference
          in: path
        - schema:
            type: string
            minLength: 1
          required: true
          name: eval_id
          in: path
        - schema:
            type: string
            nullable: true
            enum:
              - main_branch
              - environment
              - preview_branch
            description: Provide the runtime target kind.
          required: false
          description: Provide the runtime target kind.
          name: runtime_target_kind
          in: query
        - schema:
            type: string
            nullable: true
            format: uuid
            description: Provide the target environment id.
          required: false
          description: Provide the target environment id.
          name: target_environment_id
          in: query
        - schema:
            type: string
            nullable: true
            format: uuid
            description: Provide the target branch id.
          required: false
          description: Provide the target branch id.
          name: target_branch_id
          in: query
        - schema:
            type: string
            enum:
              - project
              - main_branch
              - environment
              - preview_branch
            description: Provide the source target kind.
          required: false
          description: Provide the source target kind.
          name: source_target_kind
          in: query
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                input:
                  type: object
                  additionalProperties:
                    nullable: true
                config:
                  type: object
                  additionalProperties:
                    nullable: true
              additionalProperties: false
      responses:
        '200':
          description: Eval run
          content:
            application/json:
              schema:
                type: object
                properties:
                  kind:
                    type: string
                    enum:
                      - eval-run
                  runId:
                    type: string
                  evalId:
                    type: string
                  status:
                    type: string
                    enum:
                      - pending
                      - running
                      - waiting
                      - completed
                      - failed
                      - cancelled
                  targetKind:
                    type: string
                    enum:
                      - agent
                  target:
                    type: string
                  source:
                    type: object
                    properties:
                      filePath:
                        type: string
                      exportName:
                        type: string
                      content:
                        type: string
                    required:
                      - filePath
                      - exportName
                  summary:
                    type: object
                    nullable: true
                    properties:
                      records:
                        type: number
                      passed:
                        type: number
                      failed:
                        type: number
                      skippedResults:
                        type: number
                      passRate:
                        type: number
                      metrics:
                        type: array
                        items:
                          type: object
                          properties:
                            name:
                              type: string
                            family:
                              type: string
                              enum:
                                - answer
                                - agent
                                - ops
                                - judge
                                - check
                            severity:
                              type: string
                              enum:
                                - gate
                                - soft
                                - budget
                            passed:
                              type: number
                            failed:
                              type: number
                            skipped:
                              type: number
                            passRate:
                              type: number
                          required:
                            - name
                            - family
                            - severity
                            - passed
                            - failed
                            - skipped
                            - passRate
                      duration:
                        type: object
                        properties:
                          totalMs:
                            type: number
                          minMs:
                            type: number
                          maxMs:
                            type: number
                          meanMs:
                            type: number
                          p50Ms:
                            type: number
                          p95Ms:
                            type: number
                        required:
                          - totalMs
                          - minMs
                          - maxMs
                          - meanMs
                          - p50Ms
                          - p95Ms
                      usage:
                        type: object
                        properties:
                          inputTokens:
                            type: number
                          outputTokens:
                            type: number
                          totalTokens:
                            type: number
                          costUsd:
                            type: number
                      gateFailures:
                        type: array
                        items:
                          type: object
                          properties:
                            recordId:
                              type: string
                            exampleId:
                              type: string
                            repetition:
                              type: number
                            name:
                              type: string
                            family:
                              type: string
                              enum:
                                - answer
                                - agent
                                - ops
                                - judge
                                - check
                            severity:
                              type: string
                              enum:
                                - gate
                                - budget
                            explanation:
                              type: string
                            evidence:
                              type: object
                              additionalProperties:
                                nullable: true
                          required:
                            - recordId
                            - exampleId
                            - repetition
                            - name
                            - family
                            - severity
                      failedExamples:
                        type: array
                        items:
                          type: object
                          properties:
                            exampleId:
                              type: string
                            records:
                              type: number
                            passed:
                              type: number
                            failed:
                              type: number
                            passRate:
                              type: number
                            flaky:
                              type: boolean
                          required:
                            - exampleId
                            - records
                            - passed
                            - failed
                            - passRate
                            - flaky
                      flakes:
                        type: object
                        properties:
                          examples:
                            type: number
                          stablePassed:
                            type: number
                          stableFailed:
                            type: number
                          flaky:
                            type: number
                        required:
                          - examples
                          - stablePassed
                          - stableFailed
                          - flaky
                    required:
                      - records
                      - passed
                      - failed
                      - passRate
                      - metrics
                  reportPath:
                    type: string
                    nullable: true
                  error:
                    nullable: true
                  metadata:
                    type: object
                    additionalProperties:
                      nullable: true
                  createdAt:
                    type: string
                  startedAt:
                    type: string
                    nullable: true
                  completedAt:
                    type: string
                    nullable: true
                required:
                  - kind
                  - runId
                  - evalId
                  - status
                  - targetKind
                  - target
                  - summary
                  - reportPath
                  - metadata
                  - createdAt
                  - startedAt
                  - completedAt
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  status:
                    type: number
                  detail:
                    type: string
                  error:
                    type: string
                  message:
                    type: string
                  edit_mode:
                    type: string
                    enum:
                      - structured
                      - source_only
                  source_only_reasons:
                    type: array
                    items:
                      type: string
                  source_path:
                    type: string
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  status:
                    type: number
                  detail:
                    type: string
                  error:
                    type: string
                  message:
                    type: string
                  edit_mode:
                    type: string
                    enum:
                      - structured
                      - source_only
                  source_only_reasons:
                    type: array
                    items:
                      type: string
                  source_path:
                    type: string
        '404':
          description: Not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                  title:
                    type: string
                  status:
                    type: number
                  detail:
                    type: string
                  error:
                    type: string
                  message:
                    type: string
                  edit_mode:
                    type: string
                    enum:
                      - structured
                      - source_only
                  source_only_reasons:
                    type: array
                    items:
                      type: string
                  source_path:
                    type: string
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT or API Key
      description: >-
        Use a JWT bearer token or a Veryfront API key in the Authorization
        header.
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Alternative API key header for vf_<prefix>_<secret> tokens.

````