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

# Create Evaluator from Transcript V3

> Create an evaluator from a call transcript and return it once it is ready. `transcript_json` is a list of `{role, content, start_time}` messages, where `role` is `Main Agent`, `Testing Agent`, `Function Call` or `Function Call Result`. Usually takes under 2 minutes.



## OpenAPI

````yaml post /test_framework/v3/scenarios/create-from-transcript/
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/scenarios/create-from-transcript/:
    post:
      tags:
        - test_framework
      summary: Create evaluator from transcript
      description: >-
        Create an evaluator from a call transcript and return it once it is
        ready. `transcript_json` is a list of `{role, content, start_time}`
        messages, where `role` is `Main Agent`, `Testing Agent`, `Function Call`
        or `Function Call Result`. Usually takes under 2 minutes.
      operationId: scenarios-v3-create-from-transcript
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SchemaPostSimulateScenario'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SchemaPostSimulateScenario'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SchemaPostSimulateScenario'
        required: true
      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`.
                  agent_id:
                    type: integer
                  scenario_id:
                    type:
                      - integer
                      - 'null'
                  scenario:
                    type:
                      - object
                      - 'null'
                    description: The created evaluator.
                  error:
                    type:
                      - string
                      - 'null'
                    description: Why the job failed, when it did.
          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: []
        - supabase_session: []
components:
  schemas:
    SchemaPostSimulateScenario:
      type: object
      properties:
        personality:
          type: integer
          description: ID of the personality to use in the simulation
        agent:
          type: integer
          description: ID of the agent to use in the simulation
        assistant_id:
          type: string
          description: Assistant ID to use in the simulation
        transcript_json:
          type: array
          items:
            $ref: '#/components/schemas/SimulateScenarioTranscriptMessage'
          description: JSON representation of the conversation transcript
        name:
          type: string
          description: Name for the simulated scenario
          maxLength: 80
        expected_outcome_prompt:
          type: string
          description: Prompt describing the expected outcome of the scenario
        folder_path:
          type:
            - string
            - 'null'
          description: >-
            Folder path to assign the scenario to, e.g. "Sales" or
            "Sales.Inbound". Created when it does not already exist; a new
            folder nests at most one level deep.
      required:
        - transcript_json
    SimulateScenarioTranscriptMessage:
      type: object
      properties:
        role:
          enum:
            - Main Agent
            - Testing Agent
            - Function Call
            - Function Call Result
          type: string
          description: |-
            * `Main Agent` - Main Agent
            * `Testing Agent` - Testing Agent
            * `Function Call` - Function Call
            * `Function Call Result` - Function Call Result
          x-spec-enum-id: b888e3924515fb52
        time:
          type: string
          readOnly: true
        content:
          type: string
        end_time:
          type: number
          format: double
        start_time:
          type: number
          format: double
        data:
          $ref: '#/components/schemas/TranscriptFunctionCallData'
      required:
        - role
    TranscriptFunctionCallData:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        arguments:
          oneOf:
            - {}
            - type: 'null'
        result:
          oneOf:
            - {}
            - type: 'null'
  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.
    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.