Skip to content

Data Matching API (3)

This API provides services for executing Business Partner Duplicate Matching process.

Download OpenAPI description
Languages
Servers
Production

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

Analytics

Provides functionalities for generating and polling data matching reports. These endpoints support creating reports and checking their status, ensuring comprehensive analytics for data matching activities.

Operations

Business Partner

Provides functionalities for managing business partners. These endpoints support matching business partners against data matching definitions, ensuring comprehensive analytics for data matching activities.

Data Matching

Provides functionalities for managing Data Matching Definitions, which are configurations for matching jobs to identify duplicates or link records across data sources. These endpoints support creating, reading, updating, and deleting these configurations.

Operations

Duplicate Matching

Provides functionalities for managing duplications within a single data source. These endpoints support creating Deduplication Job and checking the Deduplication Job Status.

Operations

Poll Deduplication Job Status

Request

Polls the status of the Deduplication Job.

Security
apiKey
Path
idstringrequired

ID of the deduplication job.

Example: 65dcc3c60cecd503bcc88c92
curl -i -X GET \
  https://api.cdq.com/data-matching/rest/deduplicationjobs/65dcc3c60cecd503bcc88c92 \
  -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"
storageIdstring(BusinessPartnerStorageId)

Unique identifier of the Storage.

Example: "72d6900fce6b326088f5d9d91049e3e6"
dataMatchingDefinitionIdstring(DataMatchingDefinitionId)

Id of the data matching definition.

Example: "6461e6113b1865304b3038b6"
dataSourceIdsArray of strings(BusinessPartnerStorageDataSourceId)

List of Data Source IDs.

Example: ["648824a691d8d2503d65103e"]
decisionLogIdsArray of strings

If set, feedback from listed Matching Decision Logs will be considered.

Example: ["65dcb1d68f01e37c2cf9bbb2"]
countryShortNamesArray of strings(CountryShortName)

List of country short names.

Example: ["CH"]
createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example: "2025-08-15T11:08:26Z"
createdBystring(CreatedBy)

Creator of a resource.

Example: "76248934691294444"
statusstring(JobStatus)

Curation Job execution status.

Enum ValueDescription
ARCHIVED

The job is archived.

UNKNOWN

The job status is unknown.

CREATED

The job has been created.

PERSISTED

The job has been persisted.

SCHEDULED

The job is scheduled.

WAITING

The job is waiting.

COULDNT_START

The job could not be started.

RUNNING

The job is running.

FINISHED

The job has finished.

DIED

The job has died.

Example: "RUNNING"
progressinteger(JobProgress)[ 0 .. 100 ]

Progress (%) of the job.

Example: "77"
Response
application/json
{ "id": "35f23c03-1c22-45fe-9484-3ffe769325de", "storageId": "72d6900fce6b326088f5d9d91049e3e6", "dataMatchingDefinitionId": "6461e6113b1865304b3038b6", "dataSourceIds": [ "648824a691d8d2503d65103e" ], "decisionLogIds": [ "65dcb1d68f01e37c2cf9bbb2" ], "countryShortNames": [ "CH" ], "createdAt": "2025-08-15T11:08:26Z", "createdBy": "76248934691294444", "status": "RUNNING", "progress": "77" }

Start Deduplication Job

Request

Starts a Deduplication Job for the given storage.

Security
apiKey
Bodyapplication/jsonrequired
storageIdstring(BusinessPartnerStorageId)

Unique identifier of the Storage.

Example: "72d6900fce6b326088f5d9d91049e3e6"
countryShortNamesArray of strings(CountryShortName)

If set, only the records that belong to the countries identified by these short names are processed. By default, all records of the storage (means from all countries) are processed (considering other filters).

Example: ["CH"]
dataSourceIdsArray of strings(BusinessPartnerStorageDataSourceId)

If set, only the records that belong to the data sources identified by these IDs are processed. By default, all records of the storage (means from all data sources) are processed (considering other filters).

Example: ["648824a691d8d2503d65103e"]
decisionLogIdsArray of strings

If set, feedback from listed Matching Decision Logs will be considered.

Example: ["65dcb1d68f01e37c2cf9bbb2"]
dataMatchingDefinitionIdstring(DataMatchingDefinitionId)

Id of the data matching definition.

Example: "6461e6113b1865304b3038b6"
reportsRequestobject(DuplicateReportsRequestParams)

Parameters for reports generation for the Deduplication Job.

curl -i -X POST \
  https://api.cdq.com/data-matching/rest/v2/deduplicationjobs \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "storageId": "72d6900fce6b326088f5d9d91049e3e6",
    "countryShortNames": [
      "CH"
    ],
    "dataSourceIds": [
      "648824a691d8d2503d65103e"
    ],
    "decisionLogIds": [
      "65dcb1d68f01e37c2cf9bbb2"
    ],
    "dataMatchingDefinitionId": "6461e6113b1865304b3038b6",
    "reportsRequest": {
      "reportsConfiguration": {
        "duplicateMatching": {
          "build": "false",
          "includeSingles": "false"
        },
        "duplicateConsolidation": {
          "build": "false",
          "includeSingles": "false"
        }
      }
    }
  }'

Responses

OK

Bodyapplication/json
idstring(JobId)

Unique identifier of a job.

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

Unique identifier of the Storage.

Example: "72d6900fce6b326088f5d9d91049e3e6"
dataMatchingDefinitionIdstring(DataMatchingDefinitionId)

Id of the data matching definition.

Example: "6461e6113b1865304b3038b6"
dataSourceIdsArray of strings(BusinessPartnerStorageDataSourceId)

List of Data Source IDs.

Example: ["648824a691d8d2503d65103e"]
decisionLogIdsArray of strings

If set, feedback from listed Matching Decision Logs will be considered.

Example: ["65dcb1d68f01e37c2cf9bbb2"]
countryShortNamesArray of strings(CountryShortName)

List of country short names.

Example: ["CH"]
createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example: "2025-08-15T11:08:26Z"
createdBystring(CreatedBy)

Creator of a resource.

Example: "76248934691294444"
statusstring(JobStatus)

Curation Job execution status.

Enum ValueDescription
ARCHIVED

The job is archived.

UNKNOWN

The job status is unknown.

CREATED

The job has been created.

PERSISTED

The job has been persisted.

SCHEDULED

The job is scheduled.

WAITING

The job is waiting.

COULDNT_START

The job could not be started.

RUNNING

The job is running.

FINISHED

The job has finished.

DIED

The job has died.

Example: "RUNNING"
progressinteger(JobProgress)[ 0 .. 100 ]

Progress (%) of the job.

Example: "77"
Response
application/json
{ "id": "35f23c03-1c22-45fe-9484-3ffe769325de", "storageId": "72d6900fce6b326088f5d9d91049e3e6", "dataMatchingDefinitionId": "6461e6113b1865304b3038b6", "dataSourceIds": [ "648824a691d8d2503d65103e" ], "decisionLogIds": [ "65dcb1d68f01e37c2cf9bbb2" ], "countryShortNames": [ "CH" ], "createdAt": "2025-08-15T11:08:26Z", "createdBy": "76248934691294444", "status": "RUNNING", "progress": "77" }

Linkage Matching

Provides functionalities for managing linkages across multiple data sources. These endpoints support creating Linkage Job and checking the Linkage Job Status.

Operations

Public

Provides functionalities for polling the Matching Reports.

Operations

User Feedback

Provides functionalities for managing user feedback related to data matching decisions.

Operations