Configures source-to-target table mappings for a specified pipeline within a mainframe integration project.
HTML
POST https://hostname/v1/integration/mainframe/projects/{projectId}/pipelines/{pipelineId}/mappingsProcess Overview
- Resource Validation—Validates project and pipeline existence
- Mapping Configuration—Applies source-to-target table mappings, supporting RDBMS source to RDBMS target type mappings)
- Customization—Allows per-source customization (schema casing, table casing and column casing)
- Validation & Persistence—Validates and saves the mapping configuration
Use cases
- Define or update table mappings for a pipeline
- Support advanced mapping scenarios (schema casing, table casing and column casing)
- Integrate with RDBMS source to RDBMS target type mapping for a reverse-sync mainframe pipeline
Required permissions
replication-pipeline::manage
Request
Path parameters
| Key | Required | Type | Description |
|---|---|---|---|
| projectId | Yes | string |
The unique identifier of the project containing the pipeline. |
| pipelineId | Yes | string |
The unique identifier of the pipeline for which to configure mappings. |
Request body properties
| Ancestors | Property | Required | Type | Description |
|---|---|---|---|---|
| mappings | No | array[object] | List of mapping objects, each defining a 1-to-1 source-to-target mapping. | |
| mappings | source | No | object | Source mapping configuration. |
| mappings/source | database | No | string | Database name of the source. |
| mappings/source | schema | No | string | Schema name of the source. |
| mappings/source | table | No | string | Table name of the source. |
| mappings/source | schemaCase | No | string | Case transformation to apply to source schema names. Default is NONE. |
| mappings/source | tableCase | No | string | Case transformation to apply to source table names. Default is NONE. |
| mappings/source | columnCase | No | string | Case transformation to apply to source column names. Default is NONE. |
| mappings | target | No | object | Target mapping configuration |
| mappings/target | database | No | string | Database name of the target. |
| mappings/target | schema | No | string | Schema name of the target. |
| mappings/target | table | No | string | Table name of the target. |
Request body example
{
"mappings": [
{
"source": {
"schema": "sourceSchema",
"table": "sourceTable1",
"schemaCase": "MATCH_ORIGINAL_CASE",
"tableCase": "UPPER_CASE",
"columnCase": "LOWER_CASE"
},
"target": {
"schema": "targetSchema",
"table": "targetTable1"
}
},
{
"source": {
"schema": "sourceSchema",
"table": "sourceTable2",
"schemaCase": "MATCH_ORIGINAL_CASE",
"tableCase": "UPPER_CASE",
"columnCase": "LOWER_CASE"
},
"target": {
"schema": "targetSchema",
"table": "targetTable2"
}
}
]
}
Response
Response body properties
| 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. |
| sourceSchemaCase | No | string | Case transformation to apply to source schema names. Default is NONE. |
| sourceTableCase | No | string | Case transformation to apply to source table names. Default is NONE. |
| sourceColumnCase | No | string | Case transformation to apply to source column names. Default is NONE. |
Response body examples
Example status code responses for this method are shown here. To view the response schemas, you can download the Data Integration API specification (Precisely Integration Adapter Service) from the Precisely Developer Portal.
[
{
"sourceSchema": "sourceSchema",
"sourceTable": "sourceTable1",
"targetSchema": "targetSchema",
"targetTable": "targetTable1",
"sourceSchemaCase": "MATCH_ORIGINAL_CASE",
"sourceTableCase": "UPPER_CASE",
"sourceColumnCase": "LOWER_CASE"
},
{
"sourceSchema": "sourceSchema",
"sourceTable": "sourceTable2",
"targetSchema": "targetSchema",
"targetTable": "targetTable2",
"sourceSchemaCase": "MATCH_ORIGINAL_CASE",
"sourceTableCase": "UPPER_CASE",
"sourceColumnCase": "LOWER_CASE"
}
]
{
"type": "https://datatracker.ietf.org/doc/html/rfc9110#section-15.5.1",
"title": "Bad Request",
"status": 400,
"detail": "Validation error occurred",
"instance": "/v1/integration/mainframe/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/mainframe/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/mainframe/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/mainframe/projects/{projectId}/pipelines/{pipelineId}/mappings",
"properties": {
"errorCode": "DI-ADAPTER-MAP-0002"
}
}