---
title: "Create and submit a SimplePipeline"
method: POST
path: "/simple_pipelines"
tags: ["simple_pipeline"]
deprecated: true
---

# Create and submit a SimplePipeline

`POST /simple_pipelines`

## Request

- Base URL: `https://api.ionworks.com`
- URL: `https://api.ionworks.com/simple_pipelines`
- Auth: none declared

> **Deprecated.**

Create a new SimplePipeline and submit it for processing.

Deprecated: use ``POST /pipelines``, which accepts the same elements.

## Request body

- CreateSimplePipelineRequest: Request body for creating a SimplePipeline.
  - `project_id` string, required: Project ID to associate the pipeline with
  - `name` string, nullable: Optional human-readable name for the pipeline
  - `description` string, nullable: Optional human-readable description for the pipeline
  - `config` object, required: Pipeline configuration with elements dict. At most one datafit/validation element, any number of cheap elements.
  - `options` PipelineOptions: Options for pipeline execution behavior.
    - `live_progress_updates` boolean, nullable: If True, save checkpoint progress to database during job execution. If None, the worker picks a default based on job type.

## Response `202`

Successful Response

- SimplePipeline: Full model for detail responses and DB records.
  - `status` 'pending' | 'running' | 'completed' | 'failed' | 'canceled', required
  - `id` string, required
  - `project_id` string, required
  - `organization_id` string, required
  - `user_id` string, nullable
  - `name` string, nullable
  - `description` string, nullable
  - `job_id` string, nullable
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `error` string, nullable
  - `error_code` 'CONFIGURATION_ERROR' | 'MODEL_ERROR' | 'SOLVER_ERROR' | 'MAX_BACKWARD_JUMPS_EXCEEDED' | 'EXECUTION_TIMEOUT' | 'SUBMISSION_FAILED' | 'INTERNAL_ERROR': Machine-readable error codes for jobs.
  - `created_by_email` string, nullable
  - `config_path` string, required
  - `result` object, nullable
  - `is_terminal` boolean, required: Whether the pipeline has settled and will not transition again.
  - `is_failed` boolean, required: Whether the pipeline settled on anything other than success. Derived as terminal-minus-success, so a new non-success terminal status is classified without editing this method.

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-11** `d3e6ef342a9d`: 1 info
  - endpoint deprecated
- **2026-09-30** `ea3d377fec1a`: 1 warning
  - added the new `MAX_BACKWARD_JUMPS_EXCEEDED` enum value to the `error_code/anyOf[subschema #1: JobErrorCode]/` response property for the response status `202`
- **2026-09-14** `7baccf056192`: 2 info
  - added the required property `is_failed` to the response with the `202` status
  - added the required property `is_terminal` to the response with the `202` status

[Operation history](https://skmtc.dev/ionworks/apis/ionworks-api/changes/simple_pipelines/post.md)

---

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