openapi: 3.0.0
info:
  version: '1'
  title: SAP Business Network API
  description: >
    API for SAP Business Network (BN) to simplify the integration of CDQ
    services.
  license:
    name: Terms of Use for the CDQ Cloud Suite
    url: https://www.cdq.com/cdq-cloud-suite-terms-of-use
servers:
  - description: Production
    url: https://api.cdq.com
    x-cdq-soap-url: https://api.corporate-data-league.ch/v1
security:
  - apiKey: []
tags: []
paths:
  /sap-bn/data-clinic/rest/v2/businesspartners/confirm:
    post:
      operationId: postConfirm
      x-cdq-beta: true
      summary: Confirm Trading Partner Validity
      description: >
        <b style="color: white; background: #077fbb; border-radius: 5px;
        margin-left: 0; padding: 2px 10px; font-size: 14px; vertical-align:
        super;">BETA</b><br>Confirms 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 `x-redocly-response-body-example`:


        | Example ID                              |
        Summary                                                                                    
        |

        | --------------------------------------- |
        -------------------------------------------------------------------------------------------
        |

        | `allOK`                                 | All checks confirm the
        trading partner's information successfully.                          |

        | `companyKnownButWrongStreetNoVatNumber` | Company is known but the
        street is wrong and no VAT number is provided.                     |

        | `companyKnownButSanctioned`             | Company is known but on a
        sanction list.                                                    |

        | `companyNotKnown`                       | Company is not known, i.e.,
        the provided data cannot be verified by a Trusted Data Source.  |
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SapBnTradingPartnerConfirmRequest'
            examples:
              allOk:
                summary: |
                  All fields filled correctly, all confirmations successful.
                value:
                  businessPartner:
                    jsonRecord:
                      name: CDQ GmbH
                      vatNumber: DE307699628
                      country: DE
                      city: Friedrichshafen
                      postalCode: '88045'
                      street: Albrechtstraße 8
                      houseNumber: '8'
              missingVatNumber:
                summary: |
                  No VAT number, house number in street field.
                value:
                  businessPartner:
                    jsonRecord:
                      name: CDQ GmbH
                      country: DE
                      city: Friedrichshafen
                      postalCode: '88045'
                      street: Albrechtstraße 8
              notEnoughData:
                summary: >
                  City or postal code are required, confirmation not possible.
                  This request would lead to a 400 'Bad Request' response.
                value:
                  businessPartner:
                    jsonRecord:
                      name: CDQ GmbH
                      country: DE
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SapBnTradingPartnerConfirmResult'
              examples:
                allOK:
                  summary: >-
                    All checks confirm the trading partner's information
                    successfully.
                  value:
                    status:
                      code: 200
                      technicalKey: OK
                      details:
                        - id: 200702201
                          message: >-
                            Business Partner has been found in Data Sources, but
                            identifier did not match.
                          technicalKey: BUSINESS_PARTNER_IDENTIFIER_NO_MATCH
                          jsonPath: businessPartner.identifiers[0].value
                          jsonRecord:
                            key: DE307699628
                            explanation: No vatNumer provided as input.
                      path: /v2/businesspartners/lookup
                      timestamp: 2019-08-31T16:47+00:00
                    dataQualityConfirmation:
                      decision:
                        technicalKey: OK
                      details:
                        errors: []
                        infos:
                          - businessRule:
                              name: >-
                                Identifier missing (Business Registration Number
                                (Germany))
                              ruleStatus: RELEASED
                              url: >-
                                https://meta.cdq.com/Identifier_missing_(Business_Registration_Number_(Germany))
                            violationLevel: INFO
                            violationMessage: >-
                              Business partner misses the business registration
                              number
                        warnings: []
                      summary:
                        numErrors: 0
                        numInfos: 1
                        numWarnings: 0
                    companyConfirmation:
                      decision:
                        technicalKey: OK
                      details:
                        matchedCompanyData:
                          jsonRecord:
                            city: Friedrichshafen
                            country: DE
                            houseNumber: '8'
                            name: CDQ GmbH
                            postalCode: '88045'
                            street: Albrechtstraße
                        matchingProfile:
                          matchingScores:
                            address:
                              classification: FULL_MATCH
                              value: 0.9461161651504549
                            businessPartner:
                              classification: FULL_MATCH
                              value: 0.9941860465116279
                            overall:
                              classification: FULL_MATCH
                              explanation: >-
                                BP: [overall: [EU_VAT_ID_DE: 0.9; overall: 0.9;
                                NAME: 0.95; overall: 0.9941860465116279;]] A:
                                [overall: [LOCALITY: 0.65; overall: 0.65;
                                POST_CODE: 0.56; overall: 0.7027027027027027;
                                THOROUGHFARE: 0.8; overall: 0.9043478260869566;
                                COUNTRY_SHORTNAME: 0.5; overall:
                                0.9043478260869566; THOROUGHFARE_NUMBER: 0.65;
                                overall: 0.9461161651504549;]]
                              value: 0.9996670543825589
                      summary:
                        dataSource:
                          name: Common register portal of the German federal states
                        overallMatchingClassification: FULL_MATCH
                        overallMatchingScore: 0.9996670543825589
                    qualificationConfirmation:
                      decision:
                        technicalKey: OK
                      details:
                        identifierResults:
                          qualificationDecisions:
                            - businessRule:
                                name: >-
                                  Thoroughfare Qualification (European value
                                  added tax identifier (Germany), Data
                                  source:AT.FON)
                                ruleStatus: RELEASED
                                url: >-
                                  https://meta.cdq.com/Thoroughfare_Qualification_(European_value_added_tax_identifier_(Germany),_Data_source:AT.FON)
                              dataSource:
                                aleiPrefix: AT.FON
                                technicalKey: AT_FON
                              decision: VALID
                              qualificationTarget: STREET
                            - businessRule:
                                name: >-
                                  Post-code Qualification (European value added
                                  tax identifier (Germany), Data source:AT.FON)
                                ruleStatus: RELEASED
                                url: >-
                                  https://meta.cdq.com/Post_code_Qualification_(European_value_added_tax_identifier_(Germany),_Data_source:AT.FON)
                              dataSource:
                                aleiPrefix: AT.FON
                                technicalKey: AT_FON
                              decision: VALID
                            - businessRule:
                                name: >-
                                  Name Qualification (European value added tax
                                  identifier (Germany), Data source:AT.FON)
                                ruleStatus: RELEASED
                                url: >-
                                  https://meta.cdq.com/Name_Qualification_(European_value_added_tax_identifier_(Germany),_Data_source:AT.FON)
                              dataSource:
                                aleiPrefix: AT.FON
                                technicalKey: AT_FON
                              decision: VALID
                              qualificationTarget: NAME
                            - businessRule:
                                name: >-
                                  Locality Qualification (European value added
                                  tax identifier (Germany), Data source:AT.FON)
                                ruleStatus: RELEASED
                                url: >-
                                  https://meta.cdq.com/Locality_Qualification_(European_value_added_tax_identifier_(Germany),_Data_source:AT.FON)
                              dataSource:
                                aleiPrefix: AT.FON
                                technicalKey: AT_FON
                              decision: VALID
                              qualificationTarget: CITY
                            - businessRule:
                                name: >-
                                  Identifier Qualification (European value added
                                  tax identifier (Germany), Data source:AT.FON)
                                ruleStatus: RELEASED
                                url: >-
                                  https://meta.cdq.com/Identifier_Qualification_(European_value_added_tax_identifier_(Germany),_Data_source:AT.FON)
                              dataSource:
                                aleiPrefix: AT.FON
                                technicalKey: AT_FON
                              decision: VALID
                              qualificationTarget: IDENTIFIER
                            - businessRule:
                                name: >-
                                  Identifier Qualification (European value added
                                  tax identifier (Germany), Data source:VIES)
                                ruleStatus: RELEASED
                                url: >-
                                  https://meta.cdq.com/Identifier_Qualification_(European_value_added_tax_identifier_(Germany),_Data_source:VIES)
                              dataSource:
                                aleiPrefix: VIES
                                technicalKey: VIES
                              decision: VALID
                              qualificationTarget: IDENTIFIER
                      summary:
                        dataSource:
                          aleiPrefix: AT.FON
                          technicalKey: AT_FON
                        decisionCity: VALID
                        decisionIdentifier: VALID
                        decisionName: VALID
                        decisionStreet: VALID
                    sanctionComplianceConfirmation:
                      decision:
                        technicalKey: OK
                      details:
                        complianceListMatches:
                          - list:
                              issuingBody:
                                name: >-
                                  U.S. Department of Commerce, Bureau of
                                  Industry and Security
                              name: Press Releases
                              rationale: Multinational software company
                              technicalKey: INFO4C_WL_137
                              type: WATCHLIST
                            matchingScore:
                              explanation: >-
                                overall: [LOCALITY: 0.6; overall: 0.6; COUNTRY:
                                0.5; overall: 0.6; LEGAL_FORM: 0.5; overall:
                                0.6; NAME: 0.85; overall: 0.894736842105263;]
                              value: 0.894736842105263
                          - list:
                              issuingBody:
                                name: >-
                                  US Department of the Treasury, Office of
                                  Foreign Assets Control (OFAC)
                              name: Civil Penalties and Enforcement Information
                              technicalKey: INFO4C_WL_224
                              type: WATCHLIST
                            matchingScore:
                              explanation: >-
                                overall: [LOCALITY: 0.6; overall: 0.6; COUNTRY:
                                0.5; overall: 0.6; LEGAL_FORM: 0.5; overall:
                                0.6; NAME: 0.85; overall: 0.894736842105263;]
                              value: 0.894736842105263
                      summary:
                        complianceListName: Press Releases
                        matchingScore: 0.894736842105263
                companyKnownButWrongStreetNoVatNumber:
                  summary: >-
                    The Company is known, but the street is wrong and no VAT
                    number is provided.
                  value:
                    companyConfirmation:
                      decision:
                        technicalKey: OK
                      details:
                        matchedCompanyData:
                          jsonRecord:
                            city: Walldorf
                            country: DE
                            houseNumber: '7'
                            name: SAP Deutschland SE & Co. KG
                            postalCode: '69190'
                            street: Hasso-Plattner-Ring
                        matchingProfile:
                          matchingScores:
                            address:
                              classification: MAYBE_MATCH
                              value: 0.8110816283779066
                            businessPartner:
                              classification: FULL_MATCH
                              value: 0.95
                            overall:
                              classification: MAYBE_MATCH
                              explanation: >-
                                BP: [overall: [NAME: 0.95; overall: 0.95;]] A:
                                [overall: [LOCALITY: 0.65; overall: 0.65;
                                THOROUGHFARE: 0.6980468750000001; overall:
                                0.8110816283779066; COUNTRY_SHORTNAME: 0.5;
                                overall: 0.8110816283779066;]]
                              value: 0.9878894359892569
                      summary:
                        dataSource:
                          name: Common register portal of the German federal states
                        overallMatchingClassification: MAYBE_MATCH
                        overallMatchingScore: 0.9878894359892569
                    dataQualityConfirmation:
                      decision:
                        technicalKey: OK
                      details:
                        errors: []
                        infos:
                          - businessRule:
                              name: >-
                                Identifier missing (Business Registration Number
                                (Germany))
                              ruleStatus: RELEASED
                              url: >-
                                https://meta.cdq.com/Identifier_missing_(Business_Registration_Number_(Germany))
                            violationLevel: INFO
                            violationMessage: >-
                              Business partner misses the business registration
                              number
                        warnings:
                          - businessRule:
                              name: >-
                                Identifier missing (European value added tax
                                identifier (Germany))
                              ruleStatus: RELEASED
                              url: >-
                                https://meta.cdq.com/Identifier_missing_(European_value_added_tax_identifier_(Germany))
                            violationLevel: WARNING
                            violationMessage: >-
                              Business Partner does not have a European value
                              added tax identifier.
                      summary:
                        numErrors: 0
                        numInfos: 1
                        numWarnings: 1
                    sanctionComplianceConfirmation:
                      decision:
                        technicalKey: FAIL
                      details:
                        complianceListMatches:
                          - complianceList:
                              issuingBody:
                                name: >-
                                  U.S. Department of Commerce, Bureau of
                                  Industry and Security
                              name: Press Releases
                              rationale: Multinational software company
                              technicalKey: INFO4C_WL_137
                              type: WATCHLIST
                            matchingScore:
                              explanation: >-
                                overall: [LOCALITY: 0.6; overall: 0.6; COUNTRY:
                                0.5; overall: 0.6; LEGAL_FORM: 0.5; overall:
                                0.6; NAME: 0.85; overall: 0.894736842105263;]
                              value: 0.894736842105263
                          - complianceList:
                              issuingBody:
                                name: >-
                                  US Department of the Treasury, Office of
                                  Foreign Assets Control (OFAC)
                              name: Civil Penalties and Enforcement Information
                              technicalKey: INFO4C_WL_224
                              type: WATCHLIST
                            matchingScore:
                              explanation: >-
                                overall: [LOCALITY: 0.6; overall: 0.6; COUNTRY:
                                0.5; overall: 0.6; LEGAL_FORM: 0.5; overall:
                                0.6; NAME: 0.85; overall: 0.894736842105263;]
                              value: 0.894736842105263
                          - complianceList:
                              issuingBody:
                                name: U.S. Securities and Exchange Commission
                              name: Administrative Proceedings
                              rationale: 'Release No.: 34-99308, AAER-4481'
                              technicalKey: INFO4C_WL_765
                              type: WATCHLIST
                            matchingScore:
                              explanation: >-
                                overall: [LOCALITY: 0.6; overall: 0.6; COUNTRY:
                                0.5; overall: 0.6; LEGAL_FORM: 0.45; overall:
                                0.5510204081632653; NAME: 0.85; overall:
                                0.8742857142857142;]
                              value: 0.8742857142857142
                          - complianceList:
                              issuingBody:
                                name: United States Department of Justice
                              name: FCPA Related Enforcement Actions
                              technicalKey: INFO4C_WL_232
                              type: WATCHLIST
                            matchingScore:
                              explanation: >-
                                overall: [COUNTRY: 0.5; overall: 0.5;
                                LEGAL_FORM: 0.5; overall: 0.5; NAME: 0.85;
                                overall: 0.85;]
                              value: 0.85
                          - complianceList:
                              issuingBody:
                                name: >-
                                  U.S. Department of Commerce, Bureau of
                                  Industry and Security
                              name: Major Cases List
                              technicalKey: INFO4C_WL_136
                              type: WATCHLIST
                            matchingScore:
                              explanation: >-
                                overall: [LEGAL_FORM: 0.45; overall: 0.45; NAME:
                                0.85; overall: 0.8225806451612903;]
                              value: 0.8225806451612903
                          - complianceList:
                              issuingBody:
                                name: >-
                                  U.S. Department of Commerce, Bureau of
                                  Industry and Security
                              name: Export Violations
                              technicalKey: INFO4C_WL_135
                              type: WATCHLIST
                            matchingScore:
                              explanation: >-
                                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;]
                              value: 0.7846153846153846
                      summary:
                        complianceListName: Press Releases
                        matchingScore: 0.894736842105263
                    qualificationConfirmation:
                      decision:
                        technicalKey: FAIL
                companyKnownButSanctioned:
                  summary: The company is known but on a sanction list.
                  value:
                    companyConfirmation:
                      decision:
                        technicalKey: OK
                      details:
                        matchedCompanyData:
                          jsonRecord:
                            city: Düsseldorf
                            country: DE
                            houseNumber: '10'
                            name: ASCOTEC Mineral & Machinery GmbH
                            postalCode: '40474'
                            street: Tersteegenstr.
                        matchingProfile:
                          matchingScores:
                            address:
                              classification: FULL_MATCH
                              value: 0.8813559322033899
                            businessPartner:
                              classification: FULL_MATCH
                              value: 0.9941860465116279
                            overall:
                              classification: FULL_MATCH
                              explanation: >-
                                BP: [overall: [EU_VAT_ID_DE: 0.9; overall: 0.9;
                                NAME: 0.95; overall: 0.9941860465116279;]] A:
                                [overall: [LOCALITY: 0.65; overall: 0.65;
                                THOROUGHFARE: 0.8; overall: 0.8813559322033899;
                                COUNTRY_SHORTNAME: 0.5; overall:
                                0.8813559322033899;]]
                              value: 0.9992133947634566
                      summary:
                        dataSource:
                          name: Common register portal of the German federal states
                        overallMatchingClassification: FULL_MATCH
                        overallMatchingScore: 0.9992133947634566
                    dataQualityConfirmation:
                      decision:
                        technicalKey: OK
                      details:
                        errors: []
                        infos:
                          - businessRule:
                              name: >-
                                Identifier missing (Business Registration Number
                                (Germany))
                              ruleStatus: RELEASED
                              url: >-
                                https://meta.cdq.com/Identifier_missing_(Business_Registration_Number_(Germany))
                            violationLevel: INFO
                            violationMessage: >-
                              Business partner misses the business registration
                              number
                          - businessRule:
                              name: >-
                                Post-code Qualification (European value added
                                tax identifier (Germany), Data source:AT.FON)
                              ruleStatus: RELEASED
                              url: >-
                                https://meta.cdq.com/Post_code_Qualification_(European_value_added_tax_identifier_(Germany),_Data_source:AT.FON)
                            violationLevel: INFO
                            violationMessage: >-
                              Post-code deviates from the reference post-code
                              registered with the European value added tax
                              identifier (Germany)
                          - businessRule:
                              name: >-
                                Thoroughfare Qualification (European value added
                                tax identifier (Germany), Data source:AT.FON)
                              ruleStatus: RELEASED
                              url: >-
                                https://meta.cdq.com/Thoroughfare_Qualification_(European_value_added_tax_identifier_(Germany),_Data_source:AT.FON)
                            violationLevel: INFO
                            violationMessage: >-
                              Street deviates from the reference street
                              registered with the European value added tax
                              identifier (Germany)
                        warnings: []
                      summary:
                        numErrors: 0
                        numInfos: 3
                        numWarnings: 0
                    sanctionComplianceConfirmation:
                      decision:
                        technicalKey: FAIL
                      details:
                        complianceListMatches:
                          - complianceList:
                              issuingBody:
                                name: United States Department of the Treasury
                              name: OFAC SDN (Specially Designated Nationals) List
                              rationale: >-
                                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.)
                              technicalKey: INFO4C_SL_22
                              type: SANCTIONLIST
                            matchingScore:
                              explanation: >-
                                overall: [LOCALITY: 0.6; overall: 0.6; COUNTRY:
                                0.5; overall: 0.6; THOROUGHFARE:
                                0.5575505350772889; overall: 0.6540053001069319;
                                LEGAL_FORM: 0.55; overall: 0.6979094783844124;
                                NAME: 0.7646502835538752; overall:
                                0.8824365515082131;]
                              value: 0.8824365515082131
                          - complianceList:
                              issuingBody:
                                name: General Services Administration (GSA)
                              name: System for Award Management (SAM)
                              rationale: >-
                                Cross-References: ASCOTEC MINERAL&MACHINERY
                                GMBH, BREYELLER KALTBAND GMBH
                              technicalKey: INFO4C_WL_758
                              type: WATCHLIST
                            matchingScore:
                              explanation: >-
                                overall: [LEGAL_FORM: 0.55; overall: 0.55; NAME:
                                0.7646502835538752; overall:
                                0.7988330341113106;]
                              value: 0.7988330341113106
                      summary:
                        complianceListName: OFAC SDN (Specially Designated Nationals) List
                        matchingScore: 0.8824365515082131
                    qualificationConfirmation:
                      decision:
                        technicalKey: OK
                      details:
                        identifierResults:
                          qualificationDecisions:
                            - businessRule:
                                name: >-
                                  Thoroughfare Qualification (European value
                                  added tax identifier (Germany), Data
                                  source:AT.FON)
                                ruleStatus: RELEASED
                                url: >-
                                  https://meta.cdq.com/Thoroughfare_Qualification_(European_value_added_tax_identifier_(Germany),_Data_source:AT.FON)
                              dataSource:
                                aleiPrefix: AT.FON
                                technicalKey: AT_FON
                              decision: INVALID
                              qualificationTarget: STREET
                            - businessRule:
                                name: >-
                                  Post-code Qualification (European value added
                                  tax identifier (Germany), Data source:AT.FON)
                                ruleStatus: RELEASED
                                url: >-
                                  https://meta.cdq.com/Post_code_Qualification_(European_value_added_tax_identifier_(Germany),_Data_source:AT.FON)
                              dataSource:
                                aleiPrefix: AT.FON
                                technicalKey: AT_FON
                              decision: INVALID
                            - businessRule:
                                name: >-
                                  Name Qualification (European value added tax
                                  identifier (Germany), Data source:AT.FON)
                                ruleStatus: RELEASED
                                url: >-
                                  https://meta.cdq.com/Name_Qualification_(European_value_added_tax_identifier_(Germany),_Data_source:AT.FON)
                              dataSource:
                                aleiPrefix: AT.FON
                                technicalKey: AT_FON
                              decision: VALID
                              qualificationTarget: NAME
                            - businessRule:
                                name: >-
                                  Locality Qualification (European value added
                                  tax identifier (Germany), Data source:AT.FON)
                                ruleStatus: RELEASED
                                url: >-
                                  https://meta.cdq.com/Locality_Qualification_(European_value_added_tax_identifier_(Germany),_Data_source:AT.FON)
                              dataSource:
                                aleiPrefix: AT.FON
                                technicalKey: AT_FON
                              decision: VALID
                              qualificationTarget: CITY
                            - businessRule:
                                name: >-
                                  Identifier Qualification (European value added
                                  tax identifier (Germany), Data source:AT.FON)
                                ruleStatus: RELEASED
                                url: >-
                                  https://meta.cdq.com/Identifier_Qualification_(European_value_added_tax_identifier_(Germany),_Data_source:AT.FON)
                              dataSource:
                                aleiPrefix: AT.FON
                                technicalKey: AT_FON
                              decision: VALID
                              qualificationTarget: IDENTIFIER
                            - businessRule:
                                name: >-
                                  Identifier Qualification (European value added
                                  tax identifier (Germany), Data source:VIES)
                                ruleStatus: RELEASED
                                url: >-
                                  https://meta.cdq.com/Identifier_Qualification_(European_value_added_tax_identifier_(Germany),_Data_source:VIES)
                              dataSource:
                                aleiPrefix: VIES
                                technicalKey: VIES
                              decision: VALID
                              qualificationTarget: IDENTIFIER
                      summary:
                        dataSource:
                          aleiPrefix: AT.FON
                          technicalKey: AT_FON
                        decisionCity: VALID
                        decisionIdentifier: VALID
                        decisionName: VALID
                        decisionStreet: INVALID
                companyNotKnown:
                  summary: >-
                    Company is not known, i.e., the provided data cannot be
                    verified by a Trusted Data Source.
                  value:
                    companyConfirmation:
                      decision:
                        technicalKey: FAIL
                    dataQualityConfirmation:
                      decision:
                        technicalKey: OK
                      details:
                        errors: []
                        infos:
                          - businessRule:
                              name: >-
                                Identifier missing (Business Registration Number
                                (Germany))
                              ruleStatus: RELEASED
                              url: >-
                                https://meta.cdq.com/Identifier_missing_(Business_Registration_Number_(Germany))
                            violationLevel: INFO
                            violationMessage: >-
                              Business partner misses the business registration
                              number
                          - businessRule:
                              name: >-
                                Locality Qualification (European value added tax
                                identifier (Germany), Data source:AT.FON)
                              ruleStatus: RELEASED
                              url: >-
                                https://meta.cdq.com/Locality_Qualification_(European_value_added_tax_identifier_(Germany),_Data_source:AT.FON)
                            violationLevel: INFO
                            violationMessage: >-
                              City deviates from the reference city registered
                              with the European value added tax identifier
                              (Germany)
                          - businessRule:
                              name: >-
                                Name Qualification (European value added tax
                                identifier (Germany), Data source:AT.FON)
                              ruleStatus: RELEASED
                              url: >-
                                https://meta.cdq.com/Name_Qualification_(European_value_added_tax_identifier_(Germany),_Data_source:AT.FON)
                            violationLevel: INFO
                            violationMessage: >-
                              Name deviates from the reference name registered
                              with the European value added tax identifier
                              (Germany)
                          - businessRule:
                              name: >-
                                Post-code Qualification (European value added
                                tax identifier (Germany), Data source:AT.FON)
                              ruleStatus: RELEASED
                              url: >-
                                https://meta.cdq.com/Post_code_Qualification_(European_value_added_tax_identifier_(Germany),_Data_source:AT.FON)
                            violationLevel: INFO
                            violationMessage: >-
                              Post-code deviates from the reference post-code
                              registered with the European value added tax
                              identifier (Germany)
                          - businessRule:
                              name: >-
                                Thoroughfare Qualification (European value added
                                tax identifier (Germany), Data source:AT.FON)
                              ruleStatus: RELEASED
                              url: >-
                                https://meta.cdq.com/Thoroughfare_Qualification_(European_value_added_tax_identifier_(Germany),_Data_source:AT.FON)
                            violationLevel: INFO
                            violationMessage: >-
                              Street deviates from the reference street
                              registered with the European value added tax
                              identifier (Germany)
                        warnings: []
                      summary:
                        numErrors: 0
                        numInfos: 5
                        numWarnings: 0
                    sanctionComplianceConfirmation:
                      decision:
                        technicalKey: OK
                    qualificationConfirmation:
                      decision:
                        technicalKey: FAIL
                      details:
                        identifierResults:
                          qualificationDecisions:
                            - businessRule:
                                name: >-
                                  Thoroughfare Qualification (European value
                                  added tax identifier (Germany), Data
                                  source:AT.FON)
                                ruleStatus: RELEASED
                                url: >-
                                  https://meta.cdq.com/Thoroughfare_Qualification_(European_value_added_tax_identifier_(Germany),_Data_source:AT.FON)
                              dataSource:
                                aleiPrefix: AT.FON
                                technicalKey: AT_FON
                              decision: INVALID
                              qualificationTarget: STREET
                            - businessRule:
                                name: >-
                                  Post-code Qualification (European value added
                                  tax identifier (Germany), Data source:AT.FON)
                                ruleStatus: RELEASED
                                url: >-
                                  https://meta.cdq.com/Post_code_Qualification_(European_value_added_tax_identifier_(Germany),_Data_source:AT.FON)
                              dataSource:
                                aleiPrefix: AT.FON
                                technicalKey: AT_FON
                              decision: INVALID
                            - businessRule:
                                name: >-
                                  Name Qualification (European value added tax
                                  identifier (Germany), Data source:AT.FON)
                                ruleStatus: RELEASED
                                url: >-
                                  https://meta.cdq.com/Name_Qualification_(European_value_added_tax_identifier_(Germany),_Data_source:AT.FON)
                              dataSource:
                                aleiPrefix: AT.FON
                                technicalKey: AT_FON
                              decision: INVALID
                              qualificationTarget: NAME
                            - businessRule:
                                name: >-
                                  Locality Qualification (European value added
                                  tax identifier (Germany), Data source:AT.FON)
                                ruleStatus: RELEASED
                                url: >-
                                  https://meta.cdq.com/Locality_Qualification_(European_value_added_tax_identifier_(Germany),_Data_source:AT.FON)
                              dataSource:
                                aleiPrefix: AT.FON
                                technicalKey: AT_FON
                              decision: INVALID
                              qualificationTarget: CITY
                            - businessRule:
                                name: >-
                                  Identifier Qualification (European value added
                                  tax identifier (Germany), Data source:AT.FON)
                                ruleStatus: RELEASED
                                url: >-
                                  https://meta.cdq.com/Identifier_Qualification_(European_value_added_tax_identifier_(Germany),_Data_source:AT.FON)
                              dataSource:
                                aleiPrefix: AT.FON
                                technicalKey: AT_FON
                              decision: VALID
                              qualificationTarget: IDENTIFIER
                            - businessRule:
                                name: >-
                                  Identifier Qualification (European value added
                                  tax identifier (Germany), Data source:VIES)
                                ruleStatus: RELEASED
                                url: >-
                                  https://meta.cdq.com/Identifier_Qualification_(European_value_added_tax_identifier_(Germany),_Data_source:VIES)
                              dataSource:
                                aleiPrefix: VIES
                                technicalKey: VIES
                              decision: VALID
                              qualificationTarget: IDENTIFIER
                      summary:
                        dataSource:
                          aleiPrefix: AT.FON
                          technicalKey: AT_FON
                        decisionCity: INVALID
                        decisionIdentifier: VALID
                        decisionName: INVALID
                        decisionStreet: INVALID
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-KEY
  responses:
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
  schemas:
    ApiError:
      type: object
      description: Detailed information about API errors.
      properties:
        status:
          $ref: '#/components/schemas/Status'
    Status:
      type: object
      description: Details about the status or error of a service.
      properties:
        code:
          $ref: '#/components/schemas/HttpStatusCode'
        technicalKey:
          $ref: '#/components/schemas/HttpStatusTechnicalKey'
        details:
          type: array
          description: List of details about the status or error.
          items:
            $ref: '#/components/schemas/StatusDetails'
        path:
          $ref: '#/components/schemas/HttpPath'
        timestamp:
          $ref: '#/components/schemas/StatusTimestamp'
    StatusDetails:
      type: object
      description: Details about this status or error.
      required:
        - id
        - message
      properties:
        id:
          $ref: '#/components/schemas/StatusDetailsMessageId'
        message:
          $ref: '#/components/schemas/StatusDetailsMessage'
        technicalKey:
          $ref: '#/components/schemas/StatusDetailsTechnicalKey'
        jsonPath:
          $ref: '#/components/schemas/JsonPath'
        jsonRecord:
          $ref: '#/components/schemas/SapBnStatusDetails'
    SapBnStatusDetails:
      type: object
      description: |
        Detailed information of a status details.
      properties:
        key:
          type: string
          description: The name of the related property.
          example: vatNumber
        explanation:
          type: string
          description: Text message explaining the status.
          example: No vatNumer provided as input.
    SapBnTradingPartnerConfirmRequest:
      type: object
      description: >
        Request schema for trading partner data confirmation. It includes all
        necessary identifiers and attributes of the trading partner needed for
        verification processes.
      properties:
        businessPartner:
          $ref: '#/components/schemas/BusinessPartner'
        featuresOn:
          type: array
          description: List of features to be activated.
          items:
            $ref: '#/components/schemas/ConfirmFeatureParam'
        featuresOff:
          type: array
          description: List of features to be deactivated.
          items:
            $ref: '#/components/schemas/ConfirmFeatureParam'
    ConfirmFeatureParam:
      type: string
      description: Feature to be used during confirmation.
      example: ENABLE_QUALIFICATION_CONFIRMATION
      enum:
        - ENABLE_SANCTION_CONFIRMATION
        - ENABLE_QUALIFICATION_CONFIRMATION
      x-enumDescriptions:
        ENABLE_SANCTION_CONFIRMATION: Sanction confirmation is used to confirm business partner.
        ENABLE_QUALIFICATION_CONFIRMATION: Qualification functionality is used to confirm business partner.
    SapBnTradingPartnerConfirmResult:
      type: object
      description: >
        Provides the results of the confirmation checks on a trading partner's
        data. Each section of the response details the outcomes of different
        data validations such as data quality, company legitimacy, VAT number
        verification, and sanction compliance.
      properties:
        status:
          $ref: '#/components/schemas/Status'
        dataQualityConfirmation:
          $ref: '#/components/schemas/DataQualityConfirmation'
        companyConfirmation:
          $ref: '#/components/schemas/CompanyConfirmation'
        qualificationConfirmation:
          $ref: '#/components/schemas/QualificationConfirmation'
        sanctionComplianceConfirmation:
          $ref: '#/components/schemas/ScreeningComplianceConfirmation'
    BusinessPartner:
      type: object
      description: >
        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.
      properties:
        jsonRecord:
          $ref: '#/components/schemas/SapBnTradingPartner'
    SapBnTradingPartner:
      type: object
      description: >
        Detailed information of a trading partner including basic contact
        details and VAT number which are essential for various compliance and
        verification processes.
      properties:
        name:
          type: string
          description: The name of the trading partner.
          example: CDQ GmbH
        vatNumber:
          type: string
          description: The European VAT number of the trading partner.
          example: DE123456789
        country:
          type: string
          description: The country code of the trading partner.
          example: DE
        region:
          type: string
          description: The region code of the trading partner.
          example: DE
        city:
          type: string
          description: The city of the trading partner.
          example: Friedrichshafen
        postalCode:
          type: string
          description: The postal code of the trading partner.
          example: '88045'
        street:
          type: string
          description: The street of the trading partner.
          example: Zeppelinstraße
        houseNumber:
          type: string
          description: The house number of the trading partner.
          example: '7'
    DataQualityConfirmation:
      type: object
      description: >
        Describes the outcome of data quality checks, including an overall
        decision and detailed reports of any issues found.
      properties:
        decision:
          $ref: '#/components/schemas/ConfirmationDecision'
        summary:
          $ref: '#/components/schemas/DataQualityConfirmationSummary'
        details:
          $ref: '#/components/schemas/DataQualityConfirmationDetails'
    CompanyConfirmation:
      type: object
      description: >
        Contains results of the company confirmation process, verifying the
        existence and registration details of the company against trusted
        databases.
      properties:
        decision:
          $ref: '#/components/schemas/ConfirmationDecision'
        summary:
          $ref: '#/components/schemas/CompanyConfirmationSummary'
        details:
          $ref: '#/components/schemas/CompanyConfirmationDetails'
    QualificationConfirmation:
      type: object
      description: >
        Outputs the results of VAT number validation checks against official tax
        databases to ensure its validity.
      properties:
        decision:
          $ref: '#/components/schemas/ConfirmationDecision'
        summary:
          $ref: '#/components/schemas/QualificationConfirmationSummary'
        details:
          $ref: '#/components/schemas/QualificationConfirmationDetails'
    ScreeningComplianceConfirmation:
      type: object
      description: >
        Provides outcomes of checks against compliance lists like sanctions or
        watch lists to verify if the trading partner is compliant with
        regulatory standards.
      properties:
        decision:
          $ref: '#/components/schemas/ConfirmationDecision'
        summary:
          $ref: '#/components/schemas/ScreeningComplianceSummary'
        details:
          $ref: '#/components/schemas/ScreeningComplianceDetails'
    DataQualityConfirmationSummary:
      type: object
      description: >
        Summarizes the results of data quality checks including counts of
        errors, warnings, and informational messages.
      properties:
        numErrors:
          type: integer
          description: The number of errors found during data quality checks.
          example: '0'
        numWarnings:
          type: integer
          description: The number of warnings found during data quality checks.
          example: '1'
        numInfos:
          type: integer
          description: >-
            The number of informational messages found during data quality
            checks.
          example: '0'
    DataQualityConfirmationDetails:
      type: object
      description: >
        Provides detailed reports of data quality issues categorized into
        errors, warnings, and informational messages.
      properties:
        errors:
          type: array
          description: List of errors found during data quality checks.
          items:
            $ref: '#/components/schemas/DataDefect'
        warnings:
          type: array
          description: List of warnings found during data quality checks.
          items:
            $ref: '#/components/schemas/DataDefect'
        infos:
          type: array
          description: List of informational messages found during data quality checks.
          items:
            $ref: '#/components/schemas/DataDefect'
    CompanyConfirmationSummary:
      type: object
      description: >
        Summarizes the company confirmation results, including the data source
        used for verification and the classification and score of the match.
      properties:
        dataSourceName:
          type: string
          description: The name of the data source used for company confirmation.
          example: VIES
        overallMatchingClassification:
          $ref: '#/components/schemas/MatchingClassification'
        overallMatchingScore:
          $ref: '#/components/schemas/MatchingScoreValue'
    CompanyConfirmationDetails:
      type: object
      description: >
        Provides detailed results of the company verification process, including
        the matched company profile and related data.
      properties:
        matchingProfile:
          $ref: '#/components/schemas/MatchingProfile'
        matchedCompanyData:
          $ref: '#/components/schemas/BusinessPartner'
    QualificationConfirmationSummary:
      type: object
      description: >
        Summarizes the results of the VAT number confirmation including the data
        source used and details on various decision aspects.
      properties:
        dataSourceName:
          type: string
          description: The name of the data source used for VAT number confirmation.
          example: VIES
        decisionIdentifier:
          $ref: '#/components/schemas/QualificationDecisionTechnicalKey'
        decisionName:
          $ref: '#/components/schemas/QualificationDecisionTechnicalKey'
        decisionCity:
          $ref: '#/components/schemas/QualificationDecisionTechnicalKey'
        decisionStreet:
          $ref: '#/components/schemas/QualificationDecisionTechnicalKey'
    QualificationConfirmationDetails:
      type: object
      description: >
        Detailed results of the VAT number verification process including
        individual decision reports for each check performed.
      properties:
        identifierResults:
          $ref: '#/components/schemas/IdentifierResults'
    IdentifierResults:
      type: object
      description: >
        Contains the results of a qualification check on a specific identifier,
        including the rule applied and the decision made.
      properties:
        qualificationDecisions:
          type: array
          description: >
            List of qualification decisions made on the identifier, including
            the rule applied and the decision made.
          items:
            $ref: '#/components/schemas/QualificationDecision'
    ScreeningComplianceSummary:
      type: object
      description: >
        Summarizes the sanction screening results including the compliance list
        name and the matching score.
      properties:
        matchingScore:
          $ref: '#/components/schemas/MatchingScoreValue'
        complianceListName:
          type: string
          description: The name of the compliance list used for screening.
          example: OFAC SDN (Specially Designated Nationals) List
    ScreeningComplianceDetails:
      type: object
      description: >
        Details the specific matches found during the sanction screening
        process, including the list and score of each match.
      properties:
        complianceListMatches:
          type: array
          description: >
            List of compliance list matches found during the screening process,
            including the list and score of each match.
          items:
            $ref: '#/components/schemas/ScreeningMatch'
    ConfirmationDecision:
      type: object
      description: >
        Represents the decision made during a confirmation process, including
        the technical key and an explanation of the decision.
      properties:
        technicalKey:
          $ref: '#/components/schemas/ConfirmationDecisionTechnicalKey'
    ConfirmationDecisionTechnicalKey:
      type: string
      description: >
        Represents the possible outcomes of a data validation process, including
        successful validation, failure, or non-applicability.
      example: OK
    DataDefect:
      type: object
      description: >
        Represents specific issues found during data quality checks, categorized
        by the rule they violated.
      properties:
        businessRule:
          $ref: '#/components/schemas/BusinessRule'
        violationLevel:
          $ref: '#/components/schemas/ViolationLevel'
        violationMessage:
          type: string
          description: |
            Descriptive message detailing the nature of the data defect.
          example: Business partner misses the business registration number
    BusinessRule:
      type: object
      description: >
        Details the specific business rule that has been violated, including its
        name and a link to its definition.
      properties:
        name:
          $ref: '#/components/schemas/BusinessRuleName'
        url:
          $ref: '#/components/schemas/BusinessRuleUrl'
        ruleStatus:
          type: string
          description: |
            Indicates the release status of the business rule.
          example: RELEASED
    MatchingProfile:
      type: object
      description: >
        Contains a profile of matching scores that evaluate how well the trading
        partner data matches against various criteria.
      properties:
        matchingScores:
          $ref: '#/components/schemas/MatchingScores'
    MatchingScores:
      type: object
      description: >
        Provides detailed matching scores broken down into overall, business
        partner specific, and address specific evaluations.
      properties:
        overall:
          $ref: '#/components/schemas/MatchingScore'
        businessPartner:
          $ref: '#/components/schemas/MatchingScore'
        address:
          $ref: '#/components/schemas/MatchingScore'
    MatchingScore:
      type: object
      description: >
        Describes the matching score, including a classification, value, and
        explanation of the match.
      properties:
        classification:
          $ref: '#/components/schemas/MatchingClassification'
        value:
          $ref: '#/components/schemas/MatchingScoreValue'
        explanation:
          type: string
          description: >
            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;]
    MatchingClassification:
      type: string
      description: >
        Lists the possible classifications for data matching, providing a
        clearer interpretation of the matching score.
      example: FULL_MATCH
    MatchingScoreValue:
      type: number
      description: >
        Numeric value representing the degree of match calculated during data
        validation processes.
      example: '0.7846153846153846'
    QualificationDecision:
      type: object
      description: >
        Details the decisions made during the qualification process of data
        validation, including the rule applied and the specific target of the
        qualification.
      properties:
        businessRule:
          $ref: '#/components/schemas/BusinessRule'
        qualificationTarget:
          $ref: '#/components/schemas/QualificationTarget'
        decision:
          $ref: '#/components/schemas/QualificationDecisionTechnicalKey'
        dataSourceName:
          type: string
          description: |
            Name of the data source used in making the qualification decision.
          example: VIES
    QualificationTarget:
      type: string
      description: >
        Specify the target attribute of the trading partner data that was
        subject to qualification.
      example: IDENTIFIER
    QualificationDecisionTechnicalKey:
      type: string
      description: >
        Enumerates the potential outcomes of data qualification checks, useful
        for understanding validation results.
      example: VALID
    ScreeningMatch:
      type: object
      description: >
        It represents the results of a screening process, detailing the specific
        list on which a match was found and the respective matching score.
      properties:
        list:
          $ref: '#/components/schemas/ComplianceList'
        matchingScore:
          $ref: '#/components/schemas/MatchingScore'
    ComplianceList:
      type: object
      description: >
        Describes a compliance or sanction list used during the screening
        process, including its type, name, and issuing body.
      properties:
        type:
          $ref: '#/components/schemas/ComplianceListType'
        name:
          type: string
          description: |
            Name of the compliance or sanction list.
          example: OFAC SDN (Specially Designated Nationals) List
        technicalKey:
          type: string
          description: |
            Technical key or identifier of the compliance list.
          example: INFO4C_SL_22
        issuingBody:
          $ref: '#/components/schemas/IssuingBody'
        rationale:
          type: string
          description: >
            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.)
    IssuingBody:
      type: object
      description: >
        Represents the authority or organization that issued a compliance or
        sanction list.
      properties:
        name:
          $ref: '#/components/schemas/IssuingBodyName'
        technicalKey:
          $ref: '#/components/schemas/IssuingBodyTechnicalKey'
    IssuingBodyName:
      type: string
      description: Preferred display label for an Issuing Body.
      example: Amtsgericht Aachen
    IssuingBodyTechnicalKey:
      type: string
      description: Technical key of the Issuing Body.
      example: DE_AG_AACHEN
    ComplianceListType:
      type: string
      description: >
        Specify the type of compliance list used during sanction screening
        processes.
      example: SANCTIONLIST
    HttpStatusCode:
      type: integer
      description: RFC 7231 status code for this error.
      example: '400'
    HttpStatusTechnicalKey:
      type: string
      description: Technical key describing the status or error
      example: OK
    StatusDetailsMessageId:
      type: integer
      description: 9-digit code which is uniquely identifying a message
      example: 200000004
    StatusDetailsMessage:
      type: string
      description: Human-readable message which may also be presented in user interface.
      example: Business Partner Name is mandatory.
    StatusDetailsTechnicalKey:
      type: string
      description: Technical key to uniquely identify a message.
      example: JOB_FINISHED
    JsonPath:
      type: string
      description: JSONPath as specified by the IETF standard
      example: $.businessPartner.names[0].value
    HttpPath:
      type: string
      description: Requested path which caused this error.
      example: /v2/businesspartners/lookup
    StatusTimestamp:
      type: string
      description: ISO 8601 representation of the timestamp.
      example: '2025-09-17T06:18:08Z'
    BusinessRuleName:
      type: string
      description: Represents business rule name.
      example: >-
        Identifier unknown (European value added tax identifier (The
        Netherlands))
    BusinessRuleUrl:
      type: string
      description: Represents Data Quality Rule url.
      example: >-
        https://meta.cdq.com/Identifier_unknown_(European_value_added_tax_identifier_(The_Netherlands))
    ViolationLevel:
      type: string
      description: >
        Indicates the criticality of the applied rule. 

        If a data defect was found then user will get `INFO`, `WARNING` or
        `ERROR` level. Otherwise, it will be NO_DEFECT.
      example: INFO
