Skip to content

Duplicate Matching

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

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

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).

dataSourceIdsArray of strings

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).

decisionLogIdsArray of strings

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

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

List of Data Source IDs.

decisionLogIdsArray of strings

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

countryShortNamesArray of strings

List of country short names.

createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example:"2026-11-11T03:23:28Z"
createdBystring(CreatedBy)

Creator of a resource.

Example:"76248934691294444"
statusstring(JobStatus)

Curation Job execution status.

List of values:

  • 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.
  • CANCELED: The job has been canceled.
  • FAILED: The job has failed.
Example:"RUNNING"
progressinteger, [ 0 .. 100 ](JobProgress)

Progress (%) of the job.

Example:"77"
Response
{ "id": "35f23c03-1c22-45fe-9484-3ffe769325de", "storageId": "72d6900fce6b326088f5d9d91049e3e6", "dataMatchingDefinitionId": "6461e6113b1865304b3038b6", "dataSourceIds": [ "648824a691d8d2503d65103e" ], "decisionLogIds": [ "65dcb1d68f01e37c2cf9bbb2" ], "countryShortNames": [ "CH" ], "createdAt": "2026-11-11T03:23:28Z", "createdBy": "76248934691294444", "status": "RUNNING", "progress": "77" }