---
title: "Create Dataset From Transcript"
method: POST
path: "/api/v1/optimization/transcript-datasets"
tags: ["optimization"]
---

# Create Dataset From Transcript

`POST /api/v1/optimization/transcript-datasets`

Convert transcript turns into a GEPA dataset.

## Request body

- TranscriptDatasetRequest — Request body for converting transcript turns into a GEPA dataset.
  - `module_slug` string, required — Target GEPA module slug whose dataset keys determine row mapping.
  - `title` string, nullable — Optional human-readable transcript title used for dataset naming.
  - `turns` TranscriptTurnInput[], required — Transcript turns to convert into dataset rows.
    - `user_message` string, nullable — User prompt/content for the turn.
    - `assistant_message` string, nullable — Assistant response/content for the turn.

## Response `200`

Successful Response

- DatasetResponse — Metadata for a registered dataset.
  - `id` string, required — Unique dataset identifier.
  - `name` string, required — Human-readable dataset name.
  - `row_count` integer, required — Number of rows/examples in the dataset.
  - `format` string, required — File format (json or jsonl).
  - `module_slug` string, nullable — Associated module slug, when provided.
  - `created_at` string, required — ISO-8601 creation timestamp.

## Other responses

- `400` — Invalid transcript dataset payload.
- `401` — Authentication is required or the provided token is invalid.
- `422` — Validation Error

## Changes

- **2026-05-23** `6178f925cdec` — 1 breaking, 3 info
  - the `detail` response's property type/format changed from `array`/`` to ``/`` for status `422`
  - added `subschema #1, subschema #2` to the `detail` response property `anyOf` list for the response status `422`
  - added the required property `code` to the response with the `422` status
  - added the required property `message` to the response with the `422` status
- **2026-04-18** `1f45411d7556` — 1 breaking
  - the `id` response's property type/format changed from `integer`/`` to `string`/`` for status `200`
- **2026-04-14** `3044e5c4a9da` — 1 info
  - endpoint added
- **2026-03-19** `78507b29ed8f` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/qredence/apis/fleet-rlm/changes/api/v1/optimization/transcript-datasets/post.md)

---

[API](https://skmtc.dev/qredence/apis/fleet-rlm.md) · [All operations](https://skmtc.dev/qredence/apis/fleet-rlm/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/qredence/fleet-rlm/revisions/e25aaded81b9/schema)
