---
title: "Create a new mainframe pipeline"
method: POST
path: "/v1/integration/mainframe/pipelines"
tags: ["Build and Configure Mainframe Integration Projects"]
---

# Create a new mainframe pipeline

`POST /v1/integration/mainframe/pipelines`

## Request

- Base URL: `https://integration-adapter.connect.cloud.precisely.com`
- URL: `https://integration-adapter.connect.cloud.precisely.com/v1/integration/mainframe/pipelines`
- Auth: HTTP bearer

Creates a new mainframe data integration pipeline in a mainframe project. If the pipeline is successfully created, the response includes the pipeline and project identifiers in the response body.

**Process Overview:**
- This endpoint validates the request and determines whether to create a sync or reverse sync pipeline based on the provided configuration.
- For syncConfig: Validates connection types, runtime engine, and replication mode, then creates a sync pipeline.
- For reverseSyncConfig: Validates connection types, then creates a reverse sync pipeline and associates connections.
- Uses the supplied projectId when provided; otherwise resolves the project from projectName by validating/finding/creating the mainframe project.
- For reverse sync operations, associates the connections with the created pipeline.
- Returns project and pipeline IDs, and replication type in the response body.

**Key Features:**
- Enables users to create and configure mainframe data integration pipelines.
- Supports both sync and reverse sync pipeline creation.
- Returns identifiers and replication type for further operations.

**Required Permissions:** `replication-pipeline::create` when permission harmonization is enabled; otherwise, `replication-pipeline::manage`.

## Request body

- CreateMainframePipelineRequest: Request payload for creating a new Mainframe Replication Pipeline in the Data Integration Project
  - `projectId` string: Project ID. When supplied, the pipeline is created directly under this project.
  - `projectName` string: Project name. Used only when projectId is omitted.
  - `pipelineName` string: Pipeline name
  - `description` string: Description of the replication pipeline
  - `syncConfig` CreateMainframeSyncPipelineRequest: Configuration for the mainframe sync pipeline
    - `runTimeEngineName` string, required: Runtime engine name
  - `reverseSyncConfig` CreateMainframeReverseSyncPipelineRequest: Configuration for the mainframe reverse sync pipeline
    - `sourceConnectionId` string, required: Source connection ID
    - `targetConnectionId` string, required: Target connection ID
  - `replicationSettings` MainframePipelineSettings, required: Mainframe pipeline settings
    - `sourceConnectionType` 'VSAM' | 'IMS' | 'DB2ZOS' | 'DB2I' | 'KAFKA' | 'NONE', required: Source connection type
    - `targetConnectionType` 'VSAM' | 'IMS' | 'DB2ZOS' | 'DB2I' | 'KAFKA' | 'NONE', required: Target connection type
    - `autoStart` boolean: Auto start pipeline after the configuration is active
    - `replicationMode` 'ADVANCED' | 'HIGH_VOLUME': Replication mode

## Response `201`

Pipeline successfully created and configured

- CreateMainframePipelineResponse: Response containing the created pipeline's details
  - `projectId` string: ID of the project containing the pipeline. This is the project that was either found or created during the pipeline creation process.
  - `pipelineId` string: ID of the created pipeline. This identifier can be used to query the pipeline status, modify its configuration, or manage its lifecycle.
  - `replicationType` 'ENGINE' | 'REPLICATOR': Type of mainframe replication configured for the pipeline.

## Other responses

- `400`: Bad Request - Validation failed due to one of the following reasons: - Invalid project name format - Invalid pipeline name format - Source and target connections are incompatible for the specified pipeline type - Connection validation failures (connection not found, inactive, or misconfigured) - Unsupported data flow type for the given connection types - Business rule violations in pipeline configuration - Resource conflicts or constraints violations - Replication mode not supported for selected connection types - Runtime engine not found or invalid
- `401`: Unauthorized - Authentication required, valid credentials not provided
- `403`: Forbidden - User lacks the required 'replication-pipeline::create' or legacy 'replication-pipeline::manage' permission
- `409`: Conflict - A resource with the same identifier already exists. This may occur in scenarios such as: - Pipeline with the specified name already exists within the project
- `422`: Unprocessable Entity - Request is syntactically correct but semantically invalid: - Pipeline configuration conflicts with existing pipeline in the same project - Source and target connections are incompatible for the specified pipeline type - invalid replication mode for selected connection types
- `500`: Internal Server Error - Server encountered an unexpected condition, such as: - Project creation failure (ProjectUpsertFailedException) - Project retrieval failure (ProjectsRetrievalFailedException) - Pipeline creation failure (PipelineUpsertFailedException) - Connection association failure (ConnectionsAssociationWithPipelineFailedException) - Catalog asset retrieval failure (CatalogAssetRetrievalFailedException) - Connection service client errors when fetching connection details - Data Catalog service client errors when validating connections - Service unavailability - Connection service errors - Internal processing failures

---

[API](https://skmtc.dev/precisely/apis/precisely-integration-adapter-service.md) · [All operations](https://skmtc.dev/precisely/apis/precisely-integration-adapter-service/llms.txt) · [OpenAPI document](https://skmtc.dev/precisely/apis/precisely-integration-adapter-service/revisions/2d2629f4987d?raw)
