---
title: "Create a train dataset and an eval dataset from one source"
method: POST
path: "/api/datasets/split/"
tags: ["datasets"]
---

# Create a train dataset and an eval dataset from one source

`POST /api/datasets/split/`

## Request

- Base URL: `https://api.overmindlab.ai`
- URL: `https://api.overmindlab.ai/api/datasets/split/`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Api-Key`
  - API key in cookie `sessionid`
  - API key in header `X-Api-Key`
  - HTTP bearer

## Request body

- DatasetSplitCreateRequest: One source landed as ``<name> train`` and ``<name> eval``. The eval slice is ``eval_percent`` of the rows taken at ``position``.
  - `name` string, required
  - `brief` string
  - `project` string, uuid, required
  - `capability` string, uuid, nullable: Omit to infer from the rows; null means none.
  - `source` SourceRequest, required: Exactly one of ``uploads``, ``upload_id``, ``text``, ``rows``, ``traces`` or ``llm_calls``. ``traces`` is a traces-list selection or ``{"trace_ids": [...]}``. ``llm_calls`` is ``{capability_id, since, until?, model?, limit?}``.
    - `upload_id` string, uuid, nullable
    - `uploads` string[]
    - `filename` string
    - `text` string
    - `rows` unknown[]
      - unknown
    - `traces` unknown
    - `llm_calls` unknown
  - `eval_percent` integer, required
  - `position` 'head' | 'tail' | 'random' | 'hash', required: * `head` - head * `tail` - tail * `random` - random * `hash` - hash
  - `group_by` string[]
  - `stratify_by` string, nullable
  - `deduplicate` boolean

## Response `201`

- DatasetPair
  - `train` Dataset, required
    - `work` DatasetWork, required
      - `actor_kind` string, nullable, required
      - `label` string, required
      - `status` string, required
      - `completed` integer, nullable, required
      - `total` integer, nullable, required
      - `unit` string, required
    - `roles` RolesEnum[], required
    - `workspace_id` string, uuid, required
    - `id` string, uuid, required
    - `project` string, uuid, required
    - `name` string, required
    - `brief` string, required
    - `source_kind` 'pending' | 'file' | 'traces' | 'llm_calls', required: * `pending` - Pending * `file` - File * `traces` - Traces * `llm_calls` - Llm Calls
    - `source_spec` unknown, required
    - `ocr_languages` string[]
    - `capability` string, uuid, nullable
    - `capability_name` string, required
    - `capability_rank` unknown, required
    - `intent` 'train' | 'eval' | 'explore' | 'pending': * `train` - Train * `eval` - Eval * `explore` - Explore * `pending` - Pending
    - `active` string, uuid, nullable
    - `active_version` string, required
    - `rows` integer, required
    - `readiness` DatasetReadiness, required
      - `assessment` object, required
      - `format_valid` boolean, required
      - `format_reason` string, required
      - `quality_reviewed` boolean, required
      - `quality_passed` boolean, required
      - `quality_reason` string, required
      - `training_configuration` string, required
    - `preparation_plan` object, nullable, required
    - `operation` object, required
    - `state` 'landing' | 'idle' | 'running' | 'error', required: * `landing` - Landing * `idle` - Idle * `running` - Running * `error` - Error
    - `error` string, required
    - `cells` Cell[], required
      - `id` string, uuid, required
      - `position` integer, required
      - `version` string, required
      - `title` string, required
      - `script` string, required
      - `transformation` CellTransformation, required
        - `execution` 'source' | 'unrecorded' | 'isolated_container' | 'platform_operations' | 'external_import', required: * `source` - source * `unrecorded` - unrecorded * `isolated_container` - isolated_container * `platform_operations` - platform_operations * `external_import` - external_import
        - `run` string, uuid, nullable, required
        - `pipeline` string, uuid, nullable, required
        - `revision` integer, nullable, required
        - `package` string, uuid, nullable, required
        - `package_sha256` string, required
        - `entrypoint` string, required
        - `provenance` string, required
      - `note` string, required
      - `state` 'queued' | 'running' | 'ok' | 'failed', required: * `queued` - Queued * `running` - Running * `ok` - Ok * `failed` - Failed
      - `error` string, required
      - `frozen` boolean, required
      - `rows` integer, required
      - `columns` unknown, required
      - `fingerprint` string, required
      - `input_fingerprint` string, required
      - `intent_report` unknown, required
      - `capability_report` unknown, required
      - `fits` object, required
      - `stats` unknown, required
      - `analytics` DatasetAnalytics, required
        - `version` integer
        - `status` 'completed' | 'unmeasured', required: * `completed` - completed * `unmeasured` - unmeasured
        - `cell` string, uuid, required
        - `dataset` string, uuid, required
        - `fingerprint` string, required
        - `measured_at` string, date-time
        - `rows_scanned` integer
        - `population` string
        - `decision_rows` integer
        - `invalid_decision_rows` integer
        - `unlisted_family_rows` integer
        - `families` DatasetAnalyticsFamily[], required
          - `id` string, required
          - `question` string, required
          - `labels` string[], required
          - `labels_truncated` boolean, required
          - `semantics` string, required
          - `rows` integer, required
          - `weight_sum` number, double, nullable, required
          - `counts` integer[], nullable, required
          - `target_mass` number[], nullable, required
          - `majority_baseline` number, double, nullable, required
        - `checks` DatasetAnalyticsCheck[], required
          - `id` string, required
          - `title` string, required
          - `status` 'pass' | 'warning' | 'error' | 'not_checked' | 'not_applicable', required: * `pass` - pass * `warning` - warning * `error` - error * `not_checked` - not_checked * `not_applicable` - not_applicable
          - `summary` string, required
          - `metrics` unknown, required
      - `review` unknown, required
      - `quality_report` unknown, required
      - `preparation_plan` object, nullable, required
      - `readiness` DatasetReadiness, required
        - `assessment` object, required
        - `format_valid` boolean, required
        - `format_reason` string, required
        - `quality_reviewed` boolean, required
        - `quality_passed` boolean, required
        - `quality_reason` string, required
        - `training_configuration` string, required
      - `seconds` number, double, required
      - `used_at` string, date-time, nullable, required
      - `usage` object, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
    - `created_by` integer, nullable, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `eval` Dataset, required
    - `work` DatasetWork, required
      - `actor_kind` string, nullable, required
      - `label` string, required
      - `status` string, required
      - `completed` integer, nullable, required
      - `total` integer, nullable, required
      - `unit` string, required
    - `roles` RolesEnum[], required
    - `workspace_id` string, uuid, required
    - `id` string, uuid, required
    - `project` string, uuid, required
    - `name` string, required
    - `brief` string, required
    - `source_kind` 'pending' | 'file' | 'traces' | 'llm_calls', required: * `pending` - Pending * `file` - File * `traces` - Traces * `llm_calls` - Llm Calls
    - `source_spec` unknown, required
    - `ocr_languages` string[]
    - `capability` string, uuid, nullable
    - `capability_name` string, required
    - `capability_rank` unknown, required
    - `intent` 'train' | 'eval' | 'explore' | 'pending': * `train` - Train * `eval` - Eval * `explore` - Explore * `pending` - Pending
    - `active` string, uuid, nullable
    - `active_version` string, required
    - `rows` integer, required
    - `readiness` DatasetReadiness, required
      - `assessment` object, required
      - `format_valid` boolean, required
      - `format_reason` string, required
      - `quality_reviewed` boolean, required
      - `quality_passed` boolean, required
      - `quality_reason` string, required
      - `training_configuration` string, required
    - `preparation_plan` object, nullable, required
    - `operation` object, required
    - `state` 'landing' | 'idle' | 'running' | 'error', required: * `landing` - Landing * `idle` - Idle * `running` - Running * `error` - Error
    - `error` string, required
    - `cells` Cell[], required
      - `id` string, uuid, required
      - `position` integer, required
      - `version` string, required
      - `title` string, required
      - `script` string, required
      - `transformation` CellTransformation, required
        - `execution` 'source' | 'unrecorded' | 'isolated_container' | 'platform_operations' | 'external_import', required: * `source` - source * `unrecorded` - unrecorded * `isolated_container` - isolated_container * `platform_operations` - platform_operations * `external_import` - external_import
        - `run` string, uuid, nullable, required
        - `pipeline` string, uuid, nullable, required
        - `revision` integer, nullable, required
        - `package` string, uuid, nullable, required
        - `package_sha256` string, required
        - `entrypoint` string, required
        - `provenance` string, required
      - `note` string, required
      - `state` 'queued' | 'running' | 'ok' | 'failed', required: * `queued` - Queued * `running` - Running * `ok` - Ok * `failed` - Failed
      - `error` string, required
      - `frozen` boolean, required
      - `rows` integer, required
      - `columns` unknown, required
      - `fingerprint` string, required
      - `input_fingerprint` string, required
      - `intent_report` unknown, required
      - `capability_report` unknown, required
      - `fits` object, required
      - `stats` unknown, required
      - `analytics` DatasetAnalytics, required
        - `version` integer
        - `status` 'completed' | 'unmeasured', required: * `completed` - completed * `unmeasured` - unmeasured
        - `cell` string, uuid, required
        - `dataset` string, uuid, required
        - `fingerprint` string, required
        - `measured_at` string, date-time
        - `rows_scanned` integer
        - `population` string
        - `decision_rows` integer
        - `invalid_decision_rows` integer
        - `unlisted_family_rows` integer
        - `families` DatasetAnalyticsFamily[], required
          - `id` string, required
          - `question` string, required
          - `labels` string[], required
          - `labels_truncated` boolean, required
          - `semantics` string, required
          - `rows` integer, required
          - `weight_sum` number, double, nullable, required
          - `counts` integer[], nullable, required
          - `target_mass` number[], nullable, required
          - `majority_baseline` number, double, nullable, required
        - `checks` DatasetAnalyticsCheck[], required
          - `id` string, required
          - `title` string, required
          - `status` 'pass' | 'warning' | 'error' | 'not_checked' | 'not_applicable', required: * `pass` - pass * `warning` - warning * `error` - error * `not_checked` - not_checked * `not_applicable` - not_applicable
          - `summary` string, required
          - `metrics` unknown, required
      - `review` unknown, required
      - `quality_report` unknown, required
      - `preparation_plan` object, nullable, required
      - `readiness` DatasetReadiness, required
        - `assessment` object, required
        - `format_valid` boolean, required
        - `format_reason` string, required
        - `quality_reviewed` boolean, required
        - `quality_passed` boolean, required
        - `quality_reason` string, required
        - `training_configuration` string, required
      - `seconds` number, double, required
      - `used_at` string, date-time, nullable, required
      - `usage` object, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
    - `created_by` integer, nullable, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required

---

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