Skip to content

Data Exchange API (5)

This API 1 provides services to upload, manipulate and download businesspartner data in the CDL Cloud.

Download OpenAPI description
Languages
Servers
Production

https://api.cdq.com/data-exchange/rest/

Seed Updates

Manages operations such as creating, updating, or transforming Business Partner data to ensure that the information is current and accurate.

Operations

Analytics

Provides functionalities for analyzing and processing Business Partner data, enabling users to gain insights and perform various analytical operations on the data.

Operations

Business Partner Storages

Provides functionalities for creating, retrieving, updating and deleting Business Partner storage, as well as managing associated data sources and data monitors.

Operations

Business Partners

Provides functionalities for creating, retrieving, updating, and deleting Business Partner records, as well as performing various operations such as lookup and upsert.

Operations

Data Import

Provides functionalities for uploading external data and enabling users to enhance and update their Business Partner records with new information.

Operations

Data Mapping

Provides functionalities for defining and managing data mappings, enabling users to transform and map raw data into structured formats suitable for processing and analysis.

Operations

Data Monitors

Provides functionalities for creating, retrieving, updating and deleting data monitors.

Operations

List Data Monitors by Type

Request

List all Data Monitors of a specific type across all storages.

Security
apiKey
Query
startAfterstring

Only items with an ID greater than the given one will be retrieved.

When nextStartAfter provided in the response, should be used instead of the ID as an indicator for a next page.

Example: startAfter=5712566172571652
limitinteger(int32)>= 1

Number of items to be returned on the page.

Default 500
Example: limit=100
sortstring

Defines the attributes to sort by. Supported attribute is 'modifiedAt'. Sort direction can be specified in front of each attribute. '+' means ascending, '-' means descending. If direction is not given default sort is ascending.

Default "-modifiedAt"
Example: sort=-modifiedAt
typeTechnicalKeysArray of strings(DataMonitorTypeTechnicalKeyEnum)required

Business Partner type technical keys which should be filtered.

Items Enum ValueDescription
AUGMENTATION

Augmentation monitor returning Augmented Business Partner as a result of the curation process and raw updates from Reference Data Sources.

DATA_QUALITY_PROFILING

Data validation monitor based on the configuration provided by cusotmer providing lis tof data defects of monitored business partners.

SCREENING

Monitor for sanction & watchlist screening processes.

Example: typeTechnicalKeys=AUGMENTATION
dataSourceIdstring(BusinessPartnerStorageDataSourceId)

Filter by specified Data Source ID.

Example: dataSourceId=648824a691d8d2503d65103e
configurationIdstring(ConfigurationId)

Filter by specified Configuration ID.

Example: configurationId=c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4
curl -i -X GET \
  'https://api.cdq.com/data-exchange/rest/v2/datamonitors?typeTechnicalKeys=AUGMENTATION' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

A page of Data Monitors matching the specified type.

Bodyapplication/json
valuesArray of objects(DataMonitorSearchResult)

List of Data Monitors.

Example: "[ff864c7bfe38397b8c160bc624f97574, 1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p]"
limitinteger(Limit)

Number of items per page.

Example: "100"
startAfterstring(StartAfter)

The ID which is used to read the page.

Example: "5712566172571652"
nextStartAfterstring(NextStartAfter)

Provides a value to be used as a startAfter in next page request.

Example: "5712566172571652"
totalinteger(PageTotal)

Total number of items which can be paged.

Example: "67"
Response
application/json
{ "values": "[ff864c7bfe38397b8c160bc624f97574, 1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p]", "limit": "100", "startAfter": "5712566172571652", "nextStartAfter": "5712566172571652", "total": "67" }

Delete Data Monitor

Request

Delete a data monitor.

Security
apiKey
Path
storageIdstring(BusinessPartnerStorageId)required

Unique identifier of the Storage.

Example: 72d6900fce6b326088f5d9d91049e3e6
dataMonitorIdstring(DataMonitorId)required

Unique ID of a Data Monitor.

Example: bfdfd6f7-562f-4d4a-921f-e68cba60d5cf
curl -i -X DELETE \
  https://api.cdq.com/data-exchange/rest/storages/72d6900fce6b326088f5d9d91049e3e6/datamonitors/bfdfd6f7-562f-4d4a-921f-e68cba60d5cf \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK

List Data Monitors

Request

List all Data Monitors of the give storage.

Security
apiKey
Path
storageIdstring(BusinessPartnerStorageId)required

Unique identifier of the Storage.

Example: 72d6900fce6b326088f5d9d91049e3e6
Query
startAfterstring

Only items with an ID greater than the given one will be retrieved.

When nextStartAfter provided in the response, should be used instead of the ID as an indicator for a next page.

Example: startAfter=5712566172571652
limitinteger(int32)>= 1

Number of items to be returned on the page.

Default 500
Example: limit=100
sortstring

Defines the attributes to sort by. Supported attribute is 'modifiedAt'. Sort direction can be specified in front of each attribute. '+' means ascending, '-' means descending. If direction is not given default sort is ascending.

Default "-modifiedAt"
Example: sort=-modifiedAt
typeTechnicalKeysArray of strings(DataMonitorTypeTechnicalKeyEnum)

Business Partner type technical keys which should be filtered.

Items Enum ValueDescription
AUGMENTATION

Augmentation monitor returning Augmented Business Partner as a result of the curation process and raw updates from Reference Data Sources.

DATA_QUALITY_PROFILING

Data validation monitor based on the configuration provided by cusotmer providing lis tof data defects of monitored business partners.

SCREENING

Monitor for sanction & watchlist screening processes.

Example: typeTechnicalKeys=AUGMENTATION
dataSourceIdstring(BusinessPartnerStorageDataSourceId)

Filter by specified Data Source ID.

Example: dataSourceId=648824a691d8d2503d65103e
configurationIdstring(ConfigurationId)

Filter by specified Configuration ID.

Example: configurationId=c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4
curl -i -X GET \
  https://api.cdq.com/data-exchange/rest/v2/storages/72d6900fce6b326088f5d9d91049e3e6/datamonitors \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
valuesArray of objects(DataMonitorSearchResult)

List of Data Monitors.

Example: "[ff864c7bfe38397b8c160bc624f97574, 1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p]"
limitinteger(Limit)

Number of items per page.

Example: "100"
startAfterstring(StartAfter)

The ID which is used to read the page.

Example: "5712566172571652"
nextStartAfterstring(NextStartAfter)

Provides a value to be used as a startAfter in next page request.

Example: "5712566172571652"
totalinteger(PageTotal)

Total number of items which can be paged.

Example: "67"
Response
application/json
{ "values": "[ff864c7bfe38397b8c160bc624f97574, 1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p]", "limit": "100", "startAfter": "5712566172571652", "nextStartAfter": "5712566172571652", "total": "67" }

Create Data Monitor

Request

Create a new data monitor.

Data monitor is a concept for asynchronous processing of data curation and data validation.

Data monitors should be unique by a pair: dataSources + type.

Data monitor can be created only for DATA_MIRROR storage, having sharedWithOrganization set to true.

Available execution types:

  • TRIGGER - causes reevaluation of data whenever CDQ Business Partner model of your data has changed or whenever linked reference data has changed
  • JOB - reevaluates data every specified period of time.

Note: creation of data monitor starts background process that is invoked for all Business Partners from data monitor scope.

Security
apiKey
Path
storageIdstring(BusinessPartnerStorageId)required

Unique identifier of the Storage.

Example: 72d6900fce6b326088f5d9d91049e3e6
Bodyapplication/jsonrequired
typeobject(DataMonitorTypeParam)required

Type of the Data Monitor.

type.​technicalKeystring(DataMonitorTypeTechnicalKeyEnum)required

Technical key of a data monitor.

Enum ValueDescription
AUGMENTATION

Augmentation monitor returning Augmented Business Partner as a result of the curation process and raw updates from Reference Data Sources.

DATA_QUALITY_PROFILING

Data validation monitor based on the configuration provided by cusotmer providing lis tof data defects of monitored business partners.

SCREENING

Monitor for sanction & watchlist screening processes.

Example: "AUGMENTATION"
dataSourcesArray of objects(BusinessPartnerStorageDataSourceParam)[ 1 .. 7 ] itemsrequired

List of Data Sources.

dataSources[].​idstring(BusinessPartnerStorageDataSourceId)required

Unique identifier for a Data Source of the Storage.

Example: "648824a691d8d2503d65103e"
enabledboolean(DataMonitorToggle)

The toggle used to enable or disable the Data Monitor.

Example: true
configurationobject(DataMonitorConfigurationParam)

Configuration which is used during processing Business Partners.

executionsArray of objects(DataMonitorExecutionParam)non-emptyrequired

Available executions of data monitor.

executions[].​typeobject(DataMonitorExecutionTypeParam)required

Type of the Data Monitor Execution.

executions[].​type.​technicalKeystring(DataMonitorExecutionTypeTechnicalKeyEnum)required

Technical key of the Data Monitor Execution Type.

ValueDescription
TRIGGER

Execution is engaged for only these business partners, where any change (added, modified or deleted concepts) was detected. Adding completely new businness partner or new updates from reference data sources are also a reason to start monitor.

Example: "TRIGGER"
executions[].​frequencystring(DataMonitorFrequencyEnum)

List of Data Monitor Frequency parapeters.

Enum ValueDescription
BI_WEEKLY

The update is performed once for two weeks.

MONTHLY

The update is performed once for one month.

QUARTERLY

The update is performed once for three months.

Example: "BI_WEEKLY"
validitySpanobject(DataMonitorValiditySpanParam)

Period after which Business Partner is evaluated again.

featuresOnArray of strings(DataMonitorFeatureParam)

Features to be activated for Data Monitor.

Items ValueDescription
BUILD_REPORT

Builds report for data monitor when it has JOB execution type.

Example: ["BUILD_REPORT"]
scopesArray of objects(DataMonitorScope)

Scope to be enabled for monitor.

curl -i -X POST \
  https://api.cdq.com/data-exchange/rest/v2/storages/72d6900fce6b326088f5d9d91049e3e6/datamonitors \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "technicalKey": "YOUR_TECHNICAL_KEY",
    "dataSources": [
      {
        "id": "YOUR_DATA_SOURCE"
      }
    ],
    "enabled": "true",
    "configuration": {
      "id": "ID_OF_AUGMENTATION_CONFIGURATION"
    },
    "executions": [
      {
        "type": {
          "technicalKey": "YOUR_TECHNICAL_KEY"
        }
      }
    ]
  }'

Responses

OK

Bodyapplication/json
idstring(DataMonitorId)

Unique alpha-numeric number of the Data Monitor.

Example: "bfdfd6f7-562f-4d4a-921f-e68cba60d5cf"
typeobject(DataMonitorType)

Type of the Data Monitor.

dataSourcesArray of objects(BusinessPartnerStorageDataSource)

List of Data Sources.

enabledboolean(DataMonitorToggle)

The toggle used to enable or disable the Data Monitor.

Example: true
disabledAtstring(DataMonitorDisabledAt)

Date in ISO-8601 format when data monitor was disabled.

Example: "2025-08-19T06:23:16Z"
configurationobject(DataMonitorConfiguration)

Configuration which is used during processing Business Partners.

executionsArray of objects(DataMonitorExecution)

Available executions of data monitor.

validitySpanobject(DataMonitorValiditySpan)

Period after which Business Partner is evaluated again.

scopesArray of objects(DataMonitorScope)

Scope of data monitor.

createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example: "2025-08-19T06:23:16Z"
createdBystring(CreatedBy)

Creator of a resource.

Example: "76248934691294444"
modifiedAtstring(ModifiedAt)

Date of modification (ISO 8601-compliant).

Example: "2025-08-19T06:23:16Z"
modifiedBystring(ModifiedBy)

User or Client UUID which modified the resource.

Example: "76248934691294444"
featuresOnArray of strings(DataMonitorFeature)

Features to be activated for Data Monitor.

Example: ["BUILD_REPORT"]
Response
application/json
{ "id": "bfdfd6f7-562f-4d4a-921f-e68cba60d5cf", "type": { "name": "Augmentation", "technicalKey": "AUGMENTATION" }, "dataSources": [ {} ], "enabled": true, "disabledAt": "2025-08-19T06:23:16Z", "configuration": { "id": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4" }, "executions": [ {} ], "validitySpan": { "technicalKey": "YEAR" }, "scopes": [ {} ], "createdAt": "2025-08-19T06:23:16Z", "createdBy": "76248934691294444", "modifiedAt": "2025-08-19T06:23:16Z", "modifiedBy": "76248934691294444", "featuresOn": [ "BUILD_REPORT" ] }

Update Data Monitor

Request

Note: modification of configuration.id or set of dataSources starts background process that populates processing log for all Business Partners from data monitor scope.

Security
apiKey
Path
storageIdstring(BusinessPartnerStorageId)required

Unique identifier of the Storage.

Example: 72d6900fce6b326088f5d9d91049e3e6
dataMonitorIdstring(DataMonitorId)required

Unique ID of a Data Monitor.

Example: bfdfd6f7-562f-4d4a-921f-e68cba60d5cf
Bodyapplication/jsonrequired
dataSourcesArray of objects(BusinessPartnerStorageDataSourceParam)[ 1 .. 7 ] itemsrequired

List of Data Sources.

dataSources[].​idstring(BusinessPartnerStorageDataSourceId)required

Unique identifier for a Data Source of the Storage.

Example: "648824a691d8d2503d65103e"
enabledboolean(DataMonitorToggle)

The toggle used to enable or disable the Data Monitor.

Example: true
configurationobject(DataMonitorConfigurationParam)

Configuration which is used during processing Business Partners.

executionsArray of objects(DataMonitorExecutionParam)non-emptyrequired

Available executions of data monitor.

executions[].​typeobject(DataMonitorExecutionTypeParam)required

Type of the Data Monitor Execution.

executions[].​type.​technicalKeystring(DataMonitorExecutionTypeTechnicalKeyEnum)required

Technical key of the Data Monitor Execution Type.

ValueDescription
TRIGGER

Execution is engaged for only these business partners, where any change (added, modified or deleted concepts) was detected. Adding completely new businness partner or new updates from reference data sources are also a reason to start monitor.

Example: "TRIGGER"
executions[].​frequencystring(DataMonitorFrequencyEnum)

List of Data Monitor Frequency parapeters.

Enum ValueDescription
BI_WEEKLY

The update is performed once for two weeks.

MONTHLY

The update is performed once for one month.

QUARTERLY

The update is performed once for three months.

Example: "BI_WEEKLY"
validitySpanobject(DataMonitorValiditySpanParam)

Period after which Business Partner is evaluated again.

scopesArray of objects(DataMonitorScope)

Scope to be enabled for monitor.

featuresOnArray of strings(DataMonitorUpdateFeatureParam)

Features to be activated for Data Monitor.

Items ValueDescription
REEVALUATION_ON_CHANGES

Re-evaluates business partners based on changes in the configuration. This feature is not persisted.

Example: ["BUILD_REPORT"]
curl -i -X PUT \
  https://api.cdq.com/data-exchange/rest/v2/storages/72d6900fce6b326088f5d9d91049e3e6/datamonitors/bfdfd6f7-562f-4d4a-921f-e68cba60d5cf \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "dataSources": [
      {
        "id": "648824a691d8d2503d65103e"
      }
    ],
    "enabled": true,
    "configuration": {
      "id": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4"
    },
    "executions": [
      {
        "type": {
          "technicalKey": "TRIGGER"
        },
        "frequency": "BI_WEEKLY"
      }
    ],
    "validitySpan": {
      "technicalKey": "YEAR"
    },
    "scopes": [
      {
        "technicalKey": "RAW_UPDATES"
      }
    ],
    "featuresOn": [
      "BUILD_REPORT"
    ]
  }'

Responses

OK

Bodyapplication/json
createdinteger(int64)(UpsertResultCreated)

Number of created Data Sources for monitoring.

Example: "4"
updatedinteger(int64)(UpsertResultUpdated)

Number of updated Data Sources for monitoring.

Example: "0"
failedinteger(int64)(UpsertResultFailed)

Number of failed updates.

Example: "4"
Response
application/json
{ "created": "4", "updated": "0", "failed": "4" }

Data Monitor Progress

Request

Note: modification of configuration.id or set of dataSources starts background process that populates processing log for all Business Partners from data monitor scope.

Security
apiKey
Path
storageIdstring(BusinessPartnerStorageId)required

Unique identifier of the Storage.

Example: 72d6900fce6b326088f5d9d91049e3e6
dataMonitorIdstring(DataMonitorId)required

Unique ID of a Data Monitor.

Example: bfdfd6f7-562f-4d4a-921f-e68cba60d5cf
Query
scopestring(DataMonitorScopeTechnicalKey)

Scope of data monitor to fetch progress.

Example: scope=RAW_UPDATES
curl -i -X GET \
  https://api.cdq.com/data-exchange/rest/v2/storages/72d6900fce6b326088f5d9d91049e3e6/datamonitors/bfdfd6f7-562f-4d4a-921f-e68cba60d5cf/progress \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
statusobject(Status)

Details about status or error of a service

totalinteger(int64)(DataMonitorProgressTotal)

Total number of Business Partners per processing status.

Example: "1001"
scopeobject(DataMonitorScope)

Identifies scope for Data Monitor.

processingStatusesArray of objects(ProcessingStatusProgress)
Response
application/json
{ "status": { "code": "400", "technicalKey": "OK", "details": [], "path": "/v2/businesspartners/lookup", "timestamp": "2025-08-19T06:23:16Z" }, "total": "1001", "scope": { "technicalKey": "RAW_UPDATES" }, "processingStatuses": [ {} ] }

Refresh Data Monitors

Request

Refresh Data Monitors. When refreshing data monitor, a reevaluation is done for all Business Partners from the data monitor scope.

Security
apiKey
Path
storageIdstring(BusinessPartnerStorageId)required

Unique identifier of the Storage.

Example: 72d6900fce6b326088f5d9d91049e3e6
Bodyapplication/jsonrequired
dataMonitorsArray of objects(DataMonitorRefresh)<= 1 items

List of Data Monitors.

curl -i -X POST \
  https://api.cdq.com/data-exchange/rest/v2/storages/72d6900fce6b326088f5d9d91049e3e6/datamonitors/refresh \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "dataMonitors": [
      {
        "id": "bfdfd6f7-562f-4d4a-921f-e68cba60d5cf"
      }
    ]
  }'

Responses

OK

Bodyapplication/json
dataMonitorsArray of objects(DataMonitorRefreshResult)

List of Data Monitors.

Response
application/json
{ "dataMonitors": [ {} ] }

Data Transformation

Provides functionalities for converting raw data into structured formats.

Operations

DNB Storages

Provides functionalities for creating, retrieving, updating and deleting DNB storage, as well as managing associated data sources and data monitors.

Operations

Files

Provides functionalities for uploading, downloading and deleting files.

Operations

Data Mappers

Provides functionalities for transforming raw data into structured Business Partner data using predefined data mapper definitions. This allows users to convert various data formats into a standardized format suitable for processing and analysis.

Operations

Relations

Manages relationships between Business Partners.

Operations

Subscriptions

Operations