---
title: "Merge Datasets"
method: POST
path: "/felix/datasets/merge"
tags: ["felix", "datasets"]
---

# Merge Datasets

`POST /felix/datasets/merge`

Merges compatible datasets into a new versioned dataset.

## Request body

- DatasetMergeRequest — Request to merge multiple datasets into one.
  - `sources` DatasetMergeSource[], required — Datasets to merge (at least 2)
    - `dataset_name` string, required — Name of the dataset
    - `version` string — Version to merge (default: latest)
  - `output_name` string, required — Name for the merged dataset
  - `project_id` string, nullable — Project to assign the merged dataset to

## Response `200`

Successful Response

- DatasetMergeResponse — Response from a merge operation.
  - `success` boolean, required
  - `dataset_name` string, required
  - `version` string, required
  - `sample_size` integer, required — Total rows in the merged dataset
  - `source_counts` object, required — Number of rows contributed by each source dataset
  - `message` string, required

## Other responses

- `409` — Could not allocate a unique version for the output name after retrying against concurrent writers. Retryable (ENG-6623).
- `422` — Validation Error

## Changes

- **2026-09-24** `1cffaad2a921` — 1 warning, 2 info
  - removed the optional property `detail` from the response with the `422` status
  - added the non-success response with the status `409`
  - added the required property `error` to the response with the `422` status

[Change history](https://skmtc.dev/pioneer/apis/brain-api/changes/felix/datasets/merge/post.md)

---

[API](https://skmtc.dev/pioneer/apis/brain-api.md) · [All operations](https://skmtc.dev/pioneer/apis/brain-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pioneer/apis/brain-api/revisions/1cffaad2a921?raw)
