Use this resource to export and import reference data sets and hierarchies.
The model resource exports and imports reference data sets and hierarchies, including the following objects:
•Basic and advanced rule associations of code list attributes
•Crosswalks
•User groups in the stakeholder configuration of assets
•Workflow configurations that contain workflow tasks with user group assignments
The model resource doesn't export and import the data in code lists or crosswalks, such as code values and value mappings.
When you migrate reference data sets and hierarchies, the model resource doesn't export the rule specifications for advanced rule associations that are configured for code list attributes. The model resource includes only the names and location of the rule specifications in Cloud Data Quality to identify the rule specification details.
Before you import the exported model, ensure that you migrate the rule specifications from Cloud Data Quality to the same locations in your target organization. If the target organization doesn't contain the rule specifications, the import model imports the fields that are configured with the advanced rule associations without the rule. You can also view the details of the objects that were ignored during the import in the import model report.
To export and import data, use the export and import resources.
Export model
Exports the reference data sets and hierarchies.
Note: When you create a crosswalk between code lists of different reference data sets, if you don't specify the IDs of the source and target reference data sets, the crosswalk export fails without a warning message.
POST request
To export the reference data sets and hierarchies, submit a POST request with the following URI:
/rdm-service/external/v3/model/export
The export model API might time out if the export process takes longer than 5 minutes.
Use the following attributes in the request body to specify the reference data sets and hierarchies to export:
Field
Type
Description
referenceDataSetIds
Array
Comma-separated list of IDs of reference data sets to export. If you don't specify IDs, all reference data sets are exported.
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.
hierarchyIds
Array
Comma-separated list of IDs of hierarchies to export. If you don't specify IDs, all hierarchies are exported.
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.
POST response
The response contains the exported assets.
The following table describes the attributes in the response:
Field
Type
Description
version
String
Version of the export file.
referenceDataSets
-
Includes details about the reference data set.
id
String
ID of the reference data sets. For more information, see Asset IDs.
name
String
Name of the asset.
description
String
Description of the asset.
hierarchical
Boolean
Indicates whether code lists in the reference data set inherit the hierarchical structure definition.
levels
Number
Number of hierarchical levels supported in the code lists associated with the reference data set.
If hierarchical levels are not provided, value is 1. If hierarchical levels are unlimited, value is -1.
defaultList
String
ID of the default code list.
domain
String
Optional. Domain of the asset.
confidentiality
String
Optional. Confidentiality of the asset.
priority
String
Optional. Priority of the asset.
status
String
Optional. Status of the asset.
codeValueFields
-
Includes the attribute definition for code values in the reference data set.
name
String
Name of the field.
origin
String
Origin of the definition of the field.
datatype
String
Datatype of the field. Values are String, Integer, Decimal, Boolean, Date, or Reference Data.
mandatory
Boolean
Indicates whether the attribute is required.
dependencyDef
-
Includes the definition of the asset specified as the dependency.
termId
String
ID of the asset specified as the dependency.
assetStakeholders
-
Stakeholders associated to the asset.
codeLists
-
Includes details about the code list.
id
String
ID of the code lists. For more information, see Asset IDs.
termId
String
ID of the reference data set to which the code list is associated.
name
String
Name of the asset.
description
String
Description of the asset.
hierarchical
Boolean
Indicates whether code lists in the reference data set inherit the hierarchical structure definition.
levels
Number
Number of hierarchical levels supported in the code lists associated with the reference data set.
If hierarchical levels are not provided, value is 1. If hierarchical levels are unlimited, value is -1.
codeValueFields
-
Includes the attribute definition for code values in the reference data set.
name
String
Name of the field.
origin
String
Origin of the definition of the field.
datatype
String
Datatype of the field. Values are String, Integer, Decimal, Boolean, Date, or Reference Data.
mandatory
Boolean
Indicates whether the attribute is required.
dependencyDef
-
Includes the definition of the asset specified as the dependency.
termId
String
ID of the asset specified as the dependency.
displayColumns
Array
Display columns used as labels for code values associated with the dependent asset.
dqValidationInfo
-
Includes details about the basic and advanced rule associations of code list attributes.
assetStakeholders
-
Stakeholders associated to the asset.
assetWorkflowConfiguration
-
Workflow configuration of the asset.
crosswalks
-
Details about the crosswalk.
id
String
ID of the crosswalks. For more information, see Asset IDs.
description
String
Description of the asset.
status
String
Status of the asset.
sourceCodelistId
String
ID of the source code list to which the crosswalk is associated.
targetCodelistId
String
ID of the target code list.
assetStakeholders
-
Stakeholders associated to the asset.
enums
-
Includes details about enum groups and entries.
key
String
ID of the system reference data value.
label
String
Label for the system reference data value.
hierarchies
-
Includes details about the hierarchies.
codeListRelations
-
Code list relations defined by the hierarchies.
POST example
To export reference data sets and hierarchies, you might use the following request:
POST https://use4-mdm.dm-us.informaticacloud.com/rdm-service/external/v3/model/export HTTP/1.1 Content-Type: application/json Accept: application/json IDS-SESSION-ID: XXXXXXXXXXXXXXXXXXXXXX
Note: If the assets have references to any deleted enum entries, the export model API ignores the fields from the exported data.
Import model for adding new assets and updating existing assets
Imports new assets from a previously exported model and updates the existing assets. By default, the import model API runs an asynchronous import model job.
POST request
To import only new assets from a previously exported model, submit a POST request with the following URI:
Note: Ensure that you use the response from the export model API as the request for the import model API. If you manually modify the exported model, the import process might fail.
The following table describes the parameter in the request:
Parameter
Description
isDeltaImport
Indicates whether to import only the new assets. Value can be true or false. Default is true.
isDeltaUpdateIgnore
Indicates whether to ignore updating the existing assets. Value can be true or false. Default is false.
isAsyncImport
Indicates whether to run an asynchronous job to import the assets. Value can be true or false. Default is true.
Note: The import model accepts only a JSON request body up to 5 MB in size.
The request contains the attributes that the export model API returns. For more information, see Export model.
The following table describes the attributes in the request:
Field
Type
Description
version
String
Version of the export file.
referenceDataSets
-
Includes details about the reference data set.
id
String
IDs of the reference data sets. For more information, see Asset IDs.
name
String
Name of the asset.
description
String
Description of the asset.
hierarchical
Boolean
Indicates whether code lists in the reference data set inherit the hierarchical structure definition.
levels
Number
Optional. The number of hierarchical levels supported in the code lists associated with the reference data set.
If hierarchical levels are not provided, the value is 1. If hierarchical levels are unlimited, the value is -1.
defaultList
String
ID of the default code list.
domain
String
Optional. Domain of the asset.
confidentiality
String
Optional. Confidentiality of the asset.
priority
String
Optional. Priority of the asset.
status
String
Optional. Status of the asset.
codeValueFields
-
Includes the attribute definition for code values in the reference data set.
name
String
Name of the field.
origin
String
Origin of the definition of the field.
datatype
String
Datatype of the field. Values are String, Integer, Decimal, Boolean, Date, or Reference Data.
mandatory
Boolean
Indicates whether the attribute is required.
dependencyDef
-
Includes the definition of the asset specified as the dependency.
termId
String
ID of the asset specified as the dependency.
assetStakeholders
-
Stakeholders associated with the asset.
codeLists
-
Includes details about the code list.
id
String
ID of the code lists. For more information, see Asset IDs.
termId
String
ID of the reference data set to which the code list is associated.
name
String
Name of the asset.
description
String
Description of the asset.
hierarchical
Boolean
Indicates whether code lists in the reference data set inherit the hierarchical structure definition.
levels
Number
Number of hierarchical levels supported in the code lists associated with the reference data set.
If hierarchical levels are not provided, value is 1. If hierarchical levels are unlimited, value is -1.
codeValueFields
-
Includes the attribute definition for code values in the reference data set.
name
String
Name of the field.
origin
String
Origin of the definition of the field.
datatype
String
Datatype of the field. Values are String, Integer, Decimal, Boolean, Date, or Reference Data.
mandatory
Boolean
Indicates whether the attribute is required.
dependencyDef
-
Includes the definition of the asset specified as the dependency.
termId
String
ID of the asset specified as the dependency.
displayColumns
Array
Display columns used as labels for code values associated with the dependent asset.
dqValidationInfo
-
Includes details about the basic and advanced rule associations of code list attributes.
assetStakeholders
-
Stakeholders associated to the asset.
assetWorkflowConfiguration
-
Workflow configuration of the asset.
crosswalks
-
Details about the crosswalk.
id
String
ID of the crosswalks. For more information, see Asset IDs.
description
String
Description of the asset.
status
String
Status of the asset.
sourceCodelistId
String
ID of the source code list to which the crosswalk is associated.
targetCodelistId
String
ID of the target code list.
assetStakeholders
-
Stakeholders associated to the asset.
enums
-
Includes details about enum groups and entries. For more information, see enums.
key
String
ID of the system reference data value.
label
String
Label for the system reference data value.
hierarchies
-
Includes details about the hierarchies.
codeListRelations
-
Code list relations defined by the hierarchies.
POST response
The response contains a detailed report about the import process.
The following table describes the attributes in the response:
Field
Type
Description
jobId
String
The ID of the import model job.
status
String
Status of the import model job. Value can be RUNNING, SUCCESS, FAILED, or CANCELLED.
type
String
Type of the import model job.
createdBy
String
User name of the user who started the import process.
createdDate
String
Date when the user ran the import model job.
POST example
The following sample request imports only the new assets and skips the existing assets:
POST https://use4-mdm.dm-us.informaticacloud.com/rdm-service/external/v3/model/import?isDeltaImport=true&isDeltaUpdateIgnore=true HTTP/1.1 Content-Type: application/json Accept: application/json IDS-SESSION-ID: XXXXXXXXXXXXXXXXXXXXXX
Imports the new assets from a previously exported model only if the assets are not available in the target organization. By default, the import model API runs an asynchronous import model job.
POST request
To import the new assets from a previously exported model only if the assets are not available in the target organization, submit a POST request with the following URI:
The response contains the details of the import model job and the objects that were ignored during import.
The following table describes the attributes in the response:
Field
Type
Description
jobId
String
ID of the import model job.
status
String
Status of the import model job. Value can be RUNNING, SUCCESS, FAILED, or CANCELLED.
createdBy
String
Username of the user who triggered the import model job.
createdDate
String
Date when the user ran the import model job.
detail
-
Includes details about the import model job.
modelImportReport
-
Report for the import model job.
numImportedRds
Number
Number of imported reference data sets.
numImportedCodeList
Number
Number of imported code lists.
numImportedCrosswalk
Number
Number of imported crosswalks.
numImportedHierarchy
Number
Number of imported hierarchies.
ignoredRdsCount
Number
Number of ignored reference data sets.
ignoredCodeListCount
Number
Number of ignored code lists.
ignoredCrosswalkCount
Number
Number of ignored crosswalks.
ignoredHierarchyCount
Number
Number of ignored hierarchies.
importedEntities
-
Includes details about the imported entities.
type
String
Type of imported entity. Value can be rds, codelist, crosswalk, or hierarchy.
name
String
Name of the imported entity.
oldId
String
ID of the imported entity in the source organization.
newId
String
ID of the imported entity in the target organization.
ignoredEntities
-
Includes details about the ignored entities.
type
String
Type of ignored entity. Value can be rds, codelist, crosswalk, or hierarchy.
name
String
Name of the ignored entity.
oldId
String
ID of the ignored entity in the source organization.
newId
String
ID of the ignored entity in the target organization.
enumImportResult
-
Includes details about the enum entries.
newEntries
Number
Number of new entries imported.
updatedEntries
Number
Number of updated entries.
existingEntries
Number
Number of existing entries that were skipped.
stakeholderImportResult
-
Includes details about the stakeholder import result.
ignoredStakeholderEntries
-
Includes details about the ignored stakeholder entries with reason.
reason
String
The reason for ignoring stakeholder during import.
stakeholder
-
Includes details about the ignored stakeholder record.
subject
-
Includes details about the user group details of the ignored stakeholder record.
name
String
User name or user group name of the ignored stakeholder record.
type
String
User or user group of the ignored stakeholder record.
role
String
User or user group role of the ignored stakeholder record.
assetIdentity
-
Includes details of the asset to which the workflow configuration belongs.
id
String
Identifier of the asset.
assetName
String
Name of the asset.
assetType
String
Type of asset. Value can be rds, codelist, crosswalk, or hierarchy.
assetWorkflowConfigurationImportReport
-
Includes details about the imported workflow configuration.
assetWorkflowImportIgnoredTasks
-
Includes details of the workflow tasks ignored during import.
reason
String
The reason for ignoring workflow tasks during import.
taskName
String
Name of the workflow task.
notFoundUserGroups
Array
List of user groups that aren't found.
assetIdentity
-
Includes details of the asset to which the workflow configuration belongs.
id
String
Identifier of the asset.
assetName
String
Name of the asset.
assetType
String
Type of asset. Value can be rds, codelist, crosswalk, or hierarchy.
importIgnoredWorkflowTask
-
Includes details about the ignored workflow tasks.
taskName
String
Name of the workflow task.
taskAction
-
Includes details about the workflow task action.
approve
String
Action name of the workflow task.
sendBack
String
Action name of the workflow task.
reject
String
Action name of the workflow task.
approvers
-
Includes details about the workflow task approvers.
userGroups
-
Includes details about user groups of workflow task approvers.
name
String
Names of user groups of workflow task approvers.
GET example
To get the job details of an import model job, you might use the following request:
GET https://use4-mdm.dm-us.informaticacloud.com/rdm-service/external/v3/model/import/job/a335550eebe02c6d133898b9 HTTP/1.1 Content-Type: application/json Accept: application/json
The following sample response shows the job details of an import model job:
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8 Content-Length: 4117
{ "jobId":"a335550eebe02c6d133898b9", "type":"IMPORT_MODEL", "status":"SUCCESS", "createdBy":"userId", "createdDate":"2023-01-25T09:54:08.087+00:00", "detail":{ "modelImportReport":{ "stakeholderImportResult":{ "ignoredStakeholderEntries":[ { "reason":"User or UserGroup does not exist to create stakeholder", "assetIdentity":{ "id":"fddde0de9f7740721d3ac264", "assetType":"REFERENCEDATASET", "assetName":"Country" }, "stakeholder":{
} }, { "reason":"User or UserGroup does not exist to create stakeholder", "assetIdentity":{ "id":"aaa97c7034473568b09d65f7", "assetType":"REFERENCEDATASET", "assetName":"rds2" }, "stakeholder":{
} }, { "reason":"User or UserGroup does not exist to create stakeholder", "assetIdentity":{ "id":"db73317aab6d239460fdac9f", "assetType":"CODELIST", "assetName":"rds1_cl1_name" }, "stakeholder":{
} }, { "reason":"User or UserGroup does not exist to create stakeholder", "assetIdentity":{ "id":"fb4c079c4d8376e03f72a73a", "assetType":"CODELIST", "assetName":"SapCountry" }, "stakeholder":{
} }, { "reason":"User or UserGroup does not exist to create stakeholder", "assetIdentity":{ "id":"71e94e4b43e146edb370461a", "assetType":"CODELIST", "assetName":"IsoCountry" }, "stakeholder":{
} }, { "reason":"User or UserGroup does not exist to create stakeholder", "assetIdentity":{ "id":"c984c9006ec3b492c2395e1a", "assetType":"CROSSWALK" }, "stakeholder":{
} }, { "reason":"The user group does not exists in the system to import as stakeholder assignment to Hierarchy hierarchy1", "assetIdentity":{ "id":"hierarchy1", "assetType":"HIERARCHY", "assetName":"hierarchy1" }, "stakeholder":{ "subject":{ "name":"rdmUserGroup", "type":"USERGROUP" } } } ] }, "assetWorkflowConfigurationImportReport":{