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

Linkage Matching

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

Operations

Start Linkage Job

Request

Initiate a new linkage job

Security
apiKey
Bodyapplication/jsonrequired
patternSourcesArray of objects(DataMatchingSource)non-empty

The source, in form of a BusinessPartner storage (at least one but can be more), to get the pattern records for the matching.

matchSourcesArray of objects(DataMatchingSource)non-empty

The source, in form of a BusinessPartner storage (at least one but can be more), to get the match records for the matching.

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

ID of the DataMatchingDefinition that should be used to perform the link matching.

Example: "6461e6113b1865304b3038b6"
decisionLogIdsArray of strings

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

Example: ["65dcb1d68f01e37c2cf9bbb2"]
curl -i -X POST \
  https://api.cdq.com/data-matching/rest/linkagejobs \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "patternSources": [
      {
        "storageId": "72d6900fce6b326088f5d9d91049e3e6",
        "dataSourceIds": [
          "648824a691d8d2503d65103e"
        ]
      }
    ],
    "matchSources": [
      {
        "storageId": "72d6900fce6b326088f5d9d91049e3e6",
        "dataSourceIds": [
          "648824a691d8d2503d65103e"
        ]
      }
    ],
    "countryShortNames": [
      "CH"
    ],
    "dataMatchingDefinitionId": "6461e6113b1865304b3038b6",
    "decisionLogIds": [
      "65dcb1d68f01e37c2cf9bbb2"
    ]
  }'

Responses

OK

Bodyapplication/json
idstring(JobId)

Unique identifier of a job.

Example: "35f23c03-1c22-45fe-9484-3ffe769325de"
patternSourcesArray of objects(DataMatchingSource)non-empty

The source, in form of a BusinessPartner storage (at least one but can be more), to get the pattern records for the matching.

matchSourcesArray of objects(DataMatchingSource)non-empty

The source, in form of a BusinessPartner storage (at least one but can be more), to get the match records for the matching.

countryShortNamesArray of strings(CountryShortName)

List of country short names.

Example: ["CH"]
dataMatchingDefinitionIdstring(DataMatchingDefinitionId)

Id of the data matching definition.

Example: "6461e6113b1865304b3038b6"
decisionLogIdsArray of strings

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

Example: ["65dcb1d68f01e37c2cf9bbb2"]
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", "patternSources": [ {} ], "matchSources": [ {} ], "countryShortNames": [ "CH" ], "dataMatchingDefinitionId": "6461e6113b1865304b3038b6", "decisionLogIds": [ "65dcb1d68f01e37c2cf9bbb2" ], "createdAt": "2025-08-15T11:08:26Z", "createdBy": "76248934691294444", "status": "RUNNING", "progress": "77" }

Poll Linkage Job Status

Request

Check the status of a linkage job by its ID.

Security
apiKey
Path
idstringrequired

ID of the linkage job.

Example: 65dcc3c60cecd503bcc88c92
curl -i -X GET \
  https://api.cdq.com/data-matching/rest/linkagejobs/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"
patternSourcesArray of objects(DataMatchingSource)non-empty

The source, in form of a BusinessPartner storage (at least one but can be more), to get the pattern records for the matching.

matchSourcesArray of objects(DataMatchingSource)non-empty

The source, in form of a BusinessPartner storage (at least one but can be more), to get the match records for the matching.

countryShortNamesArray of strings(CountryShortName)

List of country short names.

Example: ["CH"]
dataMatchingDefinitionIdstring(DataMatchingDefinitionId)

Id of the data matching definition.

Example: "6461e6113b1865304b3038b6"
decisionLogIdsArray of strings

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

Example: ["65dcb1d68f01e37c2cf9bbb2"]
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", "patternSources": [ {} ], "matchSources": [ {} ], "countryShortNames": [ "CH" ], "dataMatchingDefinitionId": "6461e6113b1865304b3038b6", "decisionLogIds": [ "65dcb1d68f01e37c2cf9bbb2" ], "createdAt": "2025-08-15T11:08:26Z", "createdBy": "76248934691294444", "status": "RUNNING", "progress": "77" }

Public

Provides functionalities for polling the Matching Reports.

Operations

User Feedback

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

Operations