Reference 360 > Reference 360 REST API > crosswalks
  

crosswalks

Use this resource to retrieve the details of a crosswalk, such as the properties, status, source code list, and target code list. You can also retrieve the value mappings for a code value.

Unlock a crosswalk

Unlocks a crosswalk that's locked by another user.
Note: To use the API, you require the Informatica Intelligent Cloud Services Reference 360 Administrator role.

PUT request

To unlock a crosswalk, submit a PUT request with the following URI:
/rdm-service/external/v1/crosswalks/<crosswalk ID>/unlock
Note: You can find the ID of assets in Reference 360 or use REST APIs to retrieve the IDs. For more information, see Asset IDs.

PUT response

A 202 accepted response is returned.

PUT example

To unlock a crosswalk, you might use the following request:
PUT https://use4-mdm.dm-us.informaticacloud.com/rdm-service/external/v1/crosswalks/653a21df0649f17aba8134d5/unlock HTTP/1.1
Accept: application/json
IDS-SESSION-ID: XXXXXXXXXXXXXXXXXXXXXX
The following sample response shows the accepted response:
HTTP/1.1 202 Accepted

Get crosswalk details

Retrieves the details of a crosswalk.

GET request

To retrieve the details of a crosswalk, submit a GET request with the following URI:
/rdm-service/external/v1/crosswalks/<crosswalk ID>
Note: You can find the ID of assets in Reference 360 or use REST APIs to retrieve the IDs. For more information, see Asset IDs.

GET response

The response contains the details of a crosswalk.
The following table describes the attributes in the response:
Field
Type
Description
id
String
ID of the asset. Assets include reference data sets, code lists, crosswalks, and hierarchies. For more information, see Asset IDs.
sourceCodelistId
String
ID of the source code list to which the crosswalk is associated.
targetCodelistId
String
ID of the target code list.
description
String
Optional. Description of asset.
status
String
Optional. Status of the asset.
confidentiality
String
Optional. Confidentiality of the asset.
sourceApplication
String
Optional. Application of the source code list.
targetApplication
String
Optional. Application of the target code list.
effectiveDate
String
Optional. Date the asset became effective.
approvedById
String
Optional. ID of the approver of the asset.
approvedByName
String
Optional. Username of the user who approved the asset.
approvedOn
String
Optional. Date the asset was approved.

GET example

To retrieve the details of a crosswalk, you might use the following request:
GET https://use4-mdm.dm-us.informaticacloud.com/rdm-service/external/v1/crosswalks/20c85dde693051cf8037f1eb HTTP/1.1
Accept: application/json
IDS-SESSION-ID: XXXXXXXXXXXXXXXXXXXXXX
The following sample response shows the details of a crosswalk:
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 300

{
"id" : "20c85dde693051cf8037f1eb",
"description" : "Sample Crosswalk",
"status" : "active",
"sourceCodelistId" : "f6821570be0fd451934dff86",
"targetCodelistId" : "628234c5ba9d033c33ff0284",
"confidentiality" : "private",
"effectiveDate" : "2007-04-01",
"approvedOn" : "2017-03-01"
}

Get history of a crosswalk by time range

Retrieves all the change events of a crosswalk for a specific time range.

GET request

To retrieve all the change events of a crosswalk for a specific time range, submit a GET request with the following URI:
/rdm-service/external/v1/crosswalks/<crosswalk ID>/summary/audit

GET request query parameters

You can append query parameters to the URI to specify the time range, page number, page size, and modification type.
The following table describes the query parameters:
Parameter
Description
from
Start date and time of a time range. The start date and time is inclusive. Set the time range in the ISO-8601 format: yyyy-MM-dd'T'HH:mm:ss'Z'. For example, you can set 2023-01-01T00:00:00Z.
to
End date and time of a time range. The end date and time is exclusive. Set the time range in the ISO-8601 format: yyyy-MM-dd'T'HH:mm:ss'Z'. For example, you can set 2024-01-01T00:00:00Z.
page
Optional. Page number to display. Default is 0.
pageSize
Optional. The number of records to display on each page. Default is 100. Maximum is 10000.
modificationType
Optional. Type of modification. Value can be CREATE, UPDATE, or DELETE.

GET response

The response contains the change events of a crosswalk for a specific time range.
The following table describes the attributes in the response:
Attributes
Type
Description
pageSize
Number
The number of records displayed on each page.
page
Number
Page number displayed.
numberOfElements
Number
The number of events.
lastPage
Boolean
Indicates whether the current page is the last page in the total result.
firstPage
Boolean
Indicates whether the current page is the first page in the total result.
content
Array
Includes the list of modification events.
asset
Object
Includes details about the crosswalk.
modificationType
String
The type of change made to the crosswalk.
fieldChanges
Object
Displays the previous and new values of the fields with changes.
attributeChanges
Object
Displays the previous and new values of the attributes with changes.
eventTime
String
The date and time the crosswalk was last modified.
userName
String
The user name of the user who initiated the modification.

GET example

To retrieve all the change events of a crosswalk for a specific time range, you might use the following request:
GET https://use4-mdm.dm-us.informaticacloud.com/rdm-service/external/v1/crosswalks/cf4f97026e010a95e19c9e79/summary/audit?from=2023-01-01T00:00:00Z&to=2024-01-01T00:00:00Z HTTP/1.1
Accept: application/json
IDS-SESSION-ID: XXXXXXXXXXXXXXXXXXXXXX
The following sample response shows the change events of the crosswalk from 2023-01-01T00:00:00Z to 2024-01-01T00:00:00Z:
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1247

{
"pageSize":100,
"page":0,
"numberOfElements":3,
"lastPage":true,
"firstPage":true,
"content":[
{
"asset":{
"id":"640707a46b19964cc917d0c8",
"name":"Enterprise Country to ISO 3166-1 numeric",
"assetType":"CROSSWALK"
},
"modificationType":"UPDATE",
"fieldChanges":{
"description":{
"newValue":"Mapping from ISO 3166-1 alpha2 and ISO 3166-1 alpha3 to ISO 3166-1 numeric"
},
"status":{
"newValue":{
"key":"ActiveKey",
"label":"Active"
}
}
},
"eventTime":"2023-03-07T09:45:37Z",
"userName":"integration-test-admin"
},
{
"asset":{
"id":"640707a46b19964cc917d0c8",
"name":"Enterprise Country to ISO 3166-1 numeric",
"assetType":"CROSSWALK"
},
"modificationType":"UPDATE",
"eventTime":"2023-03-07T09:45:11Z",
"userName":"integration-test-admin"
},
{
"asset":{
"id":"640707a46b19964cc917d0c8",
"name":"Enterprise Country to ISO 3166-1 numeric",
"assetType":"CROSSWALK"
},
"modificationType":"CREATE",
"eventTime":"2023-03-07T09:45:08Z",
"userName":"integration-test-admin"
}
]
}

Get value mappings for a code value

Retrieve the value mappings for a code value.
You identify the code value that you want to retrieve value mappings for by specifying the value in the Code attribute.
Note: You cannot use the + symbol inside the code field value.

GET request

To retrieve the value mappings for a code value, submit a GET request with the following URI and specify the code:
/rdm-service/external/v1/crosswalks/{crosswalk ID}/mappings?Code={code}

GET response

The response contains the value mappings for the code value.
The following table describes the attributes in the response:
Field
Type
Description
Code
String
Value in the Code attribute of the source code value.
mappings
Array
Includes the values in the Code attribute of the target code values.

GET example

To retrieve the value mappings for the code value, you might use the following request:
GET https://use4-mdm.dm-us.informaticacloud.com/rdm-service/external/v1/crosswalks/69d08b8c300e9d1aed32a777/mappings?Code=DE HTTP/1.1
Accept: application/json
IDS-SESSION-ID: XXXXXXXXXXXXXXXXXXXXXX
The following sample response shows value mappings:
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 92

[
{
"Code":"DE",
"mappings":[
"Code 1",
"Code 2",
"Code 3",
"Code 4",
"Code 5"
]
}
]

Get history of value mappings of a crosswalk by time range

Retrieves all the change events of value mappings of a crosswalk for a specific time range.

GET request

To retrieve all the change events of value mappings of a crosswalk for a specific time range, submit a GET request with the following URI:
/rdm-service/external/v2/crosswalks/<crosswalk ID>/mappings/audit

GET request query parameters

You can append query parameters to the URI to specify the time range, page number, page size, and modification type.
The following table describes the query parameters:
Parameter
Description
from
Start date and time of a time range. The start date and time is inclusive. Set the time range in the ISO-8601 format: yyyy-MM-dd'T'HH:mm:ss'Z'. For example, you can set 2023-01-01T00:00:00Z.
to
End date and time of a time range. The end date and time is exclusive. Set the time range in the ISO-8601 format: yyyy-MM-dd'T'HH:mm:ss'Z'. For example, you can set 2024-01-01T00:00:00Z.
page
Optional. Page number to display. Default is 0.
pageSize
Optional. The number of records to display on each page. Default is 100. Maximum is 10000.
modificationType
Optional. Type of modification. Value can be CREATE or DELETE.

GET response

The response contains the change events of value mappings of a crosswalk for a specific time range.
The following table describes the attributes in the response:
Attribute
Type
Description
pageSize
Number
The number of records displayed on each page.
page
Number
Page number displayed.
numberOfElements
Number
The number of events.
lastPage
Boolean
Indicates whether the current page is the last page in the total result.
firstPage
Boolean
Indicates whether the current page is the first page in the total result.
content
Array
Includes the list of modification events.
asset
Object
Includes details about the value mappings of the crosswalk.
modificationType
String
The type of change made to the value mappings of the crosswalk.
from
Object
Displays the previous and new values of the child node in the relationship.
to
Object
Displays the previous and new values of the parent node in the relationship.
eventTime
String
The date and time the crosswalk was last modified.
userName
String
The user name of the user who initiated the modification.

GET example

To retrieve all the change events of a crosswalk for a specific time range, you might use the following request:
GET https://use4-mdm.dm-us.informaticacloud.com/rdm-service/external/v2/crosswalks/cf4f97026e010a95e19c9e79/mappings/audit?from=2023-01-01T00:00:00Z&to=2024-01-01T00:00:00Z HTTP/1.1
Accept: application/json
IDS-SESSION-ID: XXXXXXXXXXXXXXXXXXXXXX
The following sample response shows the change events of the value mappings of a crosswalk from 2023-01-01T00:00:00Z to 2024-01-01T00:00:00Z:
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1763

{
"pageSize":100,
"page":0,
"numberOfElements":5,
"lastPage":true,
"firstPage":true,
"content":[
{
"asset":{
"id":"640707a46b19964cc917d0c8",
"assetType":"CROSSWALK"
},
"modificationType":"DELETE",
"from":{
"previousValue":"Antarctica"
},
"to":{
"previousValue":"Albania"
},
"eventTime":"2023-03-07T09:46:49Z",
"userName":"integration-test-admin"
},
{
"asset":{
"id":"640707a46b19964cc917d0c8",
"assetType":"CROSSWALK"
},
"modificationType":"CREATE",
"from":{
"newValue":"Antarctica"
},
"to":{
"newValue":"Albania"
},
"eventTime":"2023-03-07T09:46:42Z",
"userName":"integration-test-admin"
},
{
"asset":{
"id":"640707a46b19964cc917d0c8",
"assetType":"CROSSWALK"
},
"modificationType":"CREATE",
"from":{
"newValue":"Antarctica"
},
"to":{
"newValue":"Antarctica"
},
"eventTime":"2023-03-07T09:45:54Z",
"userName":"integration-test-admin"
},
{
"asset":{
"id":"640707a46b19964cc917d0c8",
"assetType":"CROSSWALK"
},
"modificationType":"CREATE",
"from":{
"newValue":"Albania"
},
"to":{
"newValue":"Albania"
},
"eventTime":"2023-03-07T09:45:50Z",
"userName":"integration-test-admin"
},
{
"asset":{
"id":"640707a46b19964cc917d0c8",
"assetType":"CROSSWALK"
},
"modificationType":"CREATE",
"from":{
"newValue":"Afghanistan"
},
"to":{
"newValue":"Afghanistan"
},
"eventTime":"2023-03-07T09:45:46Z",
"userName":"integration-test-admin"
}
]
}

Delete value mappings of a crosswalk

To delete value mappings of a crosswalk, you must retrieve the list of all mappings of the crosswalk by crosswalk identifier and then delete value mappings of the crosswalk by mapped source and target code values.

List value mappings of a crosswalk by crosswalk identifier

Retrieves all value mappings of a crosswalk by crosswalk identifier.

GET request

To retrieve all mappings of a crosswalk by crosswalk identifier, submit a GET request with the following URI:
/rdm-service/external/v2/crosswalks/{crosswalkIdentifier}/mappings?page={page}&pageSize={pageSize}
Note: This API also supports crosswalks created from code lists belonging to different reference data sets.

GET request query parameters

You can append query parameters to the URI to specify the page number and page size.
The following table lists the query parameters:
Field
Type
Description
page
Number
Page number to display. Default is 0.
pageSize
Number
Number of records to display on each page. Default is 100.

GET response

The response contains the mappings of a specific crosswalk by crosswalk identifier.
The following table describes the attributes in the response:
Field
Type
Description
mappings
Array
List of mappings for the specified crosswalk.
Code
String
Source code value of a crosswalk mapping.
targetCode
String
Target code value of a crosswalk mapping.
page
Number
Page number to display. Default is 0.
pageSize
Number
Number of records to display on each page. Default is 100.
firstPage
Boolean
Indicates whether the current page is the first page of the total results.
lastPage
Boolean
Indicates whether the current page is the last page of the total results.
numberOfElements
Number
Number of records returned in the current page.
totalNumberOfElements
Number
Total number of records found.

GET example

To retrieve the mappings of a specific crosswalk by crosswalk identifier, you might use the following request:
GET https://use4-mdm.dm-us.informaticacloud.com/rdm-service/external/v2/crosswalks/daf0cc189e530b6979ac77ce/mappings?page=0&pageSize=100 HTTP/1.1
Accept: application/json
The following sample response shows the mappings of a specific crosswalk by crosswalk identifier:
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 465

{
"pageSize":100,
"page":0,
"totalNumberOfElements":5,
"numberOfElements":5,
"lastPage":true,
"firstPage":true,
"mappings":[
{
"Code":"code1",
"targetCode":"targetCode1"
},
{
"Code":"code2",
"targetCode":"targetCode2"
},
{
"Code":"code3",
"targetCode":"targetCode3"
},
{
"Code":"code4",
"targetCode":"targetCode4"
},
{
"Code":"code5",
"targetCode":"targetCode5"
}
]
}

Delete value mappings of a crosswalk by mapped source and target code values

Delete value mappings of a crosswalk by mapped source and target code values.

POST request

To delete value mappings of a crosswalk by mapped source and target code values, submit a POST request with the following URI:
/rdm-service/external/v2/crosswalks/{crosswalkIdentifier}/mappings
Use the following parameters in the request body to specify the value mappings of a crosswalk to delete:
Field
Type
Description
action
String
Action to perform.
mappings
Array
List of mappings for the specified crosswalk.
Code
String
Source code value of a crosswalk mapping.
targetCode
String
Target code value of a crosswalk mapping.

POST response

A 204 no content response is returned.

POST example

To delete value mappings of a crosswalk by mapped source and target code values, you might use the following request:
POST https://use4-mdm.dm-us.informaticacloud.com/rdm-service/external/v2/crosswalks/daf0cc189e530b6979ac77ce/mappings HTTP/1.1
Content-Type: application/json
Content-Length: 384

{
"action":"DELETE",
"mappings":[
{
"Code":"sourceCode1",
"targetCode":"targetCode1"
},
{
"Code":"sourceCode2",
"targetCode":"targetCode2"
},
{
"Code":"sourceCode3",
"targetCode":"targetCode3"
},
{
"Code":"sourceCode4",
"targetCode":"targetCode4"
},
{
"Code":"sourceCode5",
"targetCode":"targetCode5"
}
]
}
The following sample response shows the no content response:
HTTP/1.1 204 No Content

Delete duplicate mappings of a crosswalk

The delete request runs a crosswalk cleanser job that scans all mappings of a crosswalk and removes the duplicate mappings.

DELETE request

To delete duplicate mappings of a crosswalk, submit a DELETE request with the following URI:
/rdm-service/external/v1/crosswalks/{crosswalkIdentifier}/mappings/duplicates
Note: You must execute this API to run the crosswalk cleanser job only if you find duplicate crosswalk mappings in the exported CSV file. The CSV file must be exported using export v3 API at a point in time.

DELETE response

A 202 accepted response is returned.

DELETE example

To delete duplicate mappings of a crosswalk, you might use the following request:
DELETE https://use4-mdm.dm-us.informaticacloud.com/rdm-service/external/v1/crosswalks/12102ba6924d0279d40bf5b1/mappings/duplicates HTTP/1.1
Content-Type: application/json
The following sample response shows the accepted response:
HTTP/1.1 202 Accepted

Get job details of a crosswalk cleanser job

Retrieves job details of a crosswalk cleanser job.

GET request

To get the job details of a crosswalk cleanser job, submit a GET request with the following URI:
/rdm-service/external/v1/crosswalks/{crosswalkIdentifier}/mappings/duplicates/status

GET response

The response contains the details of the crosswalk cleanser job, such as the status of the crosswalk cleanser job, number of records processed for import, and the error details.
The following table describes the attributes in the response:
Field
Type
Description
crosswalkId
String
Identifier of the crosswalk for which the crosswalk cleanser job was triggered.
createdBy
String
User name of the user who triggered the crosswalk cleanser job.
createdDate
String
Date when the crosswalk cleanser job was triggered.
status
String
Status of the crosswalk cleanser job.
jobDetails
Object
Details of the crosswalk cleanser job.
initialNumberOfMappings
Number
Number of existing crosswalk mappings.
invalidSourcePKeyReport
Object
Details of invalid mappings.
numberOfRecords
Number
Number of invalid records.
numberOfSuccessRecords
Number
Number of invalid records that were successfully deleted.
numberOfFailedRecords
Number
Number of invalid records that were not deleted.
errors
Array
Details of the errors.
errorCode
String
Error code for the error type.
errorSummary
String
Message that explains why the invalid records are not deleted.
errorParameter
Object
Error parameter.

GET example

To get the job details of a crosswalk cleanser job, you might use the following request:
GET https://use4-mdm.dm-us.informaticacloud.com/rdm-service/external/v1/crosswalks/12102ba6924d0279d40bf5b1/mappings/duplicates/status HTTP/1.1
Accept: application/json
The following sample response shows the job details of a crosswalk cleanser job:
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 555

{
"crosswalkId":"12102ba6924d0279d40bf5b1",
"createdBy":"12bb7c6b10e23be958e8b270",
"createdDate":"2021-12-10T11:29:34.174+00:00",
"status":"RUNNING",
"jobDetails":{
"initialNumberOfMappings":10,
"invalidSourcePKeyReport":{
"numberOfRecords":5,
"numberOfSuccessRecords":4,
"numberOfFailedRecords":1
}
},
"errors":[
{
"errorCode":"RDM.0010000",
"errorSummary":"Unable to fix the sourcePkey",
"errorParameter":{
"sourcePkey":"619cd13b57eb9948fa585d65"
}
}
]
}

Known limitation

If the crosswalk cleanser job fails to remove duplicate mappings of a crosswalk, the API response returns the RDM.0010269 error code.
To avoid duplicate mappings in the crosswalk when the crosswalk cleanser job fails, perform the following actions:
  1. 1In Reference 360, open the specific crosswalk.
  2. 2Click Export mappings to export the value mappings of the crosswalk.
  3. 3Delete the crosswalk.
  4. 4Create another crosswalk between the same source and target code lists.
  5. 5Open the crosswalk and click Import Mappings to import the exported CSV file to the crosswalk.