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

Create Storage

Request

If no data source is provided, a minimal data source (name=default and without mapping ID) is attached.

Security
apiKey
Bodyapplication/json
namestring(BusinessPartnerStorageName)<= 100 characters

Name of the Business Partner Storage.

Example: "CDQ AG"
dataMatchingDefinitionIdstring(DataMatchingDefinitionId)

ID of related data matching definition that is used for matching lookup candidates for internal lookup of this Business Partner Storage.

Example: "6400955811c68a034bcef311"
dataSourcesArray of objects

List of Data Sources.

featuresOnArray of strings
Items Enum"LOOKUP""UPDATES""LAB_USE_INDEX_API""SHARING""DATA_MIRROR""HOMELAND""NEVER_EXPIRE""RELATIONS""TAGS_MANAGED_BY_UPSERT"
Example: ["LOOKUP"]
sharedWithOrganizationboolean

Indicates if this storage is shared with all users of the same organization.

Default false
Example: "false"
labelsArray of strings(StorageLabels)<= 10 itemsunique
Example: ["Custom Storage Name"]
curl -i -X POST \
  https://api.cdq.com/data-exchange/rest/v2/storages \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "name": "string",
    "dataMatchingDefinitionId": "string",
    "dataSources": [
      {
        "dataSourceName": "string",
        "dataMapperDefinitionId": "string"
      }
    ],
    "featuresOn": [
      "LOOKUP"
    ],
    "sharedWithOrganization": false,
    "labels": [
      "string"
    ]
  }'

Responses

OK

Bodyapplication/json
idstring(BusinessPartnerStorageDataSourceId)

Unique identifier for a Data Source of the Storage.

Example: "648824a691d8d2503d65103e"
namestring(BusinessPartnerStorageName)<= 100 characters

Name of the Business Partner Storage.

Example: "CDQ AG"
eventStoreIdstring(EventStoreId)

Internal ID of Event Store.

Example: "72d6900fce6b326123f5d9d91049e3e6"
decisionLogIdstring(DecisionLogId)

ID of related decision log.

Example: "72d6900fc3wb326088f5d9d91044e3e6"
organizationstring(OrganizationId)

Uniquely identifying ID of the organization.

Example: "cdq_monitor"
userstring(UserId)

Unique ID of a user.

Example: "johndoe"
createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example: "2025-08-19T06:23:16Z"
expiresAtstring

Date when storage expires.

Possible values:

  • a date when a storage expires,
  • NEVER when storage is a Data Mirror or has been created including NEVER_EXPIRE feature.

Expiry date is calculated based on the date of last write operation related to a storage (upsert of data, update of data sources, executed job) plus 6 months, refreshed as most 2 weeks before previous storage expiration date.

Example: "2025-08-19T06:23:16Z"
dataMatchingDefinitionIdstring(DataMatchingDefinitionId)

ID of related data matching definition that is used for matching lookup candidates for internal lookup of this Business Partner Storage.

Example: "6400955811c68a034bcef311"
dataSourcesArray of objects(DataSource)

List of Data Sources.

dataMonitorsArray of objects(DataMonitor)

List of data monitors.

featuresobject

Features of a storage.

numberOfCountriesinteger(int64)(NumberOfCountries)

Number of countries in the Business Partner Storage.

Example: "12"
numberOfRecordsinteger(int64)(NumberOfRecords)

Number of records in the Business Partner Storage.

Example: "500"
countryStatisticsArray of objects(CountryStatistic)
originalFileHeaderArray of strings

List of headers used for a modification of metadata.

Example: ["BusinessPartnerId, Name, Address"]
originalFileNamestring(OriginalFileName)

Name of the last file that was used to import data into this Business Partner Storage.

Example: "business-partner.csv"
resultsobject(Results)

Results of a Business Partner Storage.

statusstring(StorageMetadataStatus)

Status of a Business Partner Storage.

Example: "FILE_IMPORTED_SUCCESSFULLY"
statusMessagestring(StorageMetadataStatusMessage)

Details related to status.

Example: "BusinessPartner batch could not be upserted into Business Partner Storage."
sharedWithOrganizationboolean(SharedWithOrganization)

Indicates if this Business Partner Storage is shared with all users of the same organization

Example: "true"
labelsArray of strings(StorageLabels)<= 10 itemsunique

Labels to categorize the storage.

Example: ["Custom Storage Name"]
domainstring(Domain)Deprecated

Domain of a Business Partner Storage.

Example: "BusinessPartner"
Response
application/json
{ "id": "648824a691d8d2503d65103e", "name": "CDQ AG", "eventStoreId": "72d6900fce6b326123f5d9d91049e3e6", "decisionLogId": "72d6900fc3wb326088f5d9d91044e3e6", "domain": "BusinessPartner", "organization": "cdq_monitor", "user": "johndoe", "createdAt": "2025-08-19T06:23:16Z", "expiresAt": "2025-08-19T06:23:16Z", "dataMatchingDefinitionId": "6400955811c68a034bcef311", "dataSources": [ {} ], "dataMonitors": [ {} ], "features": { "lookup": {}, "updates": {}, "sharing": {}, "neverExpire": {}, "tagsManagedByUpsert": {} }, "numberOfCountries": "12", "numberOfRecords": "500", "countryStatistics": [ {} ], "originalFileHeader": [ "BusinessPartnerId, Name, Address" ], "originalFileName": "business-partner.csv", "results": { "addressCurationReports": [], "goldenRecordGenerationReports": [], "resultItems": [], "validationReports": [] }, "status": "FILE_IMPORTED_SUCCESSFULLY", "statusMessage": "BusinessPartner batch could not be upserted into Business Partner Storage.", "sharedWithOrganization": "true", "labels": [ "Custom Storage Name" ] }

List Update Monitors' Data Sources

Request

List all data sources available for update monitoring.

Security
apiKey
Query
featuresOnArray of strings(UpdateMonitoringReferenceDataSourcesReadFeatureParam)

Features to be activated.

Items ValueDescription
FETCH_ACTIVATION_STATUS

Returns information which data source is inactive for the organization.

Example: featuresOn=FETCH_ACTIVATION_STATUS
curl -i -X GET \
  https://api.cdq.com/data-exchange/rest/v2/updatemonitors/referencedatasources \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
referenceDataSourcesArray of objects(ReferenceDataSource)

List of Reference Data Sources.

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

List Sharing Scopes

Request

List all sharing scopes 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
featuresOnArray of strings(SharingScopesReadFeatureParam)

Features to be activated.

Items ValueDescription
FETCH_JOB_DETAILS

Fetch job status and progress. By default, off.

Example: featuresOn=FETCH_JOB_DETAILS
curl -i -X GET \
  https://api.cdq.com/data-exchange/rest/v4/storages/72d6900fce6b326088f5d9d91049e3e6/sharingscopes \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
valuesArray of objects(SharingScopeSearchResult)

List of Sharing Scopes.

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": [ {} ], "limit": "100", "startAfter": "5712566172571652", "nextStartAfter": "5712566172571652", "total": "67" }

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

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