---
title: "POST /test_framework/v1/scenarios/create-from-transcript-bg/"
method: POST
path: "/test_framework/v1/scenarios/create-from-transcript-bg/"
tags: ["test_framework"]
deprecated: true
---

# POST /test_framework/v1/scenarios/create-from-transcript-bg/

`POST /test_framework/v1/scenarios/create-from-transcript-bg/`

## Request

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

> **Deprecated.**

Create a new evaluator from a call transcript. Analyzes the transcript to extract caller behavior, expected outcomes, and conversation flow.

**`transcript_json` format:** array of message objects. Each object requires:
- `role` — must be one of: `"Main Agent"`, `"Testing Agent"`, `"Function Call"`, `"Function Call Result"`
- `content` — the message text
- `start_time` (optional) — seconds from call start as a float

Note: this endpoint accepts only the above role names. The role names used in the observability transcript ingestion API ("agent", "user", etc.) are not valid here.

Example `transcript_json`:
```json
[
  {"role": "Main Agent", "content": "Hello, how can I help?", "start_time": 0.0},
  {"role": "Testing Agent", "content": "I need to reschedule.", "start_time": 2.1},
  {"role": "Main Agent", "content": "Sure, what date works?", "start_time": 3.5}
]
```

**Agent lookup:** the `agent` field looks up agents scoped to the project associated with your API key. If the agent belongs to a different project, use `assistant_id` instead, Returns a `progress_id`immediately; poll GET /scenarios/create-from-transcript-progress/?progress_id={id} until

Deprecated: `POST /test_framework/v3/scenarios/create-from-transcript/` does this in one call and returns the result.

## 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
  - `progress_id` string

## Other responses

- `400`

## Changes

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

[Operation history](https://skmtc.dev/cekura/apis/cekura-api/changes/test_framework/v1/scenarios/create-from-transcript-bg/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)
