# Data Matching API

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


Version: 2

## Servers

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

## Security

### apiKey

Type: apiKey
In: header
Name: X-API-KEY

## Download OpenAPI description

[Data Matching API](https://developer.cdq.com/_bundle/apis/data-matching-api/@data-matching-api-v2/api-v2.yaml)

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


### Build Matching Reports

 - [POST /matchingreports](https://developer.cdq.com/apis/data-matching-api/api-v2/analytics/paths/~1matchingreports/post.md): Requests the building of data matching reports.

### Poll Matching Reports

 - [GET /matchingreports/{id}](https://developer.cdq.com/apis/data-matching-api/api-v2/analytics/paths/~1matchingreports~1%7Bid%7D/get.md): Polls the status of the matching reports.

### Poll Matching Reports

 - [GET /matchingreports/{id}](https://developer.cdq.com/apis/data-matching-api/api-v2/public/paths/~1matchingreports~1%7Bid%7D/get.md): Polls the status of the matching reports.

## Public

Provides functionalities for polling the Matching Reports.


### Poll Matching Reports

 - [GET /matchingreports/{id}](https://developer.cdq.com/apis/data-matching-api/api-v2/analytics/paths/~1matchingreports~1%7Bid%7D/get.md): Polls the status of the matching reports.

### Poll Matching Reports

 - [GET /matchingreports/{id}](https://developer.cdq.com/apis/data-matching-api/api-v2/public/paths/~1matchingreports~1%7Bid%7D/get.md): Polls the status of the matching reports.

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


### Create Data Matching Definition

 - [POST /datamatchingdefinitions](https://developer.cdq.com/apis/data-matching-api/api-v2/data-matching/paths/~1datamatchingdefinitions/post.md): Create a new Data Matching Definition with the given configuration.

Configuration example:


  
  
      
          
          
      
      
          0.7
          
              STORAGE_ID
          
          
              DATA_SOURCE_ID
          
          
              BUSINESS_PARTNER_ID
          
          
              COUNTRY_SHORTNAME
              no.priv.garshol.duke.comparators.ExactComparator
              0.0
              0.5
          
          
              NAME
              NameComparator
              0.1
              0.9

### List Data Matching Definitions

 - [GET /datamatchingdefinitions](https://developer.cdq.com/apis/data-matching-api/api-v2/data-matching/paths/~1datamatchingdefinitions/get.md): Read a page of existing Data Matching Definitions.

### Read Data Matching Definition

 - [GET /datamatchingdefinitions/{id}](https://developer.cdq.com/apis/data-matching-api/api-v2/data-matching/paths/~1datamatchingdefinitions~1%7Bid%7D/get.md): Read an existing Data Matching Definition by its ID.

### Update Data Matching Definition

 - [PUT /datamatchingdefinitions/{id}](https://developer.cdq.com/apis/data-matching-api/api-v2/data-matching/paths/~1datamatchingdefinitions~1%7Bid%7D/put.md): Update an existing Data Matching Definition with the given configuration.

### Delete Data Matching Definition

 - [DELETE /datamatchingdefinitions/{id}](https://developer.cdq.com/apis/data-matching-api/api-v2/data-matching/paths/~1datamatchingdefinitions~1%7Bid%7D/delete.md): Delete a Data Matching Definition by its ID.

## 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

 - [POST /v2/deduplicationjobs](https://developer.cdq.com/apis/data-matching-api/api-v2/duplicate-matching/paths/~1v2~1deduplicationjobs/post.md): Starts a Deduplication Job for the given storage.

### Poll Deduplication Job Status

 - [GET /deduplicationjobs/{id}](https://developer.cdq.com/apis/data-matching-api/api-v2/duplicate-matching/paths/~1deduplicationjobs~1%7Bid%7D/get.md): Polls the status of the Deduplication Job.

## Identity Resolution

Provides functionalities for managing identity resolution configurations and operations.


### Get BusinessPartner's Attribute Paths

 - [GET /entityresolution/attributepaths](https://developer.cdq.com/apis/data-matching-api/api-v2/identity-resolution/paths/~1entityresolution~1attributepaths/get.md): BETA Get all attribute paths of BusinessPartner.

### List Available Cleaners

 - [GET /entityresolution/cleaners](https://developer.cdq.com/apis/data-matching-api/api-v2/identity-resolution/paths/~1entityresolution~1cleaners/get.md): BETA List all available cleaners for identity resolution.

### List Available Comparators

 - [GET /entityresolution/comparators](https://developer.cdq.com/apis/data-matching-api/api-v2/identity-resolution/paths/~1entityresolution~1comparators/get.md): BETA List all available comparators for identity resolution.

### Get Available Paths

 - [GET /entityresolution/searchattributepaths](https://developer.cdq.com/apis/data-matching-api/api-v2/identity-resolution/paths/~1entityresolution~1searchattributepaths/get.md): BETA Get all available paths for search in index-api.

## Linkage Matching

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


### Start Linkage Job

 - [POST /linkagejobs](https://developer.cdq.com/apis/data-matching-api/api-v2/linkage-matching/paths/~1linkagejobs/post.md): Initiate a new linkage job

### Poll Linkage Job Status

 - [GET /linkagejobs/{id}](https://developer.cdq.com/apis/data-matching-api/api-v2/linkage-matching/paths/~1linkagejobs~1%7Bid%7D/get.md): Check the status of a linkage job by its ID.

## User Feedback

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


### Matching Decision Import

 - [POST /matchingdecisionjobs](https://developer.cdq.com/apis/data-matching-api/api-v2/user-feedback/paths/~1matchingdecisionjobs/post.md): To start importing an Identity Linkage Decision import file, use the following request.


POST https://api.corporate-data-league.ch/data-matching/rest/jobs/matchingdecisionjobs
  ?file=@{YOUR FILE}
  ?decisionLogId={YOUR MatchingDecisionLog ID}


With using output file from duplication or linkage job.
Please remember not to remove the mandatory columns when modifying this file: No Match Feedback, Matching Group, Storage ID, Data Source ID, Record ID.

The response is shown below. Use the returned id to poll the import job status.


{
    "id" : "{YOUR JOB ID}"
    ...
}


This import leads to the following link in the MatchingDecisionLog.


{
   "id" : "{AUTO GENERATED}",
   "decisionLogId" : "b7d528eace273a10aeb00825f48b5b18",
   "entities" : [{
       "storageId": "b7d528eace273a10aeb00825f48b5b18",
       "dataSourceId": "5f9fc1b97e1e490001fcfc9e",
       "businessPartnerId": "5e60dfdbd5fa2d000166ab4a"
     },
     {
       "storageId": "b7d528eace273a10aeb00825f48b5b18",
       "dataSourceId": "5f9fc1b97e1e490001fcfc9e",
       "businessPartnerId": "5e60dfdbd5fa2d000166ab4b"
     }]
 }

### Matching Decision Import Status

 - [GET /matchingdecisionjobs/{id}](https://developer.cdq.com/apis/data-matching-api/api-v2/user-feedback/paths/~1matchingdecisionjobs~1%7Bid%7D/get.md): Polls the status of the matching decision import job.

### List User Feedbacks

 - [GET /userfeedbacks](https://developer.cdq.com/apis/data-matching-api/api-v2/user-feedback/paths/~1userfeedbacks/get.md): Read available Matching Decision Logs across your organization.

### Create User Feedback

 - [POST /userfeedbacks](https://developer.cdq.com/apis/data-matching-api/api-v2/user-feedback/paths/~1userfeedbacks/post.md): Create Matching Decision Log where decisions will be stored.

### Read User Feedback

 - [GET /userfeedbacks/{id}](https://developer.cdq.com/apis/data-matching-api/api-v2/user-feedback/paths/~1userfeedbacks~1%7Bid%7D/get.md): Read Matching Decision Logs details provided by ID.

### Create Identity Link

 - [POST /userfeedbacks/{id}](https://developer.cdq.com/apis/data-matching-api/api-v2/user-feedback/paths/~1userfeedbacks~1%7Bid%7D/post.md): Add Identity Links to the Matching Decision Log identified by ID.

### Delete User Feedback

 - [DELETE /userfeedbacks/{id}](https://developer.cdq.com/apis/data-matching-api/api-v2/user-feedback/paths/~1userfeedbacks~1%7Bid%7D/delete.md): Delete the Matching Decision Log identified by ID. !Warning! action cannot be reverted!

### Clear User Feedback

 - [POST /userfeedbacks/{id}/clear](https://developer.cdq.com/apis/data-matching-api/api-v2/user-feedback/paths/~1userfeedbacks~1%7Bid%7D~1clear/post.md): Remove all links from the Matching Decision Log identified by ID. !Warning! action cannot be reverted!

### List Identity Links

 - [GET /userfeedbacks/identitylinks](https://developer.cdq.com/apis/data-matching-api/api-v2/user-feedback/paths/~1userfeedbacks~1identitylinks/get.md): Read Identity Links from the Matching Decision Log identified by ID.

## Configurations

### List Identity Resolution Configurations

 - [GET /configurations/entityresolution](https://developer.cdq.com/apis/data-matching-api/api-v2/configurations/paths/~1configurations~1entityresolution/get.md): BETA List all identity resolution configurations of the current user.

### Read Identity Resolution Configuration

 - [GET /configurations/entityresolution/{configurationId}](https://developer.cdq.com/apis/data-matching-api/api-v2/configurations/paths/~1configurations~1entityresolution~1%7Bconfigurationid%7D/get.md): BETA Read an identity resolution configuration of the current user.

### Read Identity Resolution Configuration Version

 - [GET /configurations/entityresolution/{configurationId}/versions/{version}](https://developer.cdq.com/apis/data-matching-api/api-v2/configurations/paths/~1configurations~1entityresolution~1%7Bconfigurationid%7D~1versions~1%7Bversion%7D/get.md): BETA Read a specific version of an identity resolution configuration by id and version number.

## Entity Matching Links

### Retrieve duplicate business partner records

 - [GET /entityresolution/entitymatchinglinks](https://developer.cdq.com/apis/data-matching-api/api-v2/entity-matching-links/paths/~1entityresolution~1entitymatchinglinks/get.md): BETA Returns a paginated list of potential duplicate business partner records based on search criteria

### Update entity matching link status

 - [PATCH /entityresolution/entitymatchinglinks/{id}](https://developer.cdq.com/apis/data-matching-api/api-v2/entity-matching-links/paths/~1entityresolution~1entitymatchinglinks~1%7Bid%7D/patch.md): BETA Update the link status of an entity matching link. Allows changing status from:
- INFERRED to RETRACTED or ASSERTED
- RETRACTED to ASSERTED
- ASSERTED to RETRACTED

Note: Cannot change status back to INFERRED once it has been manually modified.

