Map a Databricks source object to a Reltio interaction type
Learn more about the endpoint used to map a Databricks source object to a Reltio interaction type for Reltio Zero Copy Interaction Integration from Databricks.
Use Interaction mapping API to map a Databricks source object to a Reltio interaction type to define the Databricks object that Reltio queries, the interaction attributes that Reltio returns, and the member mappings that link Databricks rows to Reltio entities.
HTTP method and endpoint
PUT {platformUrl}/reltio/api/tenants/{tenantId}/zero-copy-interactions/mappings/{connectionId}
| Parameter | Type | Required | Description |
|---|---|---|---|
tenantId | String | Yes | Unique identifier of the tenant where the Databricks connection is defined. Example: ce5627DYnQ6abcD |
connectionId | String | Yes | Identifier of the Databricks connection configuration associated with this mapping. |
Request headers
| Header | Value | Required |
|---|---|---|
Authorization | Bearer <access_token> | Yes |
Content-Type | application/json | Yes |
Request body
| Parameter | Type | Required | Description | Accepted values / Default |
|---|---|---|---|---|
interaction_id | String | Yes | Unique identifier for the Databricks interaction mapping. | Example: customer_purchases_v1 |
interaction_type | String | Yes | Name of the existing Reltio interaction type used for the mapping. | Example: CustomerPurchase |
table_name | String | Yes | Fully qualified Databricks source object name. The source object can be a table or a view. | Format: catalog.schema.table |
timestamp_column | String | Yes | Source column used as the interaction timestamp. | Example: purchase_timestamp |
order_by_column | String | Yes | Source column used to sort the returned interaction rows. | Example: purchase_timestamp |
attributes | Array | Yes | List of Databricks source columns returned as interaction attributes. | — |
member_mappings | Array | Yes | Maps Reltio entity types to Databricks columns that contain crosswalk IDs. | — |
attributes array defines the Databricks source columns that Reltio returns as interaction attributes. The following table describes the fields in each attributes object.| Parameter | Type | Required | Description | Accepted values / Default |
|---|---|---|---|---|
attribute_display_name | String | Yes | Display name of the interaction attribute returned by Reltio. | Example: Amount |
column_name | String | Yes | Name of the Databricks source column for the attribute. | Example: amount |
data_type | String | Yes | Data type used for the mapped attribute. | Example: Decimal, String |
member_mappings array defines how Reltio links Databricks rows to Reltio entities. The following table describes the fields in each member_mappings object. | Parameter | Type | Required | Description | Accepted values / Default |
|---|---|---|---|---|
member_type | String | Yes | Reltio entity type linked by the mapping. | Example values: Individual, Organization, Location |
column_name | String | Yes | Name of the Databricks source column that contains the crosswalk ID for the entity type. | Example: customer_crosswalk_id |
Example request
PUT {platformUrl}/reltio/api/tenants/{tenantId}/zero-copy-interactions/mappings/{connectionId}
{
"interaction_id": "customer_purchases_v1",
"interaction_type": "CustomerPurchase",
"table_name": "reltio_interactions.customer_data.purchases",
"timestamp_column": "purchase_timestamp",
"order_by_column": "purchase_timestamp",
"attributes": [
{ "attribute_display_name": "Amount", "column_name": "amount", "data_type": "Decimal" },
{ "attribute_display_name": "Channel", "column_name": "channel", "data_type": "String" },
{ "attribute_display_name": "Product", "column_name": "product", "data_type": "String" }
],
"member_mappings": [
{ "member_type": "Individual", "column_name": "customer_crosswalk_id" },
{ "member_type": "Organization", "column_name": "org_crosswalk_id" }
]
}Response body
| Field | Type | Description |
|---|---|---|
successful | Boolean | Indicates whether the mapping operation succeeded. |
result | Array | List of saved mapping objects returned when the request succeeds. |
result[].interaction_id | String | Identifier of the saved interaction mapping. |
result[].interaction_type | String | Interaction type associated with the mapping. |
result[].table_name | String | Name of the mapped Databricks table or view. |
result[].database_name | String | Databricks catalog or database name returned for the mapped source object. |
result[].schema_name | String | Databricks schema name returned for the mapped source object. |
result[].order_by_column | String | Column used to sort the returned interaction rows. |
result[].attributes | Array | List of mapped interaction attributes returned in the saved mapping. |
result[].attributes[].attribute_name | String | Name of the mapped interaction attribute. |
result[].attributes[].column_name | String | Databricks source column mapped to the interaction attribute. |
result[].member_mappings | Array | List of saved entity-to-column mappings. |
result[].member_mappings[].member_type | String | Reltio entity type linked by the mapping. |
result[].member_mappings[].column_name | String | Databricks source column used to link the entity type. |
result[].created_time | String | Timestamp when the mapping was created. |
result[].updated_time | String | Timestamp when the mapping was last updated. |
result[].deleted | Boolean | Indicates whether the mapping is marked as deleted. |
result[].timestamp_column | String | Column used as the interaction timestamp. |
error | String | Error message returned when the request fails. |
Example response
200 OK with the saved mapping configuration. The response is similar to the following example.{
"successful": true,
"result": [
{
"interaction_id": "d444c359-438f-497a-b1a4-ee76d3f82914",
"interaction_type": "PurchaseOrder",
"table_name": "purchases",
"database_name": "reltio_interactions",
"schema_name": "reltio_zerocopy",
"order_by_column": "PURCHASE_DATE",
"attributes": [
{
"attribute_name": "Amount",
"column_name": "AMOUNT"
},
{
"attribute_name": "ProductCategory",
"column_name": "PRODUCT_CATEGORY"
},
{
"attribute_name": "CustomerId",
"column_name": "CUSTOMER_ID"
},
{
"attribute_name": "MerchantId",
"column_name": "MERCHANT_ID"
},
{
"attribute_name": "StoreId",
"column_name": "STORE_ID"
}
],
"member_mappings": [
{
"member_type": "Individual",
"column_name": "CUSTOMER_ID"
},
{
"member_type": "Organization",
"column_name": "PURCHASE_ID"
}
],
"created_time": "2026-04-02T10:17:07.609044726",
"updated_time": "2026-04-02T11:01:46.097983035",
"deleted": false,
"timestamp_column": "PURCHASE_DATE"
}
]
}400 Bad Request with an error response similar to the following examples. Review the response message, correct the related mapping values, and then submit the request again.{
"successful": false,
"error": "Attribute 'Amounts' is not configured for interaction type 'PurchaseOrder'. Available attributes: [TransactionDate, Amount, MerchantId, StoreId, ProductCategory, CustomerId]"
}{
"successful": false,
"error": "Failed to validate interaction type 'PurchaseOrders' for tenant 'ZeroCopyDataBricks': Code: TYPE_IS_NOT_FOUND; Message parameters: [configuration/interactionTypes/PurchaseOrders, ZeroCopyDataBricks]. Type is not found for URI configuration/interactionTypes/PurchaseOrders and tenant ZeroCopyDataBricks. Type is not found for URI configuration/interactionTypes/PurchaseOrders and tenant ZeroCopyDataBricks"
}