---
title: "Create a target dataset for a pipeline"
method: POST
path: "/v1/integration/continuous/projects/{projectId}/pipelines/{pipelineId}/datasets"
tags: ["Build and Configure Continuous Integration Projects"]
---

# Create a target dataset for a pipeline

`POST /v1/integration/continuous/projects/{projectId}/pipelines/{pipelineId}/datasets`

## Request

- Base URL: `https://integration-adapter.connect.cloud.precisely.com`
- URL: `https://integration-adapter.connect.cloud.precisely.com/v1/integration/continuous/projects/{projectId}/pipelines/{pipelineId}/datasets`
- Auth: HTTP bearer

Creates a target dataset for a specified pipeline by providing a set of table mapping IDs.
This endpoint submits an asynchronous dataset-creation request.

Process overview:
  1. Resource validation - validates that the pipeline exists and belongs to the
     provided project. If validation fails, the request will be rejected.
  2. Request validation - validates that at least one table mapping ID is provided.
     The IDs must reference existing table mappings in the pipeline.
  3. Table mapping retrieval - fetches the actual table mapping details from the
     pipeline based on the provided IDs. The handler determines the appropriate
     creation strategy based on the target connection type.
  4. Async submission - Dataset creation is performed asynchronously;
  5. Monitoring - on successful submission the endpoint returns 202 Accepted with a
     `Location` header that points to the dataset creation status endpoint. Clients
     should poll that endpoint to monitor progress and completion.

Behavior & semantics:
  - Idempotency: repeated requests for the same pipeline and identical mapping IDs may
    be rejected as a conflict if a create operation is already in progress (409).
  - Use the returned `Location` or the GET status endpoint to obtain
    the current dataset creation status.

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

## Path parameters

- `projectId` string, required
- `pipelineId` string, required

## Request body

- string[]

## Response `202`

Dataset creation task submitted successfully. Use the `Location` header to monitor task status.
1. **Asynchronous Processing** - Dataset creation is handled asynchronously; the response indicates task submission
2. **Task Monitoring** - Use the provided `Location` URI to monitor the status of the dataset creation task

## Other responses

- `400`: Bad Request - Validation failed due to one of the following reasons: - Invalid target dataset request format (InvalidDatasetDetailsException)
- `401`: Unauthorized - Authentication required, valid credentials not provided
- `403`: Forbidden - User lacks 'replication-pipeline::create' or 'replication-pipeline::update' when permission harmonization is enabled, or legacy 'replication-pipeline::manage' otherwise
- `409`: Dataset creation for the given pipeline is already in progress
- `500`: Internal Server Error - Server encountered an unexpected condition, such as: - Invalid pipeline association failure - Dataset creation failure

---

[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)
