---
title: "Pipelines"
method: POST
path: "/api/v1/pipelines"
tags: ["secure", "deploy"]
---

# Pipelines

`POST /api/v1/pipelines`

Updates the current pipeline completely, or creates it if it doesn't exist, using the provided configuration.
Before creating or updating, validates the provided configuration for schema compliance and integrity.

## Query parameters

- `dry_run` boolean, nullable — Only validate the provided configuration without making changes

## Request body

- object

## Response `200`

Pipeline created or updated successfully

- ActionIdResponse — Response model containing an action ID.
  - `action_id` string, nullable

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `422` — Configuration validation failed

## Changes

- **2026-04-29** `d5de67e6bd60` — 1 warning, 1 info
  - added the new `cdc_validation_error` enum value to the `errors/anyOf[subschema #1]/items/code` response property for the response status `422`
  - added the optional property `errors/anyOf[subschema #1]/items/remediation` to the response with the `422` status
- **2026-02-03** `1cfaddb924d7` — 1 info
  - the `details` response's property default value `{}` was removed for the status `422`
- **2026-02-02** `f0a3d26cc0c6` — 7 warning
  - removed the optional property `errors` from the response with the `401` status
  - removed the optional property `errors` from the response with the `403` status
  - added the new `operation_error` enum value to the `errors/anyOf[subschema #1]/items/code` response property for the response status `422`
  - added the new `pipeline_component_error` enum value to the `errors/anyOf[subschema #1]/items/code` response property for the response status `422`
  - …3 more
- **2025-06-16** `557b7644b943` — 2 breaking, 1 warning, 7 info
  - the response's body type/format changed from ``/`` to `object`/`` for status `200`
  - removed the required property `error` from the response with the `422` status
  - removed the optional property `status` from the response with the `422` status
  - added the new optional `query` request parameter `dry_run`
  - …6 more
- …earlier changes not shown

[Full history](https://skmtc.dev/redis/apis/redis-data-integration-api/changes/api/v1/pipelines/post.md)

---

[API](https://skmtc.dev/redis/apis/redis-data-integration-api.md) · [All operations](https://skmtc.dev/redis/apis/redis-data-integration-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/redis/redis-data-integration-api/revisions/30f630f0aac5/schema)
