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

Poll Copy Data Source Job Status

Request

Allows polling the status of copy data source job

Security
apiKey
Path
storageIdstring(BusinessPartnerStorageId)required

Unique identifier of the Storage.

Example: 72d6900fce6b326088f5d9d91049e3e6
dataSourceIdstring(BusinessPartnerStorageDataSourceId)required

Unique identifier for a Data Source of the Storage.

Example: 648824a691d8d2503d65103e
jobIdstring(JobId)required

Unique identifier of a Job.

Example: 35f23c03-1c22-45fe-9484-3ffe769325de
curl -i -X GET \
  https://api.cdq.com/data-exchange/rest/storages/72d6900fce6b326088f5d9d91049e3e6/datasources/648824a691d8d2503d65103e/copy/35f23c03-1c22-45fe-9484-3ffe769325de \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
idstring(JobId)

Unique identifier of a job.

Example: "35f23c03-1c22-45fe-9484-3ffe769325de"
targetStorageIdstring(BusinessPartnerStorageId)

Unique identifier of the Storage.

Example: "72d6900fce6b326088f5d9d91049e3e6"
targetDataSourceIdstring(BusinessPartnerStorageDataSourceId)

Unique identifier for a Data Source of the Storage.

Example: "648824a691d8d2503d65103e"
statusstring(JobStatus)

Job execution status.

Enum ValueDescription
ARCHIVED

Job has been archived.

UNKNOWN

Job becomes in unknown status.

CREATED

Job has been created.

PERSISTED

Job metadata has been persisted.

SCHEDULED

Job has been scheduled for execution.

WAITING

Job is waiting for being scheduled.

COULDNT_START

Job could not be started.

RUNNING

Job is being executed.

FINISHED

Job has finished.

DIED

Job was scheduled and started running but died unexpectedly.

Example: "RUNNING"
statusMessagestring(JobStatusMessage)

Additional information to explain the status.

Example: "The job failed because storage is empty."
Response
application/json
{ "id": "35f23c03-1c22-45fe-9484-3ffe769325de", "targetStorageId": "72d6900fce6b326088f5d9d91049e3e6", "targetDataSourceId": "648824a691d8d2503d65103e", "status": "RUNNING", "statusMessage": "The job failed because storage is empty." }

List Storages

Request

List all storages to which user has access to.

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
labelstring

Filter the result by the given label. Keep in mind that labels are case-sensitive.

Example: label=My Storage
includeSharedStoragesboolean

Optionally extend the result with metadata for storages that have been shared by other users of your organization. Alias for INCLUDE_SHARED_STORAGES feature.

Default false
Example: includeSharedStorages=true
sortstring

Defines the attributes to sort by. Supported attributes are 'id', 'name' and 'createdAt', separated by comma (,) and the sort direction in front of each attribute. '+' means ascending, '-' means descending. Default sort, if direction is not given, is ascending.

Example: sort=-createdAt
dataMapperDefinitionIdArray of strings(DataMapperDefinitionId)

Filter the result and Data Sources by Data Mapper Definition ID.

Example: dataMapperDefinitionId=6440dba32b30176c5917b1b7
featuresOnArray of strings(BusinessPartnerStorageMetadataPageReadFeatureParam)

Features to be activated.

Items Enum ValueDescription
NUMBER_OF_TOTAL

Returns the total number of storages.

INCLUDE_SHARED_STORAGES

Returns the shared storages.

INCLUDE_SHARED_WORKSPACE_STORAGES

Returns the shared workspace storages.

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

Responses

OK

Bodyapplication/json
valuesArray of objects(BusinessPartnerStorageMetadata)

List of Business Partner Storages Metadata Page.

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" }

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" ] }

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