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

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

Start DNB Import Job

Request

To start a D&B Import Job use the following request

curl -X POST \
  --url 'https://api.corporate-data-league.ch/data-exchange/rest/jobs/dnbimportjobs?dnbUser=optional&dnbPassword=optional' \
  -u 'BasicAuthUserName:your_credentials'\
  -H 'Accept: application/json' \
  -F 'file=@your_file.csv'

with using this sample file:

DUNS
305211311
DNB:305211311

The file can be a csv or xlsx. The file should contain only one column with the DUNS number. In the first row should the header DUNS. The DUNS number can be in following forms:

  • As CDQ-ID. Example or DNB:305211311
  • as raw DUNS 305211311

The DUNS consist of 9 digits. When the input DUNS does not consist of 9 digits, leading zeros are added.

Security
apiKey
Query
namestring(JobName)

Name of the job.

Example: name=Process vendor data.
descriptionstring(JobDescription)

Description of the job.

Example: description=I started this job to improve quality of our data.
dnbUserstring

Optional, if credentials are available in user or organization settings.

Example: dnbUser=username
dnbPasswordstring

Optional, if credentials are available in user or organization settings.

Example: dnbPassword=password
featuresOnArray of strings(DnbImportJobFeature)

Feature to be activated.

Items Enum ValueDescription
ENRICH_COMMERCIAL_ULTIMATE

Enriches Commercial Ultimate.

ENABLE_PARTIAL_QUOTA_CONSUMPTION

Enables to run import job on a remaining quota when full quota not available.

SKIP_DNB_IMPORT

Skips requesting D&B data from D&B services. Can be used to enrich only Commercial Ultimate.

INCREMENT

Continue processing after the last processed result with a goal to run on newly created Business Partners from a Business Partner Storage.

ACTIVATE_MASTER_DATA_EXTENDED

Enables to use data blocks instead of cmplek when fetching data from DNB.

Example: featuresOn=ENRICH_COMMERCIAL_ULTIMATE
dnbDataSourcestring(DnbStorageTechnicalKeyParam)

D&B product that should be downloaded from D&B and put into specific D&B storage.

Enum ValueDescription
DNB

Storage for D&B data product Company Profile, Linkage, and Executives (CMPELK)

DNB_MASTER_DATA_BASIC

Storage for D&B data product Master Data Basic

DNB_MASTER_DATA_MGMT

Storage for D&B data product Master Data Mgmt

DNB_MASTER_DATA_LNKG

Storage for D&B data product Master Data Lnkg

DNB_MASTER_DATA_EXTENDED

Storage for D&B data product Master Data Extended

DNB_LINKAGE_LNKELI

Storage for D&B data product Extended Linkage Insight

Example: dnbDataSource=DNB_MASTER_DATA_BASIC
Bodymultipart/form-data
filestring(binary)

XLSX or CSV file to be uploaded, containing mandatory DUNS column (SOAP currently only supports CSV).

Example: "CH-import.csv"
curl -i -X POST \
  https://api.cdq.com/data-exchange/rest/jobs/dnbimportjobs \
  -H 'Content-Type: multipart/form-data' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -F file=CH-import.csv

Responses

OK

Bodyapplication/json
idstring(JobId)

Unique identifier of a job.

Example: "35f23c03-1c22-45fe-9484-3ffe769325de"
namestring(JobName)

Name of a Job.

Example: "Process vendor data."
descriptionstring(JobDescription)

Detailed description of a Job.

Example: "I started this job to improve quality of our data."
progressinteger(JobProgress)[ 0 .. 100 ]

Progress (%) of the job.

Example: "77"
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

Message describing the status of the job.

Example: "Job is running"
createdBystring(CreatedBy)

Creator of a resource.

Example: "76248934691294444"
createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example: "2025-08-19T06:23:16Z"
modifiedAtstring(ModifiedAt)

Date of modification (ISO 8601-compliant).

Example: "2025-08-19T06:23:16Z"
resultobject(DnbImportJobResult)

Result of D&B import job.

Response
application/json
{ "id": "35f23c03-1c22-45fe-9484-3ffe769325de", "name": "Process vendor data.", "description": "I started this job to improve quality of our data.", "progress": "77", "status": "RUNNING", "statusMessage": "Job is running", "createdBy": "76248934691294444", "createdAt": "2025-08-19T06:23:16Z", "modifiedAt": "2025-08-19T06:23:16Z", "result": { "statistics": {} } }

Poll DNB Import Job

Request

After you have started a D&B import job, you will receive a job id in the response. { "id" : "<ID>" } Use this ID to poll for the status of the job using this endpoint. Once the status is FINISHED, you can see the results in the D&B storage.

Security
apiKey
Path
idstring(JobId)required

ID of the D&B import job.

Example: 35f23c03-1c22-45fe-9484-3ffe769325de
curl -i -X GET \
  https://api.cdq.com/data-exchange/rest/jobs/dnbimportjobs/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"
namestring(JobName)

Name of a Job.

Example: "Process vendor data."
descriptionstring(JobDescription)

Detailed description of a Job.

Example: "I started this job to improve quality of our data."
progressinteger(JobProgress)[ 0 .. 100 ]

Progress (%) of the job.

Example: "77"
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

Message describing the status of the job.

Example: "Job is running"
createdBystring(CreatedBy)

Creator of a resource.

Example: "76248934691294444"
createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example: "2025-08-19T06:23:16Z"
modifiedAtstring(ModifiedAt)

Date of modification (ISO 8601-compliant).

Example: "2025-08-19T06:23:16Z"
resultobject(DnbImportJobResult)

Result of D&B import job.

Response
application/json
{ "id": "35f23c03-1c22-45fe-9484-3ffe769325de", "name": "Process vendor data.", "description": "I started this job to improve quality of our data.", "progress": "77", "status": "RUNNING", "statusMessage": "Job is running", "createdBy": "76248934691294444", "createdAt": "2025-08-19T06:23:16Z", "modifiedAt": "2025-08-19T06:23:16Z", "result": { "statistics": {} } }

Create LOD File

Request

For all data mirrors configured for an organization read Business Partners identifiers with type DUNS_ID and create a List fd DUNS file. This file is used the initialization of the D&B Monitoring process

Security
apiKey
Bodyapplication/json
namestring(JobName)

Name of a Job.

Example: "Process vendor data."
descriptionstring(JobDescription)

Detailed description of a Job.

Example: "I started this job to improve quality of our data."
curl -i -X POST \
  https://api.cdq.com/data-exchange/rest/jobs/dnbcreatelodjobs \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "name": "Process vendor data.",
    "description": "I started this job to improve quality of our data."
  }'

Responses

OK

Bodyapplication/json
idstring(JobId)

Unique identifier of a job.

Example: "35f23c03-1c22-45fe-9484-3ffe769325de"
namestring(JobName)

Name of a Job.

Example: "Process vendor data."
descriptionstring(JobDescription)

Detailed description of a Job.

Example: "I started this job to improve quality of our data."
progressinteger(JobProgress)[ 0 .. 100 ]

Progress (%) of the job.

Example: "77"
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

Message describing the status of the job.

Example: "Job is running"
createdBystring(CreatedBy)

Creator of a resource.

Example: "76248934691294444"
createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example: "2025-08-19T06:23:16Z"
modifiedAtstring(ModifiedAt)

Date of modification (ISO 8601-compliant).

Example: "2025-08-19T06:23:16Z"
attachmentsArray of objects(FileResource)

List of attachments.

Response
application/json
{ "id": "35f23c03-1c22-45fe-9484-3ffe769325de", "name": "Process vendor data.", "description": "I started this job to improve quality of our data.", "progress": "77", "status": "RUNNING", "statusMessage": "Job is running", "createdBy": "76248934691294444", "createdAt": "2025-08-19T06:23:16Z", "modifiedAt": "2025-08-19T06:23:16Z", "attachments": [ {} ] }

Poll DNB LOD Job

Request

After you have started a D&B LOD job, you will receive a job id in the response. { "id" : "<ID>" } Use this ID to poll for the status of the job using this endpoint. Once the status is FINISHED, you can see the results in the attachments.

Security
apiKey
Path
idstring(JobId)required

ID of the D&B Create LOD job.

Example: 35f23c03-1c22-45fe-9484-3ffe769325de
curl -i -X GET \
  https://api.cdq.com/data-exchange/rest/jobs/dnbcreatelodjobs/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"
namestring(JobName)

Name of a Job.

Example: "Process vendor data."
descriptionstring(JobDescription)

Detailed description of a Job.

Example: "I started this job to improve quality of our data."
progressinteger(JobProgress)[ 0 .. 100 ]

Progress (%) of the job.

Example: "77"
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

Message describing the status of the job.

Example: "Job is running"
createdBystring(CreatedBy)

Creator of a resource.

Example: "76248934691294444"
createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example: "2025-08-19T06:23:16Z"
modifiedAtstring(ModifiedAt)

Date of modification (ISO 8601-compliant).

Example: "2025-08-19T06:23:16Z"
attachmentsArray of objects(FileResource)

List of attachments.

Response
application/json
{ "id": "35f23c03-1c22-45fe-9484-3ffe769325de", "name": "Process vendor data.", "description": "I started this job to improve quality of our data.", "progress": "77", "status": "RUNNING", "statusMessage": "Job is running", "createdBy": "76248934691294444", "createdAt": "2025-08-19T06:23:16Z", "modifiedAt": "2025-08-19T06:23:16Z", "attachments": [ {} ] }

List DNB Records

Request

Read a page of records from the D&B storage of your organization.

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
featureOnArray of strings(DnbRecordsReadFeatureParam)

Features to be activated during D&B Records Read.

Items Enum ValueDescription
NUMBER_OF_TOTAL

Provides total number of records in the storage.

SHOW_CDQ_RECORD

Provides CDQ record.

SHOW_FORMATTED_SAP_RECORD

Provides formatted SAP record.

USE_DNB_MASTER_DATA_BASIC

Uses D&B Master Data Basic.

USE_DNB_MASTER_DATA_MGMT

Uses D&B Master Data Mgmt.

USE_DNB_MASTER_DATA_LNKG

Uses D&B Master Data Lnkg.

USE_DNB_MASTER_DATA_EXTENDED

Uses D&B Master Data Extended.

USE_DNB_LINKAGE_LNKELI

Uses D&B Linkage LNKELI.

Example: featureOn=SHOW_CDQ_RECORD
featureOffArray of strings(DnbRecordsReadFeatureParam)

Features to be deactivated during D&B Records Read.

Items Enum ValueDescription
NUMBER_OF_TOTAL

Provides total number of records in the storage.

SHOW_CDQ_RECORD

Provides CDQ record.

SHOW_FORMATTED_SAP_RECORD

Provides formatted SAP record.

USE_DNB_MASTER_DATA_BASIC

Uses D&B Master Data Basic.

USE_DNB_MASTER_DATA_MGMT

Uses D&B Master Data Mgmt.

USE_DNB_MASTER_DATA_LNKG

Uses D&B Master Data Lnkg.

USE_DNB_MASTER_DATA_EXTENDED

Uses D&B Master Data Extended.

USE_DNB_LINKAGE_LNKELI

Uses D&B Linkage LNKELI.

Example: featureOff=SHOW_CDQ_RECORD
curl -i -X GET \
  https://api.cdq.com/data-exchange/rest/v4/dnbstorages/dnbrecords \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
startAfterstring(StartAfter)

The ID which is used to read the page.

Example: "5712566172571652"
limitinteger(Limit)

Number of items per page.

Example: "100"
totalinteger(PageTotal)

Total number of items which can be paged.

Example: "67"
valuesArray of objects(DnbRecord)

List of D&B Records.

nextStartAfterstring(NextStartAfter)

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

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

Fetch DNB Record

Request

Fetch a D&B record by providing the DUNS.

Security
apiKey
Bodyapplication/jsonrequired
dunsstring(Duns)required

DUNS number of the record to be fetched.

Example: "15-048-3782"
featuresOnArray of strings(DnbStorageFeatureParam)

Features to be used during the D&B storage creation.

Items Enum ValueDescription
SHOW_CDQ_RECORD

Provides CDQ record.

SHOW_FORMATTED_SAP_RECORD

Provides formatted SAP record.

USE_DNB

Create/Use Business Partner Storage for D&B data product Company Profile, Linkage, and Executives (CMPELK)

USE_DNB_MASTER_DATA_BASIC

Create/Use for D&B data product Master Data Basic

USE_DNB_MASTER_DATA_MGMT

Create/Use for D&B data product Master Data Management

USE_DNB_MASTER_DATA_LNKG

Create/Use for D&B data product Master Data Linkage

USE_DNB_MASTER_DATA_EXTENDED

Create/Use for D&B data product Master Data Extended

USE_DNB_LINKAGE_LNKELI

Create/Use for D&B data product Extended Linkage Insight

Example: ["USE_DNB"]
curl -i -X POST \
  https://api.cdq.com/data-exchange/rest/v4/dnbstorages/fetch \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "duns": "15-048-3782",
    "featuresOn": [
      "USE_DNB"
    ]
  }'

Responses

OK

Bodyapplication/json
dnbRecordobject(DnbRecord)

D&B Record.

statusstring

status:

  • OK - D&B Record has been fetched successfully.
  • NOT_FOUND - D&B Record with that DUNS does not exist in storage.
Example: "OK"
messagestring

Message describing the status of the request.

Example: "D&B Record has been fetched successfully"
Response
application/json
{ "dnbRecord": { "duns": "15-048-3782", "cmpelkV2": {}, "dataBlock": {}, "cdqRecord": {}, "formattedSapRecord": {}, "commercialUltimate": {}, "domesticCommercialUltimate": {}, "lastModifiedAt": "2025-08-19T06:23:16Z" }, "status": "OK", "message": "D&B Record has been fetched successfully" }

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