---
title: "Get table mapping by ID"
method: GET
path: "/v1/integration/continuous/projects/{projectId}/pipelines/{pipelineId}/mappings/{tableMappingId}"
tags: ["Build and Configure Continuous Integration Projects"]
---

# Get table mapping by ID

`GET /v1/integration/continuous/projects/{projectId}/pipelines/{pipelineId}/mappings/{tableMappingId}`

## 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}/mappings/{tableMappingId}`
- Auth: HTTP bearer

Retrieves a specific table mapping with resolved column mappings for the given project and pipeline.

**Features**
- Returns the authoritative mapping payload for a specific `tableMappingId`
- Includes both user-defined custom mappings and backend-resolved default mappings
- Supports optional `schemaVersion` for SCHEMA_REGISTRY targets only (keep empty for all other target types)

**Use cases**
- Inspect one mapping in detail before applying mapping updates
- Troubleshoot mapping output when pipeline/project retrieval does not include fully expanded defaults

**Parameters:**
- `projectId` - Project identifier
- `pipelineId` - Pipeline identifier
- `tableMappingId` - Table mapping identifier
- `schemaVersion` (optional) - Use only for SCHEMA_REGISTRY targets; keep empty for non-schema-registry targets

**Required Permissions:** `replication-pipeline::view`

## Path parameters

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

## Query parameters

- `schemaVersion` string

## Response `200`

Successfully retrieved table mapping details

- ContinuousTableMappingResponse: Response model containing table mapping information for continuous replication pipelines
  - `id` string: Unique identifier of the table mapping
  - `sourceDatabase` string: Name of the source database
  - `sourceSchema` string: Name of the source schema
  - `sourceTable` string: Name of the source table
  - `targetDatabase` string: Name of the target database
  - `targetSchema` string: Name of the target schema
  - `targetTable` string: Name of the target table
  - `targetTopic` string: Name of the target topic
  - `targetSubject` string: Name of the target subject for schema registry
  - `type` 'TARGET_EXISTS_WITH_MATCH' | 'TARGET_EXISTS_WITHOUT_MATCH' | 'TARGET_DOES_NOT_EXIST' | 'BOTH_TARGET_AND_SUBJECT_EXISTS_WITH_MATCH' | 'TARGET_EXISTS_WITHOUT_MATCH_AND_SUBJECT_EXISTS_WITH_MATCH' | 'TARGET_DOES_NOT_EXIST_AND_SUBJECT_EXISTS_WITH_MATCH' | 'TARGET_EXISTS_WITH_MATCH_AND_SUBJECT_EXISTS_WITHOUT_MATCH' | 'BOTH_TARGET_AND_SUBJECT_EXISTS_WITHOUT_MATCH' | 'TARGET_DOES_NOT_EXIST_AND_SUBJECT_EXISTS_WITHOUT_MATCH' | 'TARGET_EXISTS_WITH_MATCH_AND_SUBJECT_DOES_NOT_EXIST' | 'TARGET_EXISTS_WITHOUT_MATCH_AND_SUBJECT_DOES_NOT_EXIST' | 'BOTH_TARGET_AND_SUBJECT_DOES_NOT_EXIST': Type of the table mapping
  - `hasCustomColMappings` boolean: Flag indicating whether the table has custom column mappings
  - `includedCDCRowMetadata` 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` string: Version of the schema used for this mapping
  - `softDeleteColumnName` string: Name of the column used for soft deletes
  - `columnMappings` ColumnMappingResponse[]: List of column mappings for this table
    - `sourceColumnName` string: Name of the source column
    - `targetColumnName` string: Name of the target column
    - `sourceColType` string: Data type of the source column
    - `targetColType` string: Data type of the target column
    - `isDistributionKey` boolean: Flag indicating if this column is used as a distribution key
    - `action` 'Copy' | 'Ignore' | 'SoftDelete': Action to be performed for this column mapping
    - `state` 'TARGET_COLUMN_DATATYPE_NOT_SUPPORTED' | 'SOURCE_COLUMN_DATATYPE_NOT_SUPPORTED' | 'BOTH_TARGET_AND_SOURCE_COLUMN_DATATYPE_NOT_SUPPORTED' | 'BOTH_TARGET_AND_SOURCE_COLUMN_DATATYPE_SUPPORTED' | 'SOURCE_COLUMN_DATATYPE_SUPPORTED' | 'TARGET_AND_SOURCE_COLUMN_DATATYPE_NOT_COMPATIBLE' | 'NOT_CHECKED': Current state of the column mapping
    - `sourceColumnNullableState` 'NULLABLE_WITH_DEFAULT_VALUE' | 'NULLABLE_WITHOUT_DEFAULT_VALUE' | 'NON_NULLABLE_WITH_DEFAULT_VALUE' | 'NON_NULLABLE_WITHOUT_DEFAULT_VALUE': Nullable state of the source column
    - `targetColumnNullableState` 'NULLABLE_WITH_DEFAULT_VALUE' | 'NULLABLE_WITHOUT_DEFAULT_VALUE' | 'NON_NULLABLE_WITH_DEFAULT_VALUE' | 'NON_NULLABLE_WITHOUT_DEFAULT_VALUE': Nullable state of the target column
    - `metadataMapping` boolean: Flag indicating if this is a change data records metadata mapping
    - `mappingType` 'FIELD' | 'EXPRESSION' | 'RRN': Type of mapping if this is FIELD / EXPRESSION / RRN

## Other responses

- `400`: Bad Request - Validation error (missing/invalid identifiers or query parameters)
- `401`: Unauthorized - Authentication required, valid credentials not provided
- `403`: Forbidden - User lacks 'replication-pipeline::view' permission
- `404`: Not Found - Project, pipeline, or table mapping does not exist
- `500`: Internal Server Error - Failed to retrieve table mapping

---

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