Unify and manage your data

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

Use the following HTTP method and endpoint path to save a mapping between a Databricks source object and a Reltio interaction type.
PUT {platformUrl}/reltio/api/tenants/{tenantId}/zero-copy-interactions/mappings/{connectionId}
The following table describes the endpoint path parameters.
ParameterTypeRequiredDescription
tenantIdStringYesUnique identifier of the tenant where the Databricks connection is defined.

Example: ce5627DYnQ6abcD

connectionIdStringYesIdentifier of the Databricks connection configuration associated with this mapping.

Request headers

The following request headers must be included.
HeaderValueRequired
AuthorizationBearer <access_token>Yes
Content-Typeapplication/jsonYes

Request body

Use the request body to define the Databricks source object and the mapping rules used by Reltio Zero Copy Interaction Integration from Databricks. The following table describes the main request body parameters.
ParameterTypeRequiredDescriptionAccepted values / Default
interaction_idStringYesUnique identifier for the Databricks interaction mapping.Example: customer_purchases_v1
interaction_typeStringYesName of the existing Reltio interaction type used for the mapping.Example: CustomerPurchase
table_nameStringYesFully qualified Databricks source object name. The source object can be a table or a view.Format: catalog.schema.table
timestamp_columnStringYesSource column used as the interaction timestamp.Example: purchase_timestamp
order_by_columnStringYesSource column used to sort the returned interaction rows.Example: purchase_timestamp
attributesArrayYesList of Databricks source columns returned as interaction attributes.
member_mappingsArrayYesMaps Reltio entity types to Databricks columns that contain crosswalk IDs.
The attributes array defines the Databricks source columns that Reltio returns as interaction attributes. The following table describes the fields in each attributes object.
ParameterTypeRequiredDescriptionAccepted values / Default
attribute_display_nameStringYesDisplay name of the interaction attribute returned by Reltio.Example: Amount
column_nameStringYesName of the Databricks source column for the attribute.Example: amount
data_typeStringYesData type used for the mapped attribute.Example: Decimal, String
The member_mappings array defines how Reltio links Databricks rows to Reltio entities. The following table describes the fields in each member_mappings object.
ParameterTypeRequiredDescriptionAccepted values / Default
member_typeStringYesReltio entity type linked by the mapping.Example values: Individual, Organization, Location
column_nameStringYesName of the Databricks source column that contains the crosswalk ID for the entity type.Example: customer_crosswalk_id

Example request

Use the following example to map a Databricks source object to a Reltio interaction type.
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

The following table describes the fields returned in the response body when the request is successful.
FieldTypeDescription
successfulBooleanIndicates whether the mapping operation succeeded.
resultArrayList of saved mapping objects returned when the request succeeds.
result[].interaction_idStringIdentifier of the saved interaction mapping.
result[].interaction_typeStringInteraction type associated with the mapping.
result[].table_nameStringName of the mapped Databricks table or view.
result[].database_nameStringDatabricks catalog or database name returned for the mapped source object.
result[].schema_nameStringDatabricks schema name returned for the mapped source object.
result[].order_by_columnStringColumn used to sort the returned interaction rows.
result[].attributesArrayList of mapped interaction attributes returned in the saved mapping.
result[].attributes[].attribute_nameStringName of the mapped interaction attribute.
result[].attributes[].column_nameStringDatabricks source column mapped to the interaction attribute.
result[].member_mappingsArrayList of saved entity-to-column mappings.
result[].member_mappings[].member_typeStringReltio entity type linked by the mapping.
result[].member_mappings[].column_nameStringDatabricks source column used to link the entity type.
result[].created_timeStringTimestamp when the mapping was created.
result[].updated_timeStringTimestamp when the mapping was last updated.
result[].deletedBooleanIndicates whether the mapping is marked as deleted.
result[].timestamp_columnStringColumn used as the interaction timestamp.
errorStringError message returned when the request fails.

Example response

If the request succeeds, this operation returns HTTP 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"
    }
  ]
}
If the request fails, the API returns HTTP 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"
}