---
title: "Create evaluator from transcript"
method: POST
path: "/test_framework/v3/scenarios/create-from-transcript/"
tags: ["test_framework"]
---

# Create evaluator from transcript

`POST /test_framework/v3/scenarios/create-from-transcript/`

## Request

- Base URL: `https://api.cekura.ai`
- URL: `https://api.cekura.ai/test_framework/v3/scenarios/create-from-transcript/`
- Auth: one of:
  - API key in header `X-CEKURA-API-KEY`
  - HTTP bearer
  - HTTP bearer

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.

## Request body

- SchemaPostSimulateScenario
  - `personality` integer: ID of the personality to use in the simulation
  - `agent` integer: ID of the agent to use in the simulation
  - `assistant_id` string: Assistant ID to use in the simulation
  - `transcript_json` SimulateScenarioTranscriptMessage[], required: JSON representation of the conversation transcript
    - `role` 'Main Agent' | 'Testing Agent' | 'Function Call' | 'Function Call Result', required: * `Main Agent` - Main Agent * `Testing Agent` - Testing Agent * `Function Call` - Function Call * `Function Call Result` - Function Call Result
    - `time` string
    - `content` string
    - `end_time` number, double
    - `start_time` number, double
    - `data` TranscriptFunctionCallData
      - `id` string
      - `name` string
      - `arguments` unknown
      - `result` unknown
  - `name` string: Name for the simulated scenario
  - `expected_outcome_prompt` string: Prompt describing the expected outcome of the scenario
  - `folder_path` string, nullable: 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.

## Response `200`

- object
  - `status` 'completed' | 'failed': `failed` when the job could not produce its result; see `error` / `errors`.
  - `agent_id` integer
  - `scenario_id` integer, nullable
  - `scenario` object, nullable: The created evaluator.
  - `error` string, nullable: Why the job failed, when it did.

## Other responses

- `400`
- `403`: No access to the agent, project, metric or result the job runs on.
- `504`: The job did not finish within 15 minutes. It may still complete in the background.

## Changes

- **2026-11-03** `a6fb6a739212`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/cekura/apis/cekura-api/changes/test_framework/v3/scenarios/create-from-transcript/post.md)

---

[API](https://skmtc.dev/cekura/apis/cekura-api.md) - [All operations](https://skmtc.dev/cekura/apis/cekura-api/llms.txt) - [OpenAPI document](https://skmtc.dev/cekura/apis/cekura-api/revisions/a6fb6a739212?raw)
