# Confirm Trading Partner Validity BETAConfirms the validity of a trading partner by checking the provided data against various CDQ services. The following examples are defined and can be requested by the example ID in header field : | Example ID | Summary | | --------------------------------------- | ------------------------------------------------------------------------------------------- | | | All checks confirm the trading partner's information successfully. | | | Company is known but the street is wrong and no VAT number is provided. | | | Company is known but on a sanction list. | | | Company is not known, i.e., the provided data cannot be verified by a Trusted Data Source. | Endpoint: POST /sap-bn/data-clinic/rest/v2/businesspartners/confirm Version: 1 Security: apiKey ## Request fields (application/json): - `businessPartner` (object) A Business Partner is globally uniquely identifiable by a CDQ ID, and all managed information such as addresses, documents, and hierarchies is linked to a Business Partner. - `businessPartner.jsonRecord` (object) Detailed information of a trading partner including basic contact details and VAT number which are essential for various compliance and verification processes. - `businessPartner.jsonRecord.name` (string) The name of the trading partner. Example: "CDQ GmbH" - `businessPartner.jsonRecord.vatNumber` (string) The European VAT number of the trading partner. Example: "DE123456789" - `businessPartner.jsonRecord.country` (string) The country code of the trading partner. Example: "DE" - `businessPartner.jsonRecord.region` (string) The region code of the trading partner. Example: "DE" - `businessPartner.jsonRecord.city` (string) The city of the trading partner. Example: "Friedrichshafen" - `businessPartner.jsonRecord.postalCode` (string) The postal code of the trading partner. Example: "88045" - `businessPartner.jsonRecord.street` (string) The street of the trading partner. Example: "Zeppelinstraße" - `businessPartner.jsonRecord.houseNumber` (string) The house number of the trading partner. Example: "7" - `featuresOn` (array) List of features to be activated. Enum: "ENABLE_SANCTION_CONFIRMATION", "ENABLE_QUALIFICATION_CONFIRMATION" - `featuresOff` (array) List of features to be deactivated. Enum: "ENABLE_SANCTION_CONFIRMATION", "ENABLE_QUALIFICATION_CONFIRMATION" ## Response 200 fields (application/json): - `status` (object) Details about the status or error of a service. - `status.code` (integer) RFC 7231 status code for this error. Example: "400" - `status.technicalKey` (string) Technical key describing the status or error Example: "OK" - `status.details` (array) List of details about the status or error. - `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` (object) Detailed information of a status details. - `status.details.jsonRecord.key` (string) The name of the related property. Example: "vatNumber" - `status.details.jsonRecord.explanation` (string) Text message explaining the status. Example: "No vatNumer provided as input." - `status.path` (string) Requested path which caused this error. Example: "/v2/businesspartners/lookup" - `status.timestamp` (string) ISO 8601 representation of the timestamp. Example: "2025-09-17T06:18:08Z" - `dataQualityConfirmation` (object) Describes the outcome of data quality checks, including an overall decision and detailed reports of any issues found. - `dataQualityConfirmation.decision` (object) Represents the decision made during a confirmation process, including the technical key and an explanation of the decision. - `dataQualityConfirmation.decision.technicalKey` (string) Represents the possible outcomes of a data validation process, including successful validation, failure, or non-applicability. Example: "OK" - `dataQualityConfirmation.summary` (object) Summarizes the results of data quality checks including counts of errors, warnings, and informational messages. - `dataQualityConfirmation.summary.numErrors` (integer) The number of errors found during data quality checks. Example: "0" - `dataQualityConfirmation.summary.numWarnings` (integer) The number of warnings found during data quality checks. Example: "1" - `dataQualityConfirmation.summary.numInfos` (integer) The number of informational messages found during data quality checks. Example: "0" - `dataQualityConfirmation.details` (object) Provides detailed reports of data quality issues categorized into errors, warnings, and informational messages. - `dataQualityConfirmation.details.errors` (array) List of errors found during data quality checks. - `dataQualityConfirmation.details.errors.businessRule` (object) Details the specific business rule that has been violated, including its name and a link to its definition. - `dataQualityConfirmation.details.errors.businessRule.name` (string) Represents business rule name. Example: "Identifier unknown (European value added tax identifier (The Netherlands))" - `dataQualityConfirmation.details.errors.businessRule.url` (string) Represents Data Quality Rule url. Example: "https://meta.cdq.com/Identifier_unknown_(European_value_added_tax_identifier_(The_Netherlands))" - `dataQualityConfirmation.details.errors.businessRule.ruleStatus` (string) Indicates the release status of the business rule. Example: "RELEASED" - `dataQualityConfirmation.details.errors.violationLevel` (string) Indicates the criticality of the applied rule. If a data defect was found then user will get , or level. Otherwise, it will be NO_DEFECT. Example: "INFO" - `dataQualityConfirmation.details.errors.violationMessage` (string) Descriptive message detailing the nature of the data defect. Example: "Business partner misses the business registration number" - `dataQualityConfirmation.details.warnings` (array) List of warnings found during data quality checks. - `dataQualityConfirmation.details.infos` (array) List of informational messages found during data quality checks. - `companyConfirmation` (object) Contains results of the company confirmation process, verifying the existence and registration details of the company against trusted databases. - `companyConfirmation.summary` (object) Summarizes the company confirmation results, including the data source used for verification and the classification and score of the match. - `companyConfirmation.summary.dataSourceName` (string) The name of the data source used for company confirmation. Example: "VIES" - `companyConfirmation.summary.overallMatchingClassification` (string) Lists the possible classifications for data matching, providing a clearer interpretation of the matching score. Example: "FULL_MATCH" - `companyConfirmation.summary.overallMatchingScore` (number) Numeric value representing the degree of match calculated during data validation processes. Example: "0.7846153846153846" - `companyConfirmation.details` (object) Provides detailed results of the company verification process, including the matched company profile and related data. - `companyConfirmation.details.matchingProfile` (object) Contains a profile of matching scores that evaluate how well the trading partner data matches against various criteria. - `companyConfirmation.details.matchingProfile.matchingScores` (object) Provides detailed matching scores broken down into overall, business partner specific, and address specific evaluations. - `companyConfirmation.details.matchingProfile.matchingScores.overall` (object) Describes the matching score, including a classification, value, and explanation of the match. - `companyConfirmation.details.matchingProfile.matchingScores.overall.classification` (string) Lists the possible classifications for data matching, providing a clearer interpretation of the matching score. Example: "FULL_MATCH" - `companyConfirmation.details.matchingProfile.matchingScores.overall.value` (number) Numeric value representing the degree of match calculated during data validation processes. Example: "0.7846153846153846" - `companyConfirmation.details.matchingProfile.matchingScores.overall.explanation` (string) Provides an explanation of the matching score value and its significance. Example: "overall: [LOCALITY: 0.6; overall: 0.6; COUNTRY: 0.5; overall: 0.6; THOROUGHFARE: 0.3; overall: 0.391304347826087; LEGAL_FORM: 0.5; overall: 0.391304347826087; NAME: 0.85; overall: 0.7846153846153846;]" - `companyConfirmation.details.matchingProfile.matchingScores.businessPartner` (object) Describes the matching score, including a classification, value, and explanation of the match. - `companyConfirmation.details.matchingProfile.matchingScores.address` (object) Describes the matching score, including a classification, value, and explanation of the match. - `companyConfirmation.details.matchedCompanyData` (object) A Business Partner is globally uniquely identifiable by a CDQ ID, and all managed information such as addresses, documents, and hierarchies is linked to a Business Partner. - `companyConfirmation.details.matchedCompanyData.jsonRecord` (object) Detailed information of a trading partner including basic contact details and VAT number which are essential for various compliance and verification processes. - `companyConfirmation.details.matchedCompanyData.jsonRecord.name` (string) The name of the trading partner. Example: "CDQ GmbH" - `companyConfirmation.details.matchedCompanyData.jsonRecord.vatNumber` (string) The European VAT number of the trading partner. Example: "DE123456789" - `companyConfirmation.details.matchedCompanyData.jsonRecord.country` (string) The country code of the trading partner. Example: "DE" - `companyConfirmation.details.matchedCompanyData.jsonRecord.region` (string) The region code of the trading partner. Example: "DE" - `companyConfirmation.details.matchedCompanyData.jsonRecord.city` (string) The city of the trading partner. Example: "Friedrichshafen" - `companyConfirmation.details.matchedCompanyData.jsonRecord.postalCode` (string) The postal code of the trading partner. Example: "88045" - `companyConfirmation.details.matchedCompanyData.jsonRecord.street` (string) The street of the trading partner. Example: "Zeppelinstraße" - `companyConfirmation.details.matchedCompanyData.jsonRecord.houseNumber` (string) The house number of the trading partner. Example: "7" - `qualificationConfirmation` (object) Outputs the results of VAT number validation checks against official tax databases to ensure its validity. - `qualificationConfirmation.summary` (object) Summarizes the results of the VAT number confirmation including the data source used and details on various decision aspects. - `qualificationConfirmation.summary.dataSourceName` (string) The name of the data source used for VAT number confirmation. Example: "VIES" - `qualificationConfirmation.summary.decisionIdentifier` (string) Enumerates the potential outcomes of data qualification checks, useful for understanding validation results. Example: "VALID" - `qualificationConfirmation.summary.decisionName` (string) Enumerates the potential outcomes of data qualification checks, useful for understanding validation results. Example: "VALID" - `qualificationConfirmation.summary.decisionCity` (string) Enumerates the potential outcomes of data qualification checks, useful for understanding validation results. Example: "VALID" - `qualificationConfirmation.summary.decisionStreet` (string) Enumerates the potential outcomes of data qualification checks, useful for understanding validation results. Example: "VALID" - `qualificationConfirmation.details` (object) Detailed results of the VAT number verification process including individual decision reports for each check performed. - `qualificationConfirmation.details.identifierResults` (object) Contains the results of a qualification check on a specific identifier, including the rule applied and the decision made. - `qualificationConfirmation.details.identifierResults.qualificationDecisions` (array) List of qualification decisions made on the identifier, including the rule applied and the decision made. - `qualificationConfirmation.details.identifierResults.qualificationDecisions.qualificationTarget` (string) Specify the target attribute of the trading partner data that was subject to qualification. Example: "IDENTIFIER" - `qualificationConfirmation.details.identifierResults.qualificationDecisions.decision` (string) Enumerates the potential outcomes of data qualification checks, useful for understanding validation results. Example: "VALID" - `qualificationConfirmation.details.identifierResults.qualificationDecisions.dataSourceName` (string) Name of the data source used in making the qualification decision. Example: "VIES" - `sanctionComplianceConfirmation` (object) Provides outcomes of checks against compliance lists like sanctions or watch lists to verify if the trading partner is compliant with regulatory standards. - `sanctionComplianceConfirmation.summary` (object) Summarizes the sanction screening results including the compliance list name and the matching score. - `sanctionComplianceConfirmation.summary.matchingScore` (number) Numeric value representing the degree of match calculated during data validation processes. Example: "0.7846153846153846" - `sanctionComplianceConfirmation.summary.complianceListName` (string) The name of the compliance list used for screening. Example: "OFAC SDN (Specially Designated Nationals) List" - `sanctionComplianceConfirmation.details` (object) Details the specific matches found during the sanction screening process, including the list and score of each match. - `sanctionComplianceConfirmation.details.complianceListMatches` (array) List of compliance list matches found during the screening process, including the list and score of each match. - `sanctionComplianceConfirmation.details.complianceListMatches.list` (object) Describes a compliance or sanction list used during the screening process, including its type, name, and issuing body. - `sanctionComplianceConfirmation.details.complianceListMatches.list.type` (string) Specify the type of compliance list used during sanction screening processes. Example: "SANCTIONLIST" - `sanctionComplianceConfirmation.details.complianceListMatches.list.name` (string) Name of the compliance or sanction list. Example: "OFAC SDN (Specially Designated Nationals) List" - `sanctionComplianceConfirmation.details.complianceListMatches.list.technicalKey` (string) Technical key or identifier of the compliance list. Example: "INFO4C_SL_22" - `sanctionComplianceConfirmation.details.complianceListMatches.list.issuingBody` (object) Represents the authority or organization that issued a compliance or sanction list. - `sanctionComplianceConfirmation.details.complianceListMatches.list.issuingBody.name` (string) Preferred display label for an Issuing Body. Example: "Amtsgericht Aachen" - `sanctionComplianceConfirmation.details.complianceListMatches.list.issuingBody.technicalKey` (string) Technical key of the Issuing Body. Example: "DE_AG_AACHEN" - `sanctionComplianceConfirmation.details.complianceListMatches.list.rationale` (string) Explanation of the compliance list, e.g., country scope, political background, or legal basis. Example: "Program: IRAN; Remarks on SDN: all offices worldwide; ID: (Type: Registration ID, Number: HRB 55668, Country: Germany; Type: Additional Sanctions Information -, Number: Subject to Secondary Sanctions); Aliases additional information: BREYELLER KALTBAND GMBH (strong a.k.a.); ASCOTEC MINERAL AND MACHINERY GMBH (strong a.k.a.)" - `sanctionComplianceConfirmation.details.complianceListMatches.matchingScore` (object) Describes the matching score, including a classification, value, and explanation of the match. ## Response 400 fields (application/json): - `status` (object) Details about the status or error of a service. - `status.code` (integer) RFC 7231 status code for this error. Example: "400" - `status.technicalKey` (string) Technical key describing the status or error Example: "OK" - `status.details` (array) List of details about the status or error. - `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` (object) Detailed information of a status details. - `status.details.jsonRecord.key` (string) The name of the related property. Example: "vatNumber" - `status.details.jsonRecord.explanation` (string) Text message explaining the status. Example: "No vatNumer provided as input." - `status.path` (string) Requested path which caused this error. Example: "/v2/businesspartners/lookup" - `status.timestamp` (string) ISO 8601 representation of the timestamp. Example: "2025-09-17T06:18:08Z"