Unify and manage your data

Uploading Lookup Values With or Without Canonical Values

Unmapped block is created when canonical code is not present during Lookup creation. The new trackUnidentifiedLookups parameter in RDM tenant configuration has been introduced. This parameter is boolean. By default it has a false value.

Example of RDM Tenant Configuration

{
    "tenantId": "unidentified_lookups",
    "label": "Tenant for Demonstrating upload lookups without canonical code",
    "trackUnidentifiedLookups": true,
    "lookupTypes": [
        {
            "uri": "rdm/lookupTypes/Country",
            "label": "Country",
            "enabled": true,
            "startDate": 0,
            "endDate": 0
        },
        {
            "uri": "rdm/lookupTypes/State",
  "label": "State",
            "enabled": false,
            "startDate": 0,
            "endDate": 0
        },
        {
            "uri": "rdm/lookupTypes/Province",
            "label": "Province",
            "enabled": true,
            "startDate": 0,
            "endDate": 0
        },
        {
            "uri": "rdm/lookupTypes/City",
            "label": "City",
            "enabled": true,
            "startDate": 0,
            "endDate": 0
        }
    ],
    "sources": [
        {
            "uri": "rdm/sources/Reltio",
            "abbreviation": "Reltio",
            "canonicalValueProvider": true
        },
        {
            "uri": "rdm/sources/AHA",
            "abbreviation": "AHA",
            "canonicalValueProvider": false
        },
        {
            "uri": "rdm/sources/HMS",
            "abbreviation": "HMS",
            "canonicalValueProvider": false
        },
        {
            "uri": "rdm/sources/TWITTER",
            "abbreviation": "TWITTER",
            "canonicalValueProvider": false
        }
    ]
}

Now, in the RDM Tenant Configuration, if the parameter trackUnidentifiedLookups is set to true, then all lookups without canonical code are converted to Unmapped values.

Request to Upload Lookups

POST https://<rdm_service>/lookups/unidentified_lookups
or
POST https://<rdm_service>/lookups/unidentified_lookups/Country

BODY
[
  {
    "tenantId": "unidentified_lookups",
    "type": "rdm/lookupTypes/Country",
    "code": "RU",
    "enabled": true,
    "sourceMappings": [
      {
        "source": "Reltio",
        "values": [
          {
            "code": "R1_1",
            "value": "Russian Federation",
            "enabled": true,
            "canonicalValue": true,
            "downStreamDefaultValue": true
          },
          {
            "code": "R1_2",
            "value": "Russian Federation",
            "enabled": true,
            "canonicalValue": false,
            "downStreamDefaultValue": false
          }
        ]
      },
      {
        "source": "AHA",

  "values": [
          {
            "code": "R2",
            "value": "Russia",
            "enabled": true,
            "canonicalValue": false,
            "downStreamDefaultValue": false
          }
        ]
      }
    ]
  },
  {
    "tenantId": "unidentified_lookups",
    "type": "rdm/lookupTypes/Country",
    "enabled": false,
    "sourceMappings": [
      {
        "source": "Reltio",
        "values": [
          {
            "code": "F1",
            "value": "France",
            "enabled": true,
            "canonicalValue": true,
            "downStreamDefaultValue": true
          }
        ]
      },
      {
        "source": "AHA",
        "values": [
          {
            "code": "F2_1",
            "value": "France [AHA 1]",
            "enabled": true,
            "canonicalValue": false,
            "downStreamDefaultValue": true
          },
          {
            "code": "F2_2",
            "value": "France [AHA 2]",
            "enabled": true,

  "canonicalValue": false,
            "downStreamDefaultValue": false
          }
        ]
      }
    ]
  },
  {
    "tenantId": "unidentified_lookups",
    "type": "rdm/lookupTypes/Country",
    "code": "CZ",
    "enabled": true,
    "sourceMappings": [
      {
        "source": "Reltio",
        "values": [
          {
            "code": "CZ1",
            "value": "Czech Republic",
            "enabled": true,
            "canonicalValue": true,
            "downStreamDefaultValue": true
          }
        ]
      },
      {
        "source": "AHA",
        "values": [
          {
            "code": "CZ2",
            "value": "Czech Republic",
            "enabled": false,
            "canonicalValue": false,
            "downStreamDefaultValue": true
          }
        ]
      }
    ]
  },
  {
    "tenantId": "unidentified_lookups",
    "type": "rdm/lookupTypes/Country",
    "enabled": true,

"sourceMappings": [
      {
        "source": "Reltio",
        "values": [
          {
            "code": "JA1",
            "value": "Japan",
            "enabled": true,
            "canonicalValue": true,
            "downStreamDefaultValue": true
          }
        ]
      },
      {
        "source": "AHA",
        "values": [
          {
            "code": "JA2",
            "value": "Japan [AHA]",
            "enabled": true,
            "canonicalValue": false,
            "downStreamDefaultValue": true
          }
        ]
      }
    ]
  }
]

Response


[
   {
        "uri": "unidentified_lookups/Country/RU",
        "value": {
            "tenantId": "unidentified_lookups",
            "type": "rdm/lookupTypes/Country",
            "code": "RU",
            "enabled": true,
            "sourceMappings": [
                {
                    "source": "Reltio",
                    "values": [
                        {
                            "code": "R1_1",
                            "value": "Russian Federation",
                            "enabled": true,
                            "canonicalValue": true,
                            "downStreamDefaultValue": true
                        },
                        {
                            "code": "R1_2",
                            "value": "Russian Federation",
                            "enabled": true,
                            "canonicalValue": false,
                            "downStreamDefaultValue": false
                        }
                    ]
                },
                {
                    "source": "AHA",
                    "values": [
                        {
                            "code": "R2",
                            "value": "Russia",
                            "enabled": true,
                            "canonicalValue": false,
                            "downStreamDefaultValue": true
                        }
                    ]
                }
            ],
            "startDate": 0,
            "endDate": 0,
            "updatedBy": "test.user@reltio.com",
            "updateDate": 1617275480624,
            "version": 1
        }
    },
    {
        "uri": "unidentified_lookups/Country/RELTIO_UNMAPPED",
        "value": {
            "tenantId": "unidentified_lookups",
            "type": "rdm/lookupTypes/Country",
            "code": "RELTIO_UNMAPPED",

   "enabled": false,
            "sourceMappings": [
                {
                    "source": "Reltio",
                    "values": [
                        {
                            "code": "F1",
                            "value": "France",
                            "enabled": true,
                            "canonicalValue": true,
                            "downStreamDefaultValue": true
                        }
                    ]
                },
                {
                    "source": "AHA",
                    "values": [
                        {
                            "code": "F2_1",
                            "value": "France [AHA 1]",
                            "enabled": true,
                            "canonicalValue": false,
                            "downStreamDefaultValue": true
                        },
                        {
                            "code": "F2_2",
                            "value": "France [AHA 2]",
                            "enabled": true,
                            "canonicalValue": false,
                            "downStreamDefaultValue": false
                        }
                    ]
                }
            ],
            "startDate": 0,
            "endDate": 0,
            "updatedBy": "",
            "updateDate": 0,
            "version": 0
        }
    },
    {
        "uri": "unidentified_lookups/Country/CZ",
        "value": {
            "tenantId": "unidentified_lookups",
            "type": "rdm/lookupTypes/Country",
            "code": "CZ",
            "enabled": true,
            "sourceMappings": [
                {
                    "source": "Reltio",
                    "values": [
                        {
                            "code": "CZ1",
                            "value": "Czech Republic",
                            "enabled": true,
                            "canonicalValue": true,
                            "downStreamDefaultValue": true
                        }
                    ]
                },
                {
                    "source": "AHA",
                    "values": [
                        {
                            "code": "CZ2",
                            "value": "Czech Republic",
                            "enabled": false,
                            "canonicalValue": false,
                            "downStreamDefaultValue": false
                        }
                    ]
                }
            ],
            "startDate": 0,
            "endDate": 0,
            "updatedBy": "test.user@reltio.com",
            "updateDate": 1617275480624,
            "version": 1
        }
    },
    {
        "uri": "unidentified_lookups/Country/RELTIO_UNMAPPED",
        "value": {
            "tenantId": "unidentified_lookups",
            "type": "rdm/lookupTypes/Country",

  "code": "RELTIO_UNMAPPED",
            "enabled": true,
            "sourceMappings": [
                {
                    "source": "Reltio",
                    "values": [
                        {
                            "code": "JA1",
                            "value": "Japan",
                            "enabled": true,
                            "canonicalValue": true,
                            "downStreamDefaultValue": true
                        }
                    ]
                },
                {
                    "source": "AHA",
                    "values": [
                        {
                            "code": "JA2",
                            "value": "Japan [AHA]",
                            "enabled": true,
                            "canonicalValue": false,
                            "downStreamDefaultValue": true
                        }
                    ]
                }
            ],
            "startDate": 0,
            "endDate": 0,
            "updatedBy": "",
            "updateDate": 0,
            "version": 0
        }
    }
]

Generated unmapped values

[
    {
        "tenantId": "unidentified_lookups",
        "type": "rdm/lookupTypes/Country",
        "source": "AHA",
        "code": "F2_2",
        "value": "France [AHA 2]",
        "updatedBy": "test.user@reltio.com",
        "updateDate": 1617294999312,
        "version": 0
    },
    {
        "tenantId": "unidentified_lookups",
        "type": "rdm/lookupTypes/Country",
        "source": "AHA",
        "code": "F2_1",
        "value": "France [AHA 1]",
        "updatedBy": "test.user@reltio.com",
        "updateDate": 1617294999312,
        "version": 0
    },
    {
        "tenantId": "unidentified_lookups",
        "type": "rdm/lookupTypes/Country",
        "source": "AHA",
        "code": "JA2",
        "value": "Japan [AHA]",
        "updatedBy": "test.user@reltio.com",
        "updateDate": 1617294999312,
        "version": 0
    },
    {
        "tenantId": "unidentified_lookups",
        "type": "rdm/lookupTypes/Country",
        "source": "Reltio",
        "code": "F1",
        "value": "France",
        "updatedBy": "test.user@reltio.com",
        "updateDate": 1617294999312,
        "version": 0
    },
    {
        "tenantId": "unidentified_lookups",
        "type": "rdm/lookupTypes/Country",
        "source": "Reltio",
        "code": "JA1",
        "value": "Japan",
        "updatedBy": "test.user@reltio.com",
        "updateDate": 1617294999312,
        "version": 0
    }
]
Table 1. Mapped Values
Field Description Necessary to Create Lookup Value
URI Full URI of Unmapped value. tenantId/type/sourcesystem/code No
value Unmappe value Yes
tenantid Name of RDM tenant Yes
updatedBy
updatedDate Date of last update Yes
type Type of Lookup code Yes
source Type of Source System Yes
code Lookup code in certain source Yes
value Lookup value in certain source Yes
attributes List of attribute values associated with type of Lookup code Yes
name Attribute name Yes
value Attribute value Yes

Unmapped Values API

List lookup values for tenant

Request:
GET https://{{rdm-service}}/unmapped/rdm_tenant_name
Authorization: Bearer {{token}}
Response:
[
  {
    "tenantId": "rdm_tenant_name",
    "updatedBy": "test.user@reltio.com",
    "updateDate": 1488465334673,
    "type": "rdm/lookupTypes/Country",
    "source": "AHA",
    "code": "US",
    "value": "USA",
    "version": 0,
    "attributes": [
      {
        "name": "Continent",
        "value": "North America"
      },
      {
        "name": "Population",
        "value": "324947000"
      }
    ]
  },
  {
    "tenantId": "rdm_tenant_name",
    "updatedBy": "test.user@reltio.com",
    "updateDate": 1488465458384,
    "type": "rdm/lookupTypes/State",
    "source": "Reltio",
    "code": "AR",
    "value": "Arkansas",
    "version": 0
  }
]

List Unmapped Values for Tenant by Type

Request
GET https://{{rdm_uri}}/unmapped/rdm_tenant_name/State
Authorization: Bearer {{token}}
Response:
[
  {
    "tenantId": "rdm_tenant_name",
    "updatedBy": "test.user@reltio.com",
    "updateDate": 1488465458384,
    "type": "rdm/lookupTypes/State",
    "source": "Reltio",
    "code": "AR",
    "value": "Arkansas",
    "attributes": [
      {
        "name": "Population",
        "value": "3000942"
      }
    ]
  }
]

Create Unmapped Value

Request (for one type):
POST https://{{rdm-service}}/unmapped/rdm_tenant_name/State
Authorization: Bearer {{token}}
[
  {
    "tenantId": "rdm_tenant_name",
    "type": "rdm/lookupTypes/State",
    "source": "Reltio",
    "code": "AR",
    "value": "Arkansas",
    "attributes": [
      {
        "name": "Population",
        "value": "3000942"
      }
    ]
  },
    ...(max 100 values in one request)...
]
Request (different types):
POST https://{{rdm-service}}/unmapped/rdm_tenant_name
Authorization: Bearer {{token}}
[
  {
    "tenantId": "rdm_tenant_name",
    "type": "rdm/lookupTypes/State",
    "source": "Reltio",
    "code": "AR",
    "value": "Arkansas",
    "attributes": [
      {
        "name": "Population",
        "value": "3000942"
      }
    ]
  },
    ...(max 100 values in one request)...
]
Response:
[
  {
    "uri": "rdm_tenant_name/State/Reltio/AR",
    "value": {
      "tenantId": "rdm_tenant_name",
      "updatedBy": "test.user@reltio.com",
      "updateDate": 1488465740166,
      "type": "rdm/lookupTypes/State",
      "source": "Reltio",
      "code": "AR",
      "value": "Arkansas",
      "attributes": [
        {
          "name": "Population",
          "value": "3000942"
        }
      ]
    }
  }
],
...

Get Unmapped Value

Request:
GET https://{{rdm-service}}/unmapped/rdm_tenant_name/State/Reltio/AR
Authorization: Bearer {{token}}
Response:
{
  "tenantId": "rdm_tenant_name",
  "updatedBy": "test.user@reltio.com",
  "updateDate": 1488465740166,
  "type": "rdm/lookupTypes/State",
  "source": "Reltio",
  "code": "AR",
  "value": "Arkansas",
  "attributes": [
    {
      "name": "Population",
      "value": "3000942"
    }
  ]
}

Search filters

Request
GET https://{{rdm-service}}/unmapped/rdm_tenant_name?filter=equals(type,'State')&sort=code&order=asc
Authorization: Bearer {{token}}
Table 2. Search Filter Properties
Filter Properties Description
type Lookup type name
source Source system
code Lookup code
value value
updateDate last lookup update date
updatedBy

Sorting

Same properties as for search filter.

Ordering
Table 3. Ordering
Order Description
asc A to Z, 0 to 9
desc Z to A, 9 to 0
Table 4. Filter Operators
Filter Operators Description
equals(property, value) exact match condition ignoring case
fullText(property, value) combines results into the overall result. Any entity whose title field contains at least one of the specified terms will match the query. The more terms that match, the more relevant the entity
startsWith(property, stricted value) prefix condition; returns entities that have condition property starting with condition value
contains(property, tokenized value)

prefix condition; returns entities that have condition property starting with condition value

lt(property, value) 'less than' condition
lte(property, value) 'less than or equals' condition
gt(property, value) 'greater than' condition
gte(property, value) 'greater than' or equals condition
missing(property) returns entities with fields that have no values for 'property' or 'property' value is empty
exists(property)

returns entities having some value for 'property'

Facet Search

Facet search uses the Google Search Index to calculate the number of searched records. However, it has limitations according to Query and Sorting Options.

Request
GET https://{{rdm_uri}}/unmapped/rdm_tenant_name/_facets?facet=source&filter=equals(type,'State')
Authorization: Bearer {{token}}
Table 5. Parameters
Name Required Description
facet No

Comma-separated list of facets to return. If this parameter is not specified than all facets will be returned.

Available facets: source, type

filter No

Support all filter functions and operators as described above

Response
{
  "source": {
    "Reltio": 1624,
    "Salesforce": 379,
    "Global": 621,
  },
  "type": {
    "rdm/lookupTypes/Country": 253,
    "rdm/lookupTypes/State": 987
  }
}

Get Dependencies by URIs

Get dependencies between lookup types by using multiple URIs.

Request:
POST https://{{rdm-service}}/dependencies/{{tenantId}}/_byUris
Authorization: Bearer {{token}}
{
    "uris" : [
        "rdm/lookupTypes/Country/US",
        "rdm/lookupTypes/Continent/SouthAmerica",
        ...
    ]
}
Response:
[
    {
        "uri": "rdm/lookupTypes/Country/US",
        "parents": [
            "rdm/lookupTypes/Continent/NorthAmerica"
        ],
        "dependent": [
            "rdm/lookupTypes/State/IL",
            "rdm/lookupTypes/State/KS",
            "rdm/lookupTypes/State/CA",
            "rdm/lookupTypes/State/NY"
        ]
    },
    {
        "uri": "rdm/lookupTypes/Continent/SouthAmerica",
        "dependent": [
            "rdm/lookupTypes/Country/AR",
            "rdm/lookupTypes/Country/BO",
            "rdm/lookupTypes/Country/BR",
            "rdm/lookupTypes/Country/CL"
        ]
    },
    ...
]

Delete Unmapped Values by URIs

Use this to delete unmapped values by their URIs (maximum number of URIs that can be deleted is 1000). The response contains an array of results for each URI, where the "success" status indicates that the unmapped values are either deleted successfully or do not exist. In case of an error, an error object is returned.

Request:
POST https://{{rdm_uri}}/unmapped/rdm_tenant_name/_delete
Authorization: Bearer {{token}}
 
{
    "uris" : [
        "rdm_tenant_name/State/Reltio/AR",
        "rdm_tenant_name/State/Reltio/CA",
        "rdm_tenant_name/State/Reltio/KA",
        ...
    ]
}
Response:
[
    {
        "uri": "rdm_tenant_name/State/Reltio/AR",
        "value": {
            "status" : "success"
        }
    },
    {
        "uri": "rdm_tenant_name/State/Reltio/CA",
        "value": {
            "status" : "success"
        }
    },
    {
        "uri": "rdm_tenant_name/State/Reltio/KA",
        "value": {
            "status" : "success"
        }
    },
    ...
]

Delete Unmapped Value

Use this to delete an unmapped value by its type, source system, and code. The response returns the "success" status if the unmapped value is deleted successfully or it does not exist. In case of an error, an error object is returned.

Request:
DELETE https://{{rdm-service}}/unmapped/rdm_tenant_name/State/Reltio/AR
Authorization: Bearer {{token}}
Response:
{
    "status" : "success"
}