Unify and manage your data

Unmapped Values API

The Unmapped values API allows you to list unmapped lookup values, list unmapped values by lookup type, create an unmapped value, get lookup codes for unmapped values, get unmapped lookup codes by applying search filters or facet search, and delete unmapped values.

Example: Unmapped Value Description

[
  {
    "uri": "rdm_tenant_name/Country/Reltio/US",
    "value": {
      "tenantId": "rdm_tenant_name",
      "updatedBy": "anton.artemyev",
      "updateDate": 1488465334673,
      "type": "rdm/lookupTypes/Country",
      "source": "Reltio",
      "code": "US",
      "value": "USA",
      "attributes": [
        {
          "name": "Continent",
          "value": "North America"
        },
        {
          "name": "Population",
          "value": "324947000"
        }
      ]
    }
  }
]
FieldDescriptionNecessary to Create Lookup Value
uriFull URI of Unmapped value. tenantId/type/sourcesystem/codeNo
valueYes
tenantidName of RDM tenantYes
updatedByThe user who last made the changes.
updatedDateDate of last updateYes
typeType of Lookup codeYes
sourceType of Source SystemYes
codeLookup code in certain sourceYes
valueLookup value in certain sourceYes
attributesList of attribute values associated with type of Lookup codeYes
nameAttribute nameYes
valueAttribute valueYes

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": "andrey.hudyakov",
    "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": "andrey.hudyakov",
    "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": "andrey.hudyakov",
    "updateDate": 1488465458384,
    "type": "rdm/lookupTypes/State",
    "source": "Reltio",
    "code": "AR",
    "value": "Arkansas",
    "attributes": [
      {
        "name": "Population",
        "value": "3000942"
      }
    ]
  }
]

DB Scan

Request:
POST https://{{rdm_uri}}/unmapped/rdm_tenant_name/_dbscan?limit=100
Authorization: Bearer {{token}}
  
{{scroll_id}}

Ensure that the value for {scrollId} is null during the first request and provide value from the subsequent requests.

Response:
{
  "scrollId": "CokBEoIBag9wfEFfQmlnVGVuYW50NTAwaxgAIAA",
  "values": [
  {
    "tenantId": "rdm_tenant_name",
    "updatedBy": "rdm_user",
    "updateDate": 1488465458384,
    "type": "rdm/lookupTypes/State",
    "source": "Reltio",
    "code": "AR",
    "value": "Arkansas",
    "version": 0,
    "attributes": [
      {
        "name": "Population",
        "value": "3000942"
      }
    ]
  },
  {
    "tenantId": "rdm_tenant_name",
    "updatedBy": "rdm_user",
    "updateDate": 1488465458384,
    "type": "rdm/lookupTypes/State",
    "source": "Reltio",
    "code": "CA",
    "value": "California",
    "version": 0,
    "attributes": [
      {
        "name": "Population",
        "value": "39240000"
      }
    ]
  },
  {
    "tenantId": "rdm_tenant_name",
    "updatedBy": "rdm_user",
    "updateDate": 1488465458384,
    "type": "rdm/lookupTypes/State",
    "source": "Reltio",
    "code": "KS",
    "value": "Kansas",
    "version": 0,
    "attributes": [
      {
        "name": "Population",
        "value": "2935000"
      }
    ]
  },
  ...
 ]
}

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": "andrey.hudyakov",
      "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": "andrey.hudyakov",
  "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 1. Search Filter Properties
Filter PropertiesDescription
typeLookup type name
sourceSource system
codeLookup code
valuevalue
updateDatelast lookup update date
updatedByThe user who last made the changes.
attributes.nameAttribute name
attributes.valueAttribute value

Sorting

Same properties as for search filter.

Ordering
Table 2. Ordering
OrderDescription
ascA to Z, 0 to 9
descZ to A, 9 to 0
Table 3. Filter Operators
Filter OperatorsDescription
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'

inSameAttributeValue (subquery on attributes)Returns the entities that have all values matching to subquery in one single attributes value.
Note: The subquery supports all operands except inSameAttributeValue.

All the operands must have sub attributes of one attributes value. The sub attribute from type and attributes.name cannot be used inside one inSameAttributeValue query.

Example:

filter=inSameAttributeValue(equals(attributes.name,'Continent') AND equals(attributes.value, 'North America'))

Facet Search

Facet search calculates the number of searched records for unmapped values.

Request
GET https://{{rdm_uri}}/unmapped/rdm_tenant_name/_facets?facet=source&filter=equals(type,'State')
Authorization: Bearer {{token}}
Table 4. Parameters
NameRequiredDescription
facetNoComma-separated list of facets to return. If this parameter is not specified, then all the facets will be returned.

The available facets are - source and type.

filterNo

Support all filter functions and operators as described above

maxNoThe number of terms to return. The default value is 0.
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"
}