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

# Run Metric Reviews V3

> Re-evaluate every review of the metric, optionally with overridden settings, and return each verdict next to its expected value. With `skip_save` the reviews are left unchanged. Each review is billed as a metric evaluation. Usually takes under a minute.



## OpenAPI

````yaml post /test_framework/v3/metrics/{id}/run_reviews/
openapi: 3.1.0
info:
  title: Cekura API
  version: v1
  description: >-
    Complete API documentation for the Cekura platform. This API provides
    endpoints for testing, observing, and evaluating AI voice agents — including
    managing agents, running evaluators, defining metrics, and analyzing call
    quality.
servers:
  - url: https://api.cekura.ai
security: []
paths:
  /test_framework/v3/metrics/{id}/run_reviews/:
    post:
      tags:
        - test_framework
      summary: Run metric reviews
      description: >-
        Re-evaluate every review of the metric, optionally with overridden
        settings, and return each verdict next to its expected value. With
        `skip_save` the reviews are left unchanged. Each review is billed as a
        metric evaluation. Usually takes under a minute.
      operationId: metrics-v3-run-reviews
      parameters:
        - in: path
          name: id
          schema:
            type: string
            pattern: ^\d+$
          required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RunReviewsRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/RunReviewsRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/RunReviewsRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - completed
                      - failed
                    description: >-
                      `failed` when the job could not produce its result; see
                      `error` / `errors`.
                  metric_id:
                    type: integer
                  agent_id:
                    type:
                      - integer
                      - 'null'
                  project_id:
                    type:
                      - integer
                      - 'null'
                  total_reviews:
                    type: integer
                  completed_reviews:
                    type: integer
                  failed_reviews:
                    type: integer
                  reviews_list:
                    type: array
                    items:
                      type: integer
                    description: Ids of the reviews evaluated.
                  failed_reviews_list:
                    type: array
                    items:
                      type: integer
                    description: Ids of the reviews that could not be evaluated.
                  metric:
                    type: object
                    description: The metric, as the metrics API returns it.
                  output:
                    type: array
                    items:
                      type: object
                      properties:
                        review_id:
                          type: integer
                        expected_value: {}
                        actual_value: {}
                        explanation:
                          type:
                            - string
                            - 'null'
                        feedback:
                          type:
                            - string
                            - 'null'
                    description: >-
                      The metric's verdict next to the expected value, one per
                      evaluated review.
                  computed_results:
                    type: array
                    items:
                      type: object
                    description: 'Only with `skip_save`: the same items as `output`.'
          description: ''
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  field_name:
                    type: array
                    items:
                      type: string
          description: ''
        '403':
          description: No access to the agent, project or metric the job runs on.
        '504':
          description: >-
            The job did not finish within 15 minutes. It may still complete in
            the background.
      security:
        - api_key: []
        - oauth2: []
        - embedded_session: []
        - supabase_session: []
components:
  schemas:
    RunReviewsRequest:
      type: object
      properties:
        llm_provider:
          enum:
            - openai
            - gemini
            - dspy-gepa-gemini-flash
            - deepseek-v4-flash
          type: string
          x-spec-enum-id: 6d1d2e77c71d1721
          description: |-
            Override the judge provider while running unsaved Labs changes

            * `openai` - OpenAI
            * `gemini` - Gemini
            * `dspy-gepa-gemini-flash` - Dspy Gepa Gemini Flash
            * `deepseek-v4-flash` - DeepSeek V4 Flash
        evaluation_trigger:
          type: string
          description: Override evaluation trigger setting
        evaluation_trigger_prompt:
          type: string
          description: Override evaluation trigger prompt
        trigger_type:
          enum:
            - llm_judge
            - custom_code
          type: string
          x-spec-enum-id: 2adad4b8df61914f
          description: |-
            Override evaluation trigger implementation

            * `llm_judge` - LLM Judge
            * `custom_code` - Custom Code
        evaluation_trigger_custom_code:
          type: string
          description: Override custom-code evaluation trigger
        description:
          type: string
          description: Override metric description
        type:
          enum:
            - basic
            - custom_prompt
            - custom_code
            - llm_judge
          type: string
          x-spec-enum-id: b44700c0a6443b40
          description: >-
            Override metric type


            * `basic` - Basic (Deprecated in favor of LLM Judge)

            * `custom_prompt` - Custom Prompt ( Deprecated in favor of LLM
            Judge)

            * `custom_code` - Custom Code

            * `llm_judge` - LLM Judge
        custom_code:
          type: string
          description: Override custom code
        prompt:
          type: string
          description: Override evaluation prompt
        metric_description_program:
          description: Advanced metric description configuration
        metric_description_variables:
          description: Variables for metric description
        evaluation_trigger_program:
          description: Advanced trigger configuration
        evaluation_trigger_variables:
          description: Variables for evaluation trigger
        skip_save:
          type: boolean
          default: false
          description: >-
            If true, don't save evaluation results to database (used for
            internal previews)
  securitySchemes:
    api_key:
      type: apiKey
      in: header
      name: X-CEKURA-API-KEY
      description: >-
        API Key Authentication. It should be included in the header of each
        request.
    oauth2:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth access token issued by Cekura for connected apps.
    embedded_session:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Embedded-dashboard session token. Internal.
    supabase_session:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Cekura dashboard session token. Not a customer API credential.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.