# Retrieve duplicate business partner records BETAReturns a paginated list of potential duplicate business partner records based on search criteria Endpoint: GET /entityresolution/entitymatchinglinks Version: 2 Security: apiKey ## Query parameters: - `matchingScore` (number, required) Minimum matching score threshold Example: 0.8 - `dataMonitorId` (string, required) Unique Data Monitor identifier Example: "72d6900fce6b326088f5d9d91049e3e6" - `businessPartnerId` (string) Business Partner ID provided by CDQ that is unique across all stored Business Partners in CDQ Cloud Example: "63e635235c06b7396330fe40" - `status` (string) Status of the entity matching link Enum: "INFERRED", "ASSERTED", "RETRACTED" - `limit` (integer) Number of items to be returned. Example: "100" - `startAfter` (string) Indicator for the next page. Used together with nextStartAfter from the result. Example: "5712566172571652" - `featuresOn` (array) Enable additional features for entity matching links. Enum: "NUMBER_OF_TOTAL" - `dataSourceId` (string) Unique Storage's Data Source identifier. Example: "648824a691d8d2503d65103e" ## Response 200 fields (application/json): - `status` (object) Details about status or error of a service - `status.code` (integer, required) RFC 7231 status code for this error. Example: "400" - `status.technicalKey` (string, required) Technical key describing the status or error Example: "OK" - `status.details` (array, required) - `status.details.id` (integer, required) 9-digit code which is uniquely identifying a message Example: 200000004 - `status.details.message` (string, required) Human-readable message which may also be presented in user interface. Example: "Business Partner Name is mandatory." - `status.details.technicalKey` (string) Technical key to uniquely identify a message. Example: "JOB_FINISHED" - `status.details.jsonPath` (string) JSONPath as specified by the IETF standard Example: "$.businessPartner.names[0].value" - `status.details.jsonRecord` (string) Object provided in plain JSON format. Example: "{ \"key\" : \"value\"}" - `status.path` (string) Requested path which caused this error. Example: "/v2/businesspartners/lookup" - `status.timestamp` (string) ISO 8601 representation of the timestamp. Example: "2025-08-29T09:46:53Z" - `startAfter` (string) The ID which is used to read the page. Example: "5712566172571652" - `limit` (integer) Number of items per page. Example: "100" - `nextStartAfter` (string) Provides a value to be used as a startAfter in next page request. Example: "5712566172571652" - `total` (integer) Total number of items which can be paged. Example: "67" - `values` (array) List of entity matching links. - `values.id` (string) ID of the Entity Matching Link. Example: "5712566172571652" - `values.storageId` (string) Uniquely identifying ID of entity matching link's the storage. Example: "96f89e48aa7b331c82fb30c02d0f7154" - `values.dataMonitorId` (string) Unique Data Monitor identifier. Example: "72d6900fce6b326088f5d9d91049e3e6" - `values.createdAt` (string) Date of creation (ISO 8601-compliant). Example: "2025-08-29T09:46:53Z" - `values.createdBy` (string) Creator of a resource. Example: "76248934691294444" - `values.modifiedBy` (string) User or Client UUID which modified the resource. Example: "76248934691294444" - `values.modifiedAt` (string) Date of modification (ISO 8601-compliant). Example: "2025-08-29T09:46:53Z" - `values.entityA` (object) Represents a business entity in the system with its unique identifiers and source information. - `values.entityA.dataSourceId` (string, required) Unique identifier for a Data Source of the Storage. Example: "648824a691d8d2503d65103e" - `values.entityA.businessPartnerId` (string, required) A CDQ ID identifies a business partner uniquely in the context of the Corporate Data League. Example: "63e635235c06b7396330fe40" - `values.entityA.externalId` (string, required) Arbitrary identifier type to mark customer IDs that are "external" from CDQ's perspective. This is the identifier a customer provides to identify its records. Example: "The ID managed in the customer's SAP systems." - `values.entityB` (object) Represents a business entity in the system with its unique identifiers and source information. - `values.confidence` (object) Represents the confidence level of a match between two entities, including scoring and status information. - `values.confidence.overallScore` (number, required) Overall confidence score of the match between two entities (0.0 to 1.0). Example: 0.95 - `values.confidence.status` (string, required) Confidence status enum. Enum: "MATCH", "NO_MATCH", "POSSIBLE_MATCH" - `values.confidence.explanation` (object) Detailed explanation of why entities were considered matches, breaking down the matching logic by attributes. - `values.confidence.explanation.attributeMatchingExplanation` (array) - `values.confidence.explanation.attributeMatchingExplanation.jsonPath` (string, required) JSON path indicating the location of the matched attribute in the entity structure. Example: "businessPartner.name" - `values.confidence.explanation.attributeMatchingExplanation.valueA` (string, required) Value of the attribute from the first entity being compared. Example: "Acme Corporation" - `values.confidence.explanation.attributeMatchingExplanation.valueB` (string, required) Value of the attribute from the second entity being compared. Example: "ACME Corp" - `values.confidence.explanation.attributeMatchingExplanation.similarity` (number, required) Numerical score indicating how similar the two values are (0.0 to 1.0). Example: 0.85 - `values.linkStatus` (string) Link status enum. Enum: "INFERRED", "ASSERTED", "RETRACTED" - `values.linkStatusUserComment` (string) Optional user comment explaining the link status Example: "Verified during manual review process" ## Response 400 fields (application/json): - `status` (object) Details about status or error of a service - `status.code` (integer, required) RFC 7231 status code for this error. Example: "400" - `status.technicalKey` (string, required) Technical key describing the status or error Example: "OK" - `status.details` (array, required) - `status.details.id` (integer, required) 9-digit code which is uniquely identifying a message Example: 200000004 - `status.details.message` (string, required) Human-readable message which may also be presented in user interface. Example: "Business Partner Name is mandatory." - `status.details.technicalKey` (string) Technical key to uniquely identify a message. Example: "JOB_FINISHED" - `status.details.jsonPath` (string) JSONPath as specified by the IETF standard Example: "$.businessPartner.names[0].value" - `status.details.jsonRecord` (string) Object provided in plain JSON format. Example: "{ \"key\" : \"value\"}" - `status.path` (string) Requested path which caused this error. Example: "/v2/businesspartners/lookup" - `status.timestamp` (string) ISO 8601 representation of the timestamp. Example: "2025-08-29T09:46:53Z" ## Response 401 fields (application/json): - `status` (object) Details about status or error of a service - `status.code` (integer, required) RFC 7231 status code for this error. Example: "400" - `status.technicalKey` (string, required) Technical key describing the status or error Example: "OK" - `status.details` (array, required) - `status.details.id` (integer, required) 9-digit code which is uniquely identifying a message Example: 200000004 - `status.details.message` (string, required) Human-readable message which may also be presented in user interface. Example: "Business Partner Name is mandatory." - `status.details.technicalKey` (string) Technical key to uniquely identify a message. Example: "JOB_FINISHED" - `status.details.jsonPath` (string) JSONPath as specified by the IETF standard Example: "$.businessPartner.names[0].value" - `status.details.jsonRecord` (string) Object provided in plain JSON format. Example: "{ \"key\" : \"value\"}" - `status.path` (string) Requested path which caused this error. Example: "/v2/businesspartners/lookup" - `status.timestamp` (string) ISO 8601 representation of the timestamp. Example: "2025-08-29T09:46:53Z" ## Response 403 fields (application/json): - `status` (object) Details about status or error of a service - `status.code` (integer, required) RFC 7231 status code for this error. Example: "400" - `status.technicalKey` (string, required) Technical key describing the status or error Example: "OK" - `status.details` (array, required) - `status.details.id` (integer, required) 9-digit code which is uniquely identifying a message Example: 200000004 - `status.details.message` (string, required) Human-readable message which may also be presented in user interface. Example: "Business Partner Name is mandatory." - `status.details.technicalKey` (string) Technical key to uniquely identify a message. Example: "JOB_FINISHED" - `status.details.jsonPath` (string) JSONPath as specified by the IETF standard Example: "$.businessPartner.names[0].value" - `status.details.jsonRecord` (string) Object provided in plain JSON format. Example: "{ \"key\" : \"value\"}" - `status.path` (string) Requested path which caused this error. Example: "/v2/businesspartners/lookup" - `status.timestamp` (string) ISO 8601 representation of the timestamp. Example: "2025-08-29T09:46:53Z" ## Response 500 fields (application/json): - `status` (object) Details about status or error of a service - `status.code` (integer, required) RFC 7231 status code for this error. Example: "400" - `status.technicalKey` (string, required) Technical key describing the status or error Example: "OK" - `status.details` (array, required) - `status.details.id` (integer, required) 9-digit code which is uniquely identifying a message Example: 200000004 - `status.details.message` (string, required) Human-readable message which may also be presented in user interface. Example: "Business Partner Name is mandatory." - `status.details.technicalKey` (string) Technical key to uniquely identify a message. Example: "JOB_FINISHED" - `status.details.jsonPath` (string) JSONPath as specified by the IETF standard Example: "$.businessPartner.names[0].value" - `status.details.jsonRecord` (string) Object provided in plain JSON format. Example: "{ \"key\" : \"value\"}" - `status.path` (string) Requested path which caused this error. Example: "/v2/businesspartners/lookup" - `status.timestamp` (string) ISO 8601 representation of the timestamp. Example: "2025-08-29T09:46:53Z"