Configures source-to-target table mappings for a specified pipeline within a continuous integration project.
HTML
POST https://hostname/v1/integration/continuous/projects/{projectId}/pipelines/{pipelineId}/mappingsProcess overview
- Resource Validation—Validates project and pipeline existence.
- Mapping Configuration—Applies source-to-target table mappings, supporting polymorphic source/target types (RDBMS, Kafka, Schema Registry).
- Customization—Allows per-target customization (column mappings, metadata fields).
- Fallback Logic—If columnMappings or includedCDCRowMetadata are not provided, defaults to exact mapping.
- Validation & Persistence—Validates and saves the mapping configuration.
Use cases
- Define or update table mappings for a pipeline.
- Support advanced mapping scenarios (custom columns, metadata).
- Integrate with multiple source and target types.
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 for which to configure mappings. |
Request body properties
| Ancestors | Property | Required | Type | Description |
|---|---|---|---|---|
| mappings | required | array[object] | List of mapping objects, each defining a 1-to-many source-to-target mapping. | |
| mappings | source | required | object | Source object (polymorphic). |
| mappings/source | type | No | string | The type of the source mapping (for example, RDBMS, KAFKA, SCHEMA_REGISTRY) |
| mappings | targets | No | array[object] | List of target objects (polymorphic, can be empty in direct mapping phase). |
| mappings/targets | connectionId | No | string | ID of the target connection; used to resolve target type and metadata. |
| mappings/targets | softDeleteColumn | No | string | Soft delete column name for the target. |
| mappings/targets | columnMappings | No | array[object] | List of column mappings for the target. |
| mappings/targets/columnMappings | sourceColumnName | No | string | |
| mappings/targets/columnMappings | sourceColType | No | string | |
| mappings/targets/columnMappings | targetColType | No | string | |
| mappings/targets/columnMappings | action | No | string | |
| mappings/targets/columnMappings | state | No | string | |
| mappings/targets/columnMappings | targetColumnNullableState | No | Type | |
| mappings/targets/columnMappings | sourceColumnNullableState | No | string | |
| mappings/targets/columnMappings | expression | No | boolean | |
| mappings/targets/columnMappings | fieldMappingType | No | string | |
| mappings/targets | includedCDCRowMetadata | No | array[string] | List of CDC row metadata fields to include for the target |
| mappings/targets | type | No | string | The type of the target mapping (for example, RDBMS, KAFKA, SCHEMA_REGISTRY). |
Response
Response body properties
| Ancestor | Property | Required | Type | Description |
|---|---|---|---|---|
| sourceDatabase | No | string | Name of the source database. | |
| sourceSchema | No | string | Name of the source schema. | |
| sourceTable | No | string |
Name of the source table. |
|
| targetDatabase | No | string |
Name of the target database. |
|
| targetSchema | No | string |
Name of the target schema. |
|
| targetTable | No | string |
Name of the target table. |
|
| targetTopic | No | string |
Name of the target topic. |
|
| targetSubject | No | string | Name of the target subject for schema registry. | |
| type | No | string | Type of the table mapping. | |
| hasCustomColMappings | No | boolean | Flag indicating whether the table has custom column mappings. | |
| includedCDCRowMetadata | No | array[string] | Metadata fields to include with change data records for this table mapping configuration, this overrides the Metadata fields defined at the pipeline level. | |
| schemaVersion | No | string | Version of the schema used for this mapping. | |
| softDeleteColumnName | No | string | Name of the column used for soft deletes. | |
| columnMappings | No | array[object] | List of column mappings for this table. | |
| columnMappings | sourceColumnName | No | string | Name of the source column. |
| columnMappings | targetColumnName | No | string | Name of the target column. |
| columnMappings | sourceColType | No | string | Data type of the source column. |
| columnMappings | targetColType | No | string | Data type of the target column. |
| columnMappings | action | No | string | Action to be performed for this column mapping. |
| columnMappings | state | No | string | Current state of the column mapping. |
| columnMappings | sourceColumnNullableState | No | string | Nullable state of the source column. |
| columnMappings | targetColumnNullableState | No | string | Nullable state of the target column. |
| columnMappings | metadataMapping | No | boolean | Flag indicating if this is a change data records metadata mapping. |
| columnMappings | mappingType | No | string | Type of mapping if this is FIELD / EXPRESSION / RRN. |
Response examples
Table mappings configured successfully.
[
{
"sourceDatabase": "sourceDb",
"sourceSchema": "dbo",
"sourceTable": "customers",
"targetDatabase": "targetDb",
"targetSchema": "public",
"targetTable": "customers_replica",
"type": "TARGET_EXISTS_WITH_MATCH",
"hasCustomColMappings": true,
"includedCDCRowMetadata": [],
"schemaVersion": "1",
"softDeleteColumnName": "is_deleted",
"columnMappings": [
{
"sourceColumnName": "id",
"targetColumnName": "id",
"sourceColType": "INT",
"targetColType": "INT",
"action": "Copy",
"state": "ACTIVE",
"sourceColumnNullableState": "BOTH_TARGET_AND_SOURCE_COLUMN_DATATYPE_SUPPORTED",
"targetColumnNullableState": "NOT_NULLABLE",
"metadataMapping": false,
"mappingType": "FIELD"
},
{
"sourceColumnName": "name",
"targetColumnName": "customer_name",
"sourceColType": "VARCHAR(100)",
"targetColType": "VARCHAR(150)",
"action": "Copy",
"state": "ACTIVE",
"sourceColumnNullableState": "BOTH_TARGET_AND_SOURCE_COLUMN_DATATYPE_SUPPORTED",
"targetColumnNullableState": "NULLABLE_WITH_DEFAULT_VALUE",
"metadataMapping": false,
"mappingType": "FIELD"
}
]
}
]
{
"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.4",
"title": "Forbidden",
"status": 403,
"detail": "Authorization failed - insufficient permissions",
"instance": "/v1/integration/continuous/projects/{projectId}/pipelines/{pipelineId}/mappings",
"properties": {
"errorCode": "DI-ADAPTER-AUT-0002"
}
}
{
"type": "https://datatracker.ietf.org/doc/html/rfc9110#section-15.5.5",
"title": "Not Found",
"status": 404,
"detail": "Not Found - Resource does not exist",
"instance": "/v1/integration/continuous/projects/{projectId}/pipelines/{pipelineId}/mappings",
"properties": {
"errorCode": "DI-ADAPTER-DFL-0007"
}
}
{
"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}/mappings",
"properties": {
"errorCode": "DI-ADAPTER-MAP-0002"
}
}