Skip to content

Data Matching API (2)

This API provides services for maintaining matching definitions used as configuration for matching jobs, as well as services for matching data with a job.

Languages
Servers
Mock server

https://idp.cdq.com/_mock/apis/data-matching-api/api-v2/

Production SOAP

https://api.corporate-data-league.ch/data-matching/soap/v2/

Production

https://api.corporate-data-league.ch/data-matching/

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.

Operations

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

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

Start Deduplication Job

Request

Starts a Deduplication Job for the given storage.

Security
basicAuth
Headers
X-Credential-Usernamestringrequired

Parameter used for passing the username. The header can take form of:

  • username (e.g. "lukaszmichta")
  • user id (e.g. "87b1bdb1-ba87-4522-b363-c5a0e6e917b3")
Example: 87b1bdb1-ba87-4522-b363-c5a0e6e917b3
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"
duplicateMatchingDukePropertiesobject(MatchingDukeProperties)

Allows setting the number of threads, batch size and profiling.

reportsRequestobject(DuplicateReportsRequestParams)

Parameters for reports generation for the Deduplication Job.

jobDependenciesArray of objects(JobDependency)

List of job dependencies that need to be fulfilled before this job can be started.

labelsArray of objects(Label)

List of labels that can be used to tag the job.

tagsArray of strings(JobTags)<= 10 items

List of tags that can be used to tag the job.

Example: ["Custom tag"]
curl -i -X POST \
  -u <username>:<password> \
  https://idp.cdq.com/_mock/apis/data-matching-api/api-v2/public/v2/deduplicationjobs \
  -H 'Content-Type: application/json' \
  -H 'X-Credential-Username: 87b1bdb1-ba87-4522-b363-c5a0e6e917b3' \
  -d '{
    "storageId": "72d6900fce6b326088f5d9d91049e3e6",
    "countryShortNames": [
      "CH"
    ],
    "dataSourceIds": [
      "648824a691d8d2503d65103e"
    ],
    "decisionLogIds": [
      "65dcb1d68f01e37c2cf9bbb2"
    ],
    "dataMatchingDefinitionId": "6461e6113b1865304b3038b6",
    "duplicateMatchingDukeProperties": {
      "threads": "4",
      "batchSize": "1000",
      "profiling": "true"
    },
    "reportsRequest": {
      "reportsConfiguration": {
        "duplicateMatching": {
          "build": "false",
          "includeSingles": "false"
        },
        "duplicateConsolidation": {
          "build": "false",
          "includeSingles": "false"
        }
      },
      "tags": [
        "Custom tag"
      ]
    },
    "jobDependencies": [
      {
        "id": "35f23c03-1c22-45fe-9484-3ffe769325de",
        "strategy": "SCHEDULE_NEXT_WHEN_ENDED"
      }
    ],
    "labels": [
      {
        "key": "labelKey",
        "value": "labelValue"
      }
    ],
    "tags": [
      "Custom tag"
    ]
  }'

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: "2020-08-31T16:47+00:00"
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": "2020-08-31T16:47+00:00", "createdBy": "76248934691294444", "status": "RUNNING", "progress": "77" }

Poll Deduplication Job Status

Request

Polls the status of the Deduplication Job.

Security
basicAuth
Path
idstringrequired

ID of the deduplication job.

Example: 65dcc3c60cecd503bcc88c92
Headers
X-Credential-Usernamestringrequired

Parameter used for passing the username. The header can take form of:

  • username (e.g. "lukaszmichta")
  • user id (e.g. "87b1bdb1-ba87-4522-b363-c5a0e6e917b3")
Example: 87b1bdb1-ba87-4522-b363-c5a0e6e917b3
curl -i -X GET \
  -u <username>:<password> \
  https://idp.cdq.com/_mock/apis/data-matching-api/api-v2/public/deduplicationjobs/65dcc3c60cecd503bcc88c92 \
  -H 'X-Credential-Username: 87b1bdb1-ba87-4522-b363-c5a0e6e917b3'

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: "2020-08-31T16:47+00:00"
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": "2020-08-31T16:47+00:00", "createdBy": "76248934691294444", "status": "RUNNING", "progress": "77" }

Entity Matching

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

Operations

Identity Resolution

Provides functionalities for managing identity resolution configurations and operations.

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

Public

Provides functionalities for polling the Matching Reports.

Operations

User Feedback

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

Operations

Configurations

Operations