---
title: "Create Training Pipeline"
method: POST
path: "/v1/training-pipelines"
tags: ["training-pipelines"]
---

# Create Training Pipeline

`POST /v1/training-pipelines`

## Request

- Base URL: `https://api.pioneer.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.pioneer.ai/v1/training-pipelines`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer
- TypeScript: <https://skmtc.dev/pioneer/apis/brain-api/docs/v1/training-pipelines/post.ts> (a function with typed inputs; its response is checked against the schema)

Create a pipeline root and dispatch its first stage.

## Request body

- TrainingPipelineCreate: Request to create a multi-stage training pipeline.
  - `model_name` string, required
  - `project_id` string, nullable
  - `stages` TrainingPipelineStageCreate[], required
    - `base_model` string, required
    - `training_type` 'full' | 'lora' | 'qlora'
    - `training_algorithm` 'sft' | 'dpo' | 'grpo'
    - `datasets` DatasetReference[], required
      - `name` string, required: Dataset name
      - `version` string, nullable: Version (latest if omitted)
    - `parent_stage_index` integer, nullable
    - `merge_parent_before` boolean
    - `rl_config` RLConfig
      - `max_steps` integer, nullable
      - `kl_beta` number, nullable
      - `group_size` integer, nullable
      - `sampling_temperature` number, nullable
      - `max_completion_length` integer, nullable
      - `logging_steps` integer, nullable
      - `dpo_beta` number, nullable
      - `loss_type` string, nullable
      - `reward_type` string, nullable
      - `extras` object
  - `auto_deploy_final_stage` boolean

## Response `200`

Successful Response

- TrainingPipelineCreateResponse: Created pipeline root and stage summary.
  - `pipeline_id` string, required
  - `status` string, required
  - `estimated_total_usd` number, nullable
  - `stages` TrainingPipelineStageCreateResponse[], required
    - `job_id` string, required
    - `stage_index` integer, required
    - `status` string, required
    - `job_reference` string, nullable
    - `provider_name` string, nullable

## Other responses

- `422`: Validation Error

## Changes

- **2026-09-24** `0e5e86e2bae5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/pioneer/apis/brain-api/changes/v1/training-pipelines/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/0e5e86e2bae5?raw)
