Creates a target dataset for a specified pipeline.
HTML
POST https://hostname/v1/integration/continuous/projects/{projectId}/pipelines/{pipelineId}/datasetsThe endpoint currently supports only the TABLE dataset type. Calling this endpoint submits an asynchronous table-creation request to the back-end service responsible for provisioning target tables based on the provided source to target table mappings.
Process overview
- Resource validation—validates that the pipeline exists and belongs to the provided project. If validation fails, the request will be rejected.
- Request validation—validates the request payload (must include a
datasetDetails.typeofTABLEand at least one table mapping). Missing or malformed fields will yield a 400 Bad Request. - Async submission—the controller submits the table-creation request to the Connect Event Service. Table creation is performed asynchronously by that service; this endpoint does not block until tables are created.
- Monitoring—on successful submission the endpoint returns 202 Accepted with a
Locationheader that points to the dataset creation status endpoint. Clients should poll that endpoint to monitor progress and completion.
Required permissions
replication-pipeline::manage
Request
Path parameters
| Key | Required | Type | Description |
|---|---|---|---|
| projectId | Yes | string |
Specifies the unique identifier of the project containing the pipeline. |
| pipelineId | Yes | string |
Specifies the unique identifier of the pipeline. |
Request body properties
| Ancestors | Property | Required | Type | Description |
|---|---|---|---|---|
| datasetDetails | Yes | object |
Request payload for creating target tables, including schema/table mapping details. |
|
| datasetDetails | type | Yes | string |
Type of dataset to create. Allowed values:
|
| datasetDetails | tableMappings | Yes | array[object] |
List of target table details, including source/target schema and table names. |
| datasetDetails/tableMappiongs | source | Yes | object |
Details of the source table. |
| datasetDetails/tableMappings | target | Yes | object |
Details of the target table. |
Request body example
{
"datasetDetails": {
"type": "TABLE",
"tableMappings": [
{
"source": {
"database": "source_db",
"schema": "source_schema",
"table": "source_table"
},
"target": {
"database": "target_db",
"schema": "target_schema",
"table": "target_table"
}
}
]
}
}
Response
The back end table-creation service holds the authoritative status of table creation. Use the returned Location header or the Get database creation status method to obtain the current progress and per-schema or per-table results.
Header keys
| Key | Required | Type | Description |
|---|---|---|---|
| Location | No | string |
URI to monitor dataset creation status. Example:
/projects/project-123/pipelines/pipeline-456/datasets/status?type=TABLE |
Response examples
{
"type": "https://datatracker.ietf.org/doc/html/rfc9110#section-15.5.1",
"title": "Bad Request",
"status": 400,
"detail": "Validation error occurred",
"instance": "/v1/integration/continuous/projects/{projectId}/pipelines/{pipelineId}/mappings",
"properties": {
"errorCode": "DI-ADAPTER-VAL-0000"
}
}
{
"type": "https://datatracker.ietf.org/doc/html/rfc9110#section-15.5.2",
"title": "Unauthorized",
"status": 401,
"detail": "Authorization failed - missing or invalid credentials",
"instance": "/v1/integration/continuous/projects/{projectId}/pipelines/{pipelineId}/datasets",
"properties": {
"errorCode": "DI-ADAPTER-AUT-0001"
}
}
{
"type": "https://datatracker.ietf.org/doc/html/rfc9110#section-15.5.4",
"title": "Forbidden",
"status": 403,
"detail": "Authorization failed - insufficient permissions",
"instance": "/v1/integration/continuous/projects/{projectId}/pipelines/{pipelineId}/datasets",
"properties": {
"errorCode": "DI-ADAPTER-AUT-0002"
}
}
{
"type": "https://datatracker.ietf.org/doc/html/rfc9110#section-15.6",
"title": "Conflict",
"status": 409,
"detail": "A conflicting process is already in progress",
"instance": "/v1/integration/continuous/projects/{projectId}/pipelines/{pipelineId}/datasets",
"properties": {
"errorCode": "DI-ADAPTER-DTS-0003"
}
}
{
"type": "https://datatracker.ietf.org/doc/html/rfc9110#section-15.6",
"title": "Internal Server Error",
"status": 500,
"detail": "An unexpected error occurred",
"instance": "/v1/integration/continuous/projects/{projectId}/pipelines/{pipelineId}/datasets",
"properties": {
"errorCode": "DI-ADAPTER-DTS-0002"
}
}