openapi: 3.0.0
info:
  title: Collaboration API
  description: CDQ.POOL API for reviews
  version: '1'
  x-cdq-internal-api: true
  contact:
    name: Michał Malinka
    url: https://www.cdq.com/about-cdq#cdq-team
    email: michal.malinka@cdq.com
  x-swaggerhub-version: 2.0-oas3
  x-swaggerhub-api: collaboration-api
servers:
  - url: >-
      https://collaboration-api.reverse-proxy.prod.k8s.production.cdq-cloud-engine.com/soap/v1
    description: Production SOAP
  - url: >-
      https://collaboration-api.reverse-proxy.prod.k8s.production.cdq-cloud-engine.com
    description: Production
security:
  - oAuth2: []
tags:
  - name: Sharing
    description: Everything about Business Partners
  - name: Matching
    description: Everything about Business Partners
  - name: Reviews
    description: Collaborative review of Business Partner updates
paths:
  /jobs/maintenancejobs:
    post:
      tags:
        - Maintenance
      x-wsdl: false
      x-public: false
      summary: Start Maintenance Job
      description: Start a maintenance job.
      parameters:
        - $ref: '#/components/parameters/usernameHeaderParam'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaintenanceJob'
  /sharing/businesspartners/supportedCountries:
    get:
      tags:
        - Sharing
      x-wsdl: false
      x-public: false
      summary: Supported Countries
      description: Read countries supported by sharing.
      parameters:
        - $ref: '#/components/parameters/usernameHeaderParam'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupportedCountries'
  /sharing/businesspartners/dataMirrorEvent:
    post:
      tags:
        - Sharing
      x-wsdl: false
      x-public: false
      summary: Data Mirror Event
      description: >-
        Start a sharing process for a BusinessPartner by providing a
        DataMirrorEvent.
      parameters:
        - $ref: '#/components/parameters/usernameHeaderParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataMirrorEvent'
        required: true
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
  /sharing/businesspartners/inspectSharingStatus:
    post:
      tags:
        - Sharing
      x-wsdl: false
      x-public: false
      summary: Inspect Sharing Status
      description: >-
        Inspect the given Business Partner if it can participate in the sharing
        process. Only for debug purposes.
      parameters:
        - $ref: '#/components/parameters/usernameHeaderParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BusinessPartnerSharingStatusRequest'
        required: true
        description: >-
          The Business Partner which will be inspected for its feasibility to
          participate in sharing process
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessPartnerSharingStatusResult'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
  /sharing/businesspartners/lookup:
    post:
      tags:
        - Sharing
      x-wsdl: false
      x-public: false
      summary: Lookup Business Partner
      description: Lookup business partners in the CDQ Community Pool.
      parameters:
        - $ref: '#/components/parameters/usernameHeaderParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BusinessPartnerLookupRequest'
        required: true
        description: request
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessPartnerLookupResult'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '500':
          $ref: '#/components/responses/Exception'
  /sharing/reviewdecisions:
    post:
      tags:
        - Sharing
      x-wsdl: false
      x-public: false
      summary: Link Business Partner
      description: >
        Link business partner with the CDQ Community Pool. Only business partner

        which is in status PENDING_LINKAGE_DECISION is allowed.


        In successful case, execution finishes in the following states:

        | Review decision | Sharing status |

        | NO_MATCH | SHARED_WITH_NO_MATCH_BY_REVIEW |

        | LINK | SHARED_BY_REVIEW |

        | LINK_AND_SEND_UPDATE | SHARED_BY_REVIEW |


        `status` field is OK in case of successful linkage or FAILED in case of
        failure.

        `message` field presents the reason of failure.


        In case the business partner contents has been changed, the status can
        be different

        and will be visible in the result.
      parameters:
        - $ref: '#/components/parameters/usernameHeaderParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReviewDecisionRequest'
        required: true
        description: request
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReviewDecisionResult'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '500':
          $ref: '#/components/responses/Exception'
  /cache/{cacheName}:
    delete:
      x-cdq-private: true
      x-public: false
      x-wsdl: false
      summary: Cache
      description: Clear cache.
      tags:
        - Cache
      parameters:
        - $ref: '#/components/parameters/usernameHeaderParam'
        - name: cacheName
          in: path
          description: cacheName of the cache to be cleared.
          required: true
          schema:
            type: string
            description: cacheName of the cache to be cleared.
            example: collaborationDataMatchingDefinition
            enum:
              - collaborationCreated
              - collaborationDataMatchingDefinition
              - collaborationLinkageStrategies
      responses:
        '200':
          description: OK
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
  /sharing/systemApiKeys/dev:
    patch:
      tags:
        - Sharing
      x-cdq-private: true
      x-wsdl: false
      x-public: false
      summary: Update system API keys for Quality Gate (dev only)
      description: Update the system API keys locally for development environment.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SystemApiKeysPatchRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemApiKeysResult'
        '400':
          $ref: '#/components/responses/BadRequest'
    get:
      tags:
        - Sharing
      x-cdq-private: true
      x-wsdl: false
      x-public: false
      summary: Read system API keys for Quality Gate (dev only)
      description: Read the system API keys locally for development environment.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemApiKeysResult'
        '400':
          $ref: '#/components/responses/BadRequest'
components:
  securitySchemes:
    oAuth2:
      type: oauth2
      flows:
        clientCredentials:
          x-tokenEndpointAuthMethod: client_secret_basic
          tokenUrl: https://id.cdq.com/auth/realms/cs/protocol/openid-connect/token
          scopes: {}
  parameters:
    usernameHeaderParam:
      name: X-Credential-Username
      in: header
      required: true
      schema:
        type: string
        example: johndoe
      description: >-
        Username that is passed as header parameter with the name
        X-Credential-Username.
  responses:
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
        application/xml:
          schema:
            $ref: '#/components/schemas/ApiError'
    NotFound:
      description: The specified resource was not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
        application/xml:
          schema:
            $ref: '#/components/schemas/ApiError'
    Exception:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
        application/xml:
          schema:
            $ref: '#/components/schemas/ApiError'
  schemas:
    DataMirrorEvent:
      type: object
      description: >-
        Event triggered after creation or update a Business Partner in the Data
        Mirror.
      required:
        - storageId
        - userId
        - storageOrganizationId
        - businessPartnerIds
      properties:
        storageId:
          $ref: '#/components/schemas/BusinessPartnerStorageId'
        storageOrganizationId:
          $ref: '#/components/schemas/OrganizationId'
        businessPartnerIds:
          type: array
          items:
            $ref: '#/components/schemas/BusinessPartnerId'
        userId:
          $ref: '#/components/schemas/UserId'
        sharingTarget:
          type: string
          description: Destination of the sharing process.
          example: CDQ.POOL
    BusinessPartnerSharingStatusRequest:
      type: object
      description: Business Partner Sharing Status Request.
      required:
        - businessPartner
      properties:
        businessPartner:
          $ref: '#/components/schemas/BusinessPartner'
    BusinessPartnerSharingStatusResult:
      type: object
      description: Business Partner Sharing Status Result.
      properties:
        businessPartner:
          $ref: '#/components/schemas/BusinessPartner'
    BusinessPartner:
      type: object
      description: >-
        An organization which has some degree of involvement with another
        organization's business dealings. Typically, a company's business
        partner is another company in the role of a customer, a supplier, a
        vendor, or a service provider. In the CDL context, the business partner
        is the core managed entity. A business partner is globally uniquely
        identifiable by a CDL ID, and all managed information such as addresses,
        documents, and hierarchies is linked to a business partner.
      properties:
        id:
          type: string
          description: Business Partner identifier within a storage. Autogenerated.
          example: CH.UIDR:CHE218608886
        dataSource:
          $ref: '#/components/schemas/BusinessPartnerStorageDataSourceId'
        externalId:
          $ref: '#/components/schemas/BusinessPartnerExternalId'
        disclosed:
          type: boolean
          description: >-
            A flag to indicate whether the business partner should participate
            in the sharing or not. If 'true' this business partner might be used
            to create a new entry or update an existing entry in the community
            pool. Otherwise it will not be considered for the sharing process.
          example: 'true'
        names:
          type: array
          items:
            $ref: '#/components/schemas/Name'
        legalForm:
          $ref: '#/components/schemas/LegalForm'
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/Identifier'
        categories:
          type: array
          items:
            $ref: '#/components/schemas/BusinessPartnerCategory'
        status:
          $ref: '#/components/schemas/BusinessPartnerStatus'
        metadata:
          $ref: '#/components/schemas/BusinessPartnerMetadata'
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/Address'
        types:
          type: array
          items:
            $ref: '#/components/schemas/BusinessPartnerType'
        record:
          type: string
          description: Stringified JSON of an individual business partner record.
          example: '{json_body}'
        profile:
          $ref: '#/components/schemas/PartnerProfile'
    Address:
      type: object
      description: >-
        An address provides information about the physical location of a
        business partner. It can be specialized in a certain context(e.g.
        delivery address or invoice address).
      example: Lukasstraße 4, 9008 St. Gallen
      properties:
        id:
          type: string
          description: The ID of the address.
          example: '0'
        version:
          $ref: '#/components/schemas/AddressVersion'
        externalId:
          $ref: '#/components/schemas/AddressExternalId'
        country:
          $ref: '#/components/schemas/Country'
        administrativeAreas:
          type: array
          items:
            $ref: '#/components/schemas/AdministrativeArea'
        postCodes:
          type: array
          items:
            $ref: '#/components/schemas/PostCode'
        localities:
          type: array
          items:
            $ref: '#/components/schemas/Locality'
        thoroughfares:
          type: array
          items:
            $ref: '#/components/schemas/Thoroughfare'
        premises:
          type: array
          items:
            $ref: '#/components/schemas/Premise'
        postalDeliveryPoints:
          type: array
          items:
            $ref: '#/components/schemas/PostalDeliveryPoint'
        geographicCoordinates:
          $ref: '#/components/schemas/GeographicCoordinates'
        identifyingName:
          $ref: '#/components/schemas/AddressIdentifyingName'
        careOf:
          $ref: '#/components/schemas/CareOf'
        contexts:
          type: array
          items:
            $ref: '#/components/schemas/AddressContext'
        types:
          type: array
          items:
            $ref: '#/components/schemas/AddressType'
    Name:
      type: object
      description: The name of a business partner.
      example: Corporate Data Quality AG
      properties:
        shortName:
          $ref: '#/components/schemas/NameShortName'
        type:
          $ref: '#/components/schemas/NameType'
        value:
          $ref: '#/components/schemas/NameValue'
        language:
          $ref: '#/components/schemas/Language'
        details:
          type: array
          items:
            $ref: '#/components/schemas/NameDetail'
    Language:
      type: object
      description: Naming of a language according to ISO 639-1.
      properties:
        name:
          $ref: '#/components/schemas/LanguageName'
        technicalKey:
          $ref: '#/components/schemas/LanguageTechnicalKey'
    NameType:
      type: object
      description: >-
        The type of the name, e.g. a locally used name or an international
        version.
      example: Local Name
      properties:
        url:
          $ref: '#/components/schemas/NameTypeUrl'
        name:
          $ref: '#/components/schemas/NameTypeName'
        technicalKey:
          $ref: '#/components/schemas/NameTypeTechnicalKey'
    NameDetail:
      type: object
      description: >-
        Some additional information to a [Business Partner
        Name](https://meta.cdq.com/Business_partner/name).
      properties:
        value:
          $ref: '#/components/schemas/NameDetailValue'
        type:
          $ref: '#/components/schemas/NameDetailType'
    NameDetailType:
      type: object
      description: >-
        Type of additional information to a [Business Partner
        Name](https://meta.cdq.com/Business_partner/name).
      properties:
        name:
          $ref: '#/components/schemas/NameDetailTypeName'
        url:
          $ref: '#/components/schemas/NameDetailTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/NameDetailTypeTechnicalKey'
    LegalForm:
      type: object
      description: >-
        The legal form of a [business partner/type/legal
        entity](https://meta.cdq.com/Business_partner/type/legal_entity) is the
        form it takes in the eyes of the law governing it. The legal form of a
        [company](https://meta.cdq.com/Business_partner) is the general type it
        may legally use to identify itself according to the local, regional,
        national, or international law governing it. This is normally reflected
        in the ending abbreviation after the
        [company](https://meta.cdq.com/Business_partner)'s name (e.g. AG, Inc.,
        LLC, S.A.).
      example: Aktiengesellschaft
      properties:
        name:
          $ref: '#/components/schemas/LegalFormName'
        url:
          $ref: '#/components/schemas/LegalFormUrl'
        technicalKey:
          $ref: '#/components/schemas/LegalFormTechnicalKey'
        language:
          $ref: '#/components/schemas/Language'
        mainAbbreviation:
          $ref: '#/components/schemas/LegalFormMainAbbreviation'
    Identifier:
      type: object
      description: >-
        Identifies a [Business Partner](https://meta.cdq.com/Business_partner)
        in a given context uniquely such as a VAT identification number.
      example: VAT identification number
      properties:
        type:
          $ref: '#/components/schemas/IdentifierType'
        value:
          $ref: '#/components/schemas/IdentifierValue'
        issuingBody:
          $ref: '#/components/schemas/IssuingBody'
        status:
          $ref: '#/components/schemas/IdentifierStatus'
    IdentifierType:
      type: object
      description: Type of the identifier.
      properties:
        url:
          $ref: '#/components/schemas/IdentifierTypeUrl'
        name:
          $ref: '#/components/schemas/IdentifierTypeName'
        technicalKey:
          $ref: '#/components/schemas/IdentifierTypeTechnicalKey'
    IssuingBody:
      type: object
      description: >-
        An Issuing Body is an organization or government institution that is
        responsible for assigning unique identifiers to individuals,
        organizations, or objects.
      example: Amtsgericht Aachen
      properties:
        url:
          $ref: '#/components/schemas/IssuingBodyUrl'
        name:
          $ref: '#/components/schemas/IssuingBodyName'
        technicalKey:
          $ref: '#/components/schemas/IssuingBodyTechnicalKey'
    IdentifierStatus:
      type: object
      description: >-
        Identifier Status refers to the current state of a unique identification
        number.
      example: '{“technicalKey”: “ACTIVE”}'
      properties:
        name:
          $ref: '#/components/schemas/IdentifierStatusName'
        technicalKey:
          $ref: '#/components/schemas/IdentifierStatusTechnicalKey'
    BusinessPartnerCategory:
      type: object
      description: >-
        A business partner category of a business partner groups similar
        business partners.
      example: Hotel
      properties:
        name:
          $ref: '#/components/schemas/BusinessPartnerCategoryName'
        url:
          $ref: '#/components/schemas/BusinessPartnerCategoryUrl'
        technicalKey:
          $ref: '#/components/schemas/BusinessPartnerCategoryTechnicalKey'
    PartnerProfile:
      type: object
      description: >-
        A business partner profile contains important information about a
        company, such as its classification, tags, contact details, or minority
        indicator.
      properties:
        minorityIndicator:
          $ref: '#/components/schemas/MinorityIndicator'
        classifications:
          type: array
          items:
            $ref: '#/components/schemas/Classification'
        phoneNumbers:
          type: array
          items:
            $ref: '#/components/schemas/PhoneNumber'
        websites:
          type: array
          items:
            $ref: '#/components/schemas/Website'
        contactEmails:
          type: array
          items:
            $ref: '#/components/schemas/ContactEmail'
        tags:
          type: array
          description: List of Tags.
          maxItems: 30
          items:
            $ref: '#/components/schemas/Tag'
    MinorityIndicator:
      type: object
      description: >
        The minority indicator determines the minority group to which a vendor
        belongs. Usually, the minority indicator is only relevant in the United
        States and it is used for reporting purposes only. There is a
        corresponding SAP field in the vendor master for maintaining the
        minority indicator.


        This feature is as of today dependent on data provided by a US based
        company: SupplierGateway.


        Additional documentation can be found
        [here](https://meta.cdq.com/Business_partner/partner_profile/minority_indicator).
      example: Social enterprise
      properties:
        value:
          $ref: '#/components/schemas/MinorityIndicatorValue'
    Classification:
      type: object
      description: >-
        A business industry or activity classification is a system of
        categorizing businesses and organizations into specific industries or
        activities based on their primary products or services, functions, or
        activities. These classifications are often used by governments, trade
        organizations, and other institutions to collect and analyze data on
        economic activity and to track trends and changes in various sectors.
      example: NAF
      properties:
        value:
          $ref: '#/components/schemas/ClassificationValue'
        code:
          $ref: '#/components/schemas/ClassificationCode'
        type:
          $ref: '#/components/schemas/ClassificationType'
    ClassificationType:
      type: object
      description: >-
        Type of classification such as NACE, SIC, NAF or other industry
        classification standards.
      example: NAF 2003
      properties:
        name:
          $ref: '#/components/schemas/ClassificationTypeName'
        url:
          $ref: '#/components/schemas/ClassificationTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/ClassificationTypeTechnicalKey'
    PhoneNumber:
      type: object
      description: >-
        The main phone number of a business partner, usually some info-line of
        the headquarter.
      example: +41 71 571 10 40
      properties:
        countryPrefix:
          $ref: '#/components/schemas/PhoneNumberCountryPrefix'
        number:
          $ref: '#/components/schemas/PhoneNumberNumber'
        type:
          $ref: '#/components/schemas/PhoneNumberType'
        value:
          $ref: '#/components/schemas/PhoneNumberValue'
    PhoneNumberType:
      type: object
      description: >-
        Allowed types are documented
        [here](https://www.corporate-data-league.ch/meta/Partner_profile/phone_number/type).
      properties:
        name:
          $ref: '#/components/schemas/PhoneNumberTypeName'
        url:
          $ref: '#/components/schemas/PhoneNumberTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/PhoneNumberTypeTechnicalKey'
    Website:
      type: object
      description: >-
        Webpages related to the business partner, e.g. the main corporate
        website as also provided by some company registers.
      example: www.cdq.com
      properties:
        url:
          $ref: '#/components/schemas/WebsiteUrl'
        type:
          $ref: '#/components/schemas/WebsiteType'
    WebsiteType:
      type: object
      description: >-
        Describes the type of website of a business partner, e.g. corporate
        website, official LinkedIn profile, etc.
      example: Corporate Website
      properties:
        name:
          $ref: '#/components/schemas/WebsiteTypeName'
        url:
          $ref: '#/components/schemas/WebsiteTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/WebsiteTypeTechnicalKey'
    ContactEmail:
      type: object
      description: Value of the email address of the Business Partner.
      example: developer-portal@cdq.com
      properties:
        value:
          $ref: '#/components/schemas/ContactEmailValue'
    BusinessPartnerStatus:
      type: object
      description: >-
        Describes the status of a business partner with respect to its level of
        activity (e.g. out of business) or legally relevant conditions.
      properties:
        type:
          $ref: '#/components/schemas/BusinessPartnerStatusType'
        officialDenotation:
          $ref: '#/components/schemas/BusinessPartnerStatusOfficialDenotation'
        validFrom:
          $ref: '#/components/schemas/BusinessPartnerStatusValidFrom'
        validUntil:
          $ref: '#/components/schemas/BusinessPartnerStatusValidUntil'
    BusinessPartnerStatusType:
      type: object
      description: The standardized status which the business partner currently has.
      example: In Liquidation
      properties:
        name:
          $ref: '#/components/schemas/BusinessPartnerStatusTypeName'
        url:
          $ref: '#/components/schemas/BusinessPartnerStatusTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/BusinessPartnerStatusTypeTechnicalKey'
    BusinessPartnerType:
      type: object
      description: >-
        A distinct type a business partner is assigned to. It determines the
        business context a business partner is involved in. In the Corporate
        Data League, most business partners are legal entities.
      properties:
        name:
          $ref: '#/components/schemas/BusinessPartnerTypeName'
        url:
          $ref: '#/components/schemas/BusinessPartnerTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/BusinessPartnerTypeTechnicalKey'
    BusinessPartnerMetadata:
      type: object
      description: Metadata of a business partner.
      properties:
        status:
          $ref: '#/components/schemas/BusinessPartnerDocumentStatus'
        sharingStatus:
          $ref: '#/components/schemas/SharingStatus'
        reason:
          type: string
          description: The reason why the business partner is in the current status.
          example: The business partner is in liquidation.
        identityLinks:
          type: array
          items:
            $ref: '#/components/schemas/IdentityLink'
        logResultStatuses:
          type: array
          items:
            $ref: '#/components/schemas/ProcessingLogResultStatus'
    BusinessPartnerDocumentStatus:
      type: object
      description: The status of the business partner document.
      properties:
        recordStatus:
          type: string
          description: The status of the business partner record.
          example: ACCEPTED
          enum:
            - ACCEPTED
            - REJECTED
          x-enumDescriptions:
            ACCEPTED: The business partner record is accepted.
            REJECTED: The business partner record is rejected.
        explanations:
          type: array
          items:
            type: string
            description: The explanations of the business partner record.
            example: The business partner record is accepted.
    SharingStatus:
      type: object
      description: The sharing status of the business partner document.
      properties:
        status:
          type: string
          description: The sharing status of the business partner record.
          example: SHARED_WITH_NO_MATCH
          enum:
            - UNDER_CONSIDERATION
            - UNDER_CONSIDERATION_COUNTRY
            - UNDER_CONSIDERATION_NOT_VALIDATED
            - UNDER_CONSIDERATION_MISSING_MATCH_TYPE
            - UNDISCLOSED_RECORD
            - MISSING_INFORMATION_FOR_LINKAGE
            - NATURAL_PERSON
            - ERRONEOUS_INFORMATION_FOR_LINKAGE
            - ERRONEOUS_RECORD
            - PENDING_LINKAGE_DECISION
            - PROCESS_ISSUE
            - SHARED_WITH_NO_MATCH
            - SHARED_WITH_CONFIDENT_MATCH
            - SHARED_WITH_NO_MATCH_BY_REVIEW
            - SHARED_BY_REVIEW
            - IGNORED
          x-enumDescriptions:
            UNDER_CONSIDERATION: The business partner will be considered for the sharing process.
            UNDER_CONSIDERATION_COUNTRY: >-
              The business partner will be considered for the sharing process
              but missing country.
            UNDER_CONSIDERATION_NOT_VALIDATED: >-
              The business partner will be considered for the sharing process
              but not validated.
            UNDER_CONSIDERATION_MISSING_MATCH_TYPE: >-
              The business partner will be considered for the sharing process
              but missing matching type.
            UNDISCLOSED_RECORD: >-
              During the last attempt to share the business partner it was
              marked as 'undisclosed' and for that reason not considered.
            MISSING_INFORMATION_FOR_LINKAGE: >-
              The business partner has missing at least one of required
              parameters defined by collaboration linkage strategy so can not be
              shared.
            NATURAL_PERSON: >-
              The record was identified as natural person and is therefore
              excluded from the sharing.
            ERRONEOUS_INFORMATION_FOR_LINKAGE: >-
              The business partner violates at least one rule for required
              parameters defined by collaboration linkage strategy so can not be
              shared.
            ERRONEOUS_RECORD: >-
              The business partner violates at least one rule that leads to an
              overall data validation result of ERROR, and can not be shared.
            PENDING_LINKAGE_DECISION: >-
              As the matching result was uncertain the business partner is
              currently waiting to be reviewed before it can be shared.
            PROCESS_ISSUE: >-
              During the last attempt to share the business partner process
              issue occurred. This business partner will be processed again.
            SHARED_WITH_NO_MATCH: >-
              No match could be found and therefore the business partner was
              added to the community pool as a new business partner.
            SHARED_WITH_CONFIDENT_MATCH: >-
              A confident match was found and therefore the business partner was
              linked to an existing business partner in the community pool.
            SHARED_WITH_NO_MATCH_BY_REVIEW: >-
              Review decision has been made and the business partner was added
              to the community pool as a new business partner.
            SHARED_BY_REVIEW: >-
              Review decision has been made and the business partner was linked
              to an existing business partner in the community pool.
            IGNORED: >-
              The business partner will not be considered for the sharing
              process.
        description:
          type: string
          description: Detailed text explaining sharing status.
          example: The business partner record is shared with no match.
    IdentityLink:
      type: object
      description: The identity link of the business partner document.
      properties:
        linkId:
          type: string
          description: The link id of the business partner record.
          example: '8926689'
        cdqId:
          $ref: '#/components/schemas/ProvenanceCdqId'
        addressId:
          type: string
          description: Unique identifier of the address.
          example: '8926689'
        externalAddressId:
          type: string
          description: Unique external identifier of the address.
          example: '8926689'
        status:
          $ref: '#/components/schemas/IdentityLinkStatus'
    IdentityLinkStatus:
      type: object
      description: Status of the identity link.
      properties:
        details:
          type: array
          items:
            $ref: '#/components/schemas/IdentityLinkStatusDetail'
    IdentityLinkStatusDetail:
      type: object
      description: Detail of the identity link status.
      properties:
        technicalKey:
          $ref: '#/components/schemas/IdentityLinkStatusDetailTechnicalKey'
        message:
          $ref: '#/components/schemas/IdentityLinkStatusDetailMessage'
    IdentityLinkStatusDetailTechnicalKey:
      type: string
      description: Technical key of the identity link status detail.
      example: BUSINESS_PARTNER_TYPE_MISMATCH
    IdentityLinkStatusDetailMessage:
      type: string
      x-cdq-private: true
      description: Message of the identity link status detail.
      example: Business partner types do not match.
    ProcessingLogResultStatus:
      type: object
      description: The log result status of the business partner document.
      properties:
        processingLogId:
          $ref: '#/components/schemas/ProcessingLogId'
        status:
          $ref: '#/components/schemas/ProcessingLogResultStatusStatus'
    ProcessingLogResultStatusStatus:
      type: string
      description: Status of log result.
      example: INFO
    AddressVersion:
      type: object
      description: >-
        CDQ supports multiple versions of addresses comprising different
        charsets and languages. An address version is a unique combination of a
        character set and a language.
      example: International DE
      properties:
        language:
          $ref: '#/components/schemas/Language'
        characterSet:
          $ref: '#/components/schemas/CharacterSet'
    CharacterSet:
      type: object
      description: Character set.
      example: International
      properties:
        name:
          $ref: '#/components/schemas/CharacterSetName'
        technicalKey:
          $ref: '#/components/schemas/CharacterSetTechnicalKey'
    Country:
      type: object
      description: >-
        Country consisting of the country name and country code (ISO 3166-1
        alpha-2).
      example: Switzerland CH
      properties:
        shortName:
          $ref: '#/components/schemas/CountryShortName'
        value:
          $ref: '#/components/schemas/CountryValue'
    AdministrativeArea:
      type: object
      description: A top-level geographical or political area division in a country.
      example: Sankt Gallen
      properties:
        value:
          $ref: '#/components/schemas/AdministrativeAreaValue'
        shortName:
          $ref: '#/components/schemas/AdministrativeAreaShortName'
        isoCode:
          $ref: '#/components/schemas/AdministrativeAreaIsoCode'
        type:
          $ref: '#/components/schemas/AdministrativeAreaType'
    AdministrativeAreaType:
      type: object
      description: >-
        Type of the [Administrative
        Area](https://meta.cdq.com/Address/administrative_area).
      example: COUNTY
      properties:
        name:
          $ref: '#/components/schemas/AdministrativeAreaTypeName'
        url:
          $ref: '#/components/schemas/AdministrativeAreaTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/AdministrativeAreaTypeTechnicalKey'
    PostCode:
      type: object
      description: >-
        A country specific code for a certain
        [address](https://meta.cdq.com/Address) component or an combination of
        [address](https://meta.cdq.com/Address) components, e.g.
        [locality](https://meta.cdq.com/Address/locality).
      example: '9000'
      properties:
        value:
          $ref: '#/components/schemas/PostCodeValue'
        type:
          $ref: '#/components/schemas/PostCodeType'
    PostCodeType:
      type: object
      description: Type of the Post Code.
      example: Regular
      properties:
        name:
          $ref: '#/components/schemas/PostCodeTypeName'
        url:
          $ref: '#/components/schemas/PostCodeTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/PostCodeTypeTechnicalKey'
    Locality:
      type: object
      description: >-
        A locality is a named densely populated area (a place) such as town,
        village, suburb, etc. A locality composes of many individual addresses.
        Many localities exist in an [administrative
        area](https://meta.cdq.com/Address/administrative_area). A locality can
        also have several levels of sub localities.
      example: Sankt Gallen
      properties:
        type:
          $ref: '#/components/schemas/LocalityType'
        shortName:
          $ref: '#/components/schemas/LocalityShortName'
        value:
          $ref: '#/components/schemas/LocalityValue'
    LocalityType:
      type: object
      description: Type of the [Locality](https://meta.cdq.com/Address/locality).
      example: City
      properties:
        name:
          $ref: '#/components/schemas/LocalityTypeName'
        url:
          $ref: '#/components/schemas/LocalityTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/LocalityTypeTechnicalKey'
    Thoroughfare:
      type: object
      description: >-
        Details of the access route along which buildings, lots, or land are
        located, such as street, road, channel, crescent, avenue, etc. This also
        includes canals or banks on which houses or boat houses are located
        where people live.
      example: Lukasstraße 4
      properties:
        type:
          $ref: '#/components/schemas/ThoroughfareType'
        shortName:
          $ref: '#/components/schemas/ThoroughfareShortName'
        number:
          $ref: '#/components/schemas/ThoroughfareNumber'
        direction:
          $ref: '#/components/schemas/ThoroughfareDirection'
        value:
          $ref: '#/components/schemas/ThoroughfareValue'
        name:
          $ref: '#/components/schemas/ThoroughfareName'
    ThoroughfareType:
      type: object
      description: Type of the [Thoroughfare](https://meta.cdq.com/Address/thoroughfare).
      example: Industrial zone
      properties:
        name:
          $ref: '#/components/schemas/ThoroughfareTypeName'
        url:
          $ref: '#/components/schemas/ThoroughfareTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/ThoroughfareTypeTechnicalKey'
    Premise:
      type: object
      description: >-
        A premise is a tract of land including its buildings. A premise may have
        several sub-levels to precisely identify.
      example: Lukasstraße 4, Building 2, Floor 3, Room 4
      properties:
        value:
          $ref: '#/components/schemas/PremiseValue'
        shortName:
          $ref: '#/components/schemas/PremiseShortName'
        number:
          $ref: '#/components/schemas/PremiseNumber'
        type:
          $ref: '#/components/schemas/PremiseType'
    PremiseType:
      type: object
      description: Type of the Premise.
      example: Building
      properties:
        name:
          $ref: '#/components/schemas/PremiseTypeName'
        url:
          $ref: '#/components/schemas/PremiseTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/PremiseTypeTechnicalKey'
    PostalDeliveryPoint:
      type: object
      description: A single mailbox or other place at which postal mail is delivered.
      example: Sankt Gallen, Postfach 460
      properties:
        type:
          $ref: '#/components/schemas/PostalDeliveryPointType'
        shortName:
          $ref: '#/components/schemas/PostalDeliveryPointShortName'
        number:
          $ref: '#/components/schemas/PostalDeliveryPointNumber'
        value:
          $ref: '#/components/schemas/PostalDeliveryPointValue'
    PostalDeliveryPointType:
      type: object
      description: A single mailbox or other place at which postal mail is delivered.
      example: Sankt Gallen, Postfach 460
      properties:
        name:
          $ref: '#/components/schemas/PostalDeliveryPointTypeName'
        url:
          $ref: '#/components/schemas/PostalDeliveryPointTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/PostalDeliveryPointTypeTechnicalKey'
    GeographicCoordinates:
      description: Decimal geographic coordinates (WGS 84 - reference coordinate system).
      example: 47.439549, 9.395275
      properties:
        latitude:
          $ref: '#/components/schemas/GeographicCoordinatesLatitude'
        longitude:
          $ref: '#/components/schemas/GeographicCoordinatesLongitude'
    AddressType:
      type: object
      description: >-
        An address type characterizes an address. The type of an address is a
        structural statement and provides a truth that is applicable to any user
        (e.g. a legal address is a fact, or that an address is a PO BOX
        address), other than address functions that may differ from user to
        user. Address functions determine the particular business context in
        which an address is in use.
      example: Legal Address
      properties:
        name:
          $ref: '#/components/schemas/AddressTypeName'
        url:
          $ref: '#/components/schemas/AddressTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/AddressTypeTechnicalKey'
    CareOf:
      type: object
      description: >-
        Signifies an intermediary who is responsible for transferring a piece of
        mail between the postal system and the final addressee. For example,
        when the addressee has no standard address, is under a corporate mail
        system, or is being manually forwarded mail sent to a more accessible
        location.
      example: CDQ GmbH c/o Product Department
      properties:
        value:
          $ref: '#/components/schemas/CareOfValue'
    AddressContext:
      type: object
      description: >-
        The address context provides us with some additional information about
        the usage or specific recipient information of the addresses. It may
        hold multiple information organized as "tags".
      example: Production hall 7, Storage field 8.
      properties:
        value:
          $ref: '#/components/schemas/AddressContextValue'
    AddressIdentifyingName:
      type: object
      description: >-
        An identifying name assigned to an address. In most cases the
        identifying name refers to the name of a registered agent.
      example: John Doe
      properties:
        value:
          $ref: '#/components/schemas/AddressIdentifyingNameValue'
    BusinessPartnerLookupResult:
      type: object
      description: Result of searching sharing candidates.
      properties:
        total:
          type: integer
          description: Total number of found candidates.
          example: '10'
        values:
          type: array
          items:
            $ref: '#/components/schemas/BusinessPartnerLookupMatch'
        debugInfo:
          type: object
          description: Debug information related to result of searching sharing candidates.
          properties:
            request:
              $ref: '#/components/schemas/BusinessPartnerLookupRequest'
    BusinessPartnerLookupMatch:
      type: object
      description: Sharing candidate match found in sharing pool.
      properties:
        businessPartner:
          $ref: '#/components/schemas/BusinessPartner'
        matchingProfile:
          $ref: '#/components/schemas/MatchingProfile'
    MatchingProfile:
      type: object
      description: Defined profile for matching.
      properties:
        matchingScores:
          $ref: '#/components/schemas/MatchingScores'
    MatchingScores:
      type: object
      description: >-
        Overall score that expresses a confidence level with which a candidate
        match (found in CDQ data pool) is fit to represent the business partner
        described in the input data (search input).
      properties:
        overall:
          $ref: '#/components/schemas/MatchingScore'
        businessPartner:
          $ref: '#/components/schemas/MatchingScore'
        address:
          $ref: '#/components/schemas/MatchingScore'
    MatchingScore:
      type: object
      description: >-
        Overall score that expresses a confidence level with which a candidate
        match (found in CDQ data pool) is fit to represent the business partner
        described in the input data (search input).
      properties:
        classification:
          $ref: '#/components/schemas/MatchingClassification'
        value:
          type: number
          description: Matching score value between 0 and 1.
          example: '0.8'
    MatchingClassification:
      type: object
      description: Matching Classification.
      properties:
        technicalKey:
          type: string
          description: Technical key of the MatchingClassification.
          example: FULL_MATCH
        name:
          type: string
          description: Name of the MatchingClassification.
          example: Full Match
    BusinessPartnerLookupRequest:
      type: object
      description: Request for searching sharing candidates.
      required:
        - storageId
        - businessPartnerId
      properties:
        storageId:
          $ref: '#/components/schemas/BusinessPartnerStorageId'
        businessPartnerId:
          $ref: '#/components/schemas/BusinessPartnerId'
        businessPartner:
          $ref: '#/components/schemas/BusinessPartner'
    ReviewDecisionRequest:
      type: object
      description: Request providing decision for sharing process review.
      required:
        - decision
        - storageId
        - customerBusinessPartner
      properties:
        decision:
          x-apimatic-facade: '#/components/schemas/ReviewDecisionParam'
          $ref: '#/components/schemas/ReviewDecisionParam'
        cdqId:
          $ref: '#/components/schemas/ProvenanceCdqId'
        storageId:
          $ref: '#/components/schemas/BusinessPartnerStorageId'
        customerBusinessPartner:
          $ref: '#/components/schemas/ReviewDecisionBusinessPartner'
    ReviewDecisionParam:
      type: string
      description: Sharing process review decision.
      example: LINK_AND_SEND_UPDATE
      enum:
        - NO_MATCH
        - LINK
        - LINK_AND_SEND_UPDATE
      x-enumDescriptions:
        NO_MATCH: >-
          Customer decision that no candidate out of provided candidates matches
          to `customerBusinessPartner`. Leads to creation of a new business
          partner in the sharing pool. `cdqId` field is not allowed in this
          decision.
        LINK: >-
          Customer decision that candidate identified by `cdqId` out of provided
          candidates matches to `customerBusinessPartner`. Leads to link
          creation between `customerBusinessPartner` and candidate from sharing
          pool. No seed update is generated. `cdqId` field is mandatory in this
          decision.
        LINK_AND_SEND_UPDATE: >-
          Customer decision that candidate identified by `cdqId` out of provided
          candidates matches to `customerBusinessPartner`. Leads to link
          creation between `customerBusinessPartner` and candidate from sharing
          pool. Seed update is generated. `cdqId` field is mandatory in this
          decision.
    ReviewDecision:
      type: string
      description: Sharing process review decision.
      example: LINK_AND_SEND_UPDATE
    ReviewDecisionBusinessPartner:
      type: object
      description: >-
        ID of a business partner within storage identified by `storageId` for
        which the decision is made.
      required:
        - id
      properties:
        id:
          $ref: '#/components/schemas/BusinessPartnerId'
    ReviewDecisionResult:
      type: object
      description: Result of sharing process review decision.
      properties:
        cdqId:
          $ref: '#/components/schemas/ProvenanceCdqId'
        sharingStatus:
          type: string
          description: |
            Sharing status of the reviewed business partner.

            Sharing status possible values:
             * `UNDER_CONSIDERATION`
             * `UNDER_CONSIDERATION_COUNTRY`
             * `UNDER_CONSIDERATION_NOT_VALIDATED`
             * `UNDER_CONSIDERATION_MISSING_MATCH_TYPE`
             * `UNDISCLOSED_RECORD`
             * `MISSING_INFORMATION_FOR_LINKAGE`
             * `ERRONEOUS_INFORMATION_FOR_LINKAGE`
             * `ERRONEOUS_RECORD`
             * `SHARED_WITH_NO_MATCH_BY_REVIEW`
             * `SHARED_BY_REVIEW`
             * `PROCESS_ISSUE`

            Never reached statuses in this endpoint:
             * `PENDING_LINKAGE_DECISION`
             * `SHARED_WITH_NO_MATCH`
             * `SHARED_WITH_CONFIDENT_MATCH`
          example: UNDER_CONSIDERATION
        status:
          type: string
          description: |
            Status possible values:
             * `OK` - successfully shared.
             * `FAILED` - failed to share. See `message` field for details.
          example: OK
        message:
          type: string
          description: Message describing the result of the review decision.
          example: Sharing successful.
        debugInfo:
          type: object
          description: Debug information about the result of the review decision.
          properties:
            request:
              $ref: '#/components/schemas/ReviewDecisionRequest'
    MaintenanceJob:
      type: object
      description: >-
        Generates matching configuration for each sharing strategy. Used for
        threshold comparison during automated sharing process.
      properties:
        id:
          $ref: '#/components/schemas/JobId'
        createdBy:
          $ref: '#/components/schemas/CreatedBy'
        createdAt:
          $ref: '#/components/schemas/CreatedAt'
        modifiedAt:
          $ref: '#/components/schemas/ModifiedAt'
        progress:
          type: integer
          description: Progress of the job.
          example: '100'
        status:
          type: string
          description: Status of the job.
          example: FINISHED
        statusMessage:
          type: string
          description: Message describing the status of the job.
          example: Successfully shared.
    SupportedCountries:
      type: object
      description: Countries supported by sharing.
      properties:
        countries:
          type: array
          items:
            $ref: '#/components/schemas/SupportedCountry'
    SupportedCountry:
      type: object
      description: Country supported by sharing.
      properties:
        shortName:
          $ref: '#/components/schemas/CountryShortName'
    ApiError:
      type: object
      description: Detailed information about API errors.
      properties:
        timestamp:
          $ref: '#/components/schemas/ApiErrorTimestamp'
        code:
          $ref: '#/components/schemas/HttpStatus'
        error:
          $ref: '#/components/schemas/HttpError'
        message:
          $ref: '#/components/schemas/ApiErrorMessage'
        path:
          $ref: '#/components/schemas/HttpPath'
    BusinessPartnersSharingProcessTask:
      description: Task for CDQ.POOL sharing process.
      example: '{json_body}'
      allOf:
        - $ref: '#/components/schemas/Task'
        - type: object
          description: Task for CDQ.POOL sharing process.
          properties:
            request:
              $ref: '#/components/schemas/BusinessPartnersSharingProcessRequest'
            replyQueue:
              $ref: '#/components/schemas/ReplyQueue'
    BusinessPartnersSharingProcessRequest:
      type: object
      description: Sharing process request.
      properties:
        storageId:
          $ref: '#/components/schemas/BusinessPartnerStorageId'
        storageOrganizationId:
          $ref: '#/components/schemas/OrganizationId'
        sharingTarget:
          type: string
          description: Target sharing pool.
          example: CDQ_POOL
        businessPartners:
          type: array
          items:
            $ref: '#/components/schemas/BusinessPartner'
        source:
          type: string
          description: >-
            Creation source for the task. Used for debugging the flow of
            invocations.
          example: CDQ
    BusinessPartnerChunkSharingProcessTaskResult:
      description: Task sent to reply queue after sharing process has been performed.
      example: '{json_body}'
      allOf:
        - $ref: '#/components/schemas/TaskResult'
        - type: object
          description: Task sent to reply queue after sharing process has been performed.
          properties:
            result:
              $ref: '#/components/schemas/BusinessPartnersSharingProcessResult'
    BusinessPartnersSharingProcessResult:
      type: object
      description: Result of performing sharing process.
      properties:
        numberOfProcessed:
          type: integer
          description: >-
            Number of processed business partners during sharing process for
            task.
          example: '100'
        numberOfFailed:
          type: integer
          description: Number of failed business partners during sharing process for task.
          example: '0'
        failures:
          type: array
          items:
            $ref: '#/components/schemas/BusinessPartnersSharingProcessFailureLog'
    BusinessPartnersSharingProcessFailureLog:
      type: object
      description: Detailed failure information.
      properties:
        id:
          type: string
          description: Unique identifier of the business partner.
          example: 297de304-bf4a-4812-b49e-4249d2ccf3e4
        dataSource:
          $ref: '#/components/schemas/BusinessPartnerStorageDataSourceId'
        externalId:
          $ref: '#/components/schemas/BusinessPartnerExternalId'
        message:
          type: string
          description: Message describing the failure.
          example: Misconfigured sharing target.
    Tag:
      type: object
      description: >
        Typed string describing and identifying a resource. Custom information
        about the resource in form of a tag.
      properties:
        value:
          $ref: '#/components/schemas/TagValue'
        type:
          $ref: '#/components/schemas/TagType'
    TagType:
      type: object
      description: A type that specifies the nature of the tag.
      required:
        - technicalKey
      properties:
        technicalKey:
          $ref: '#/components/schemas/TagTypeTechnicalKey'
    SystemApiKeysPatchRequest:
      type: object
      description: Request to patch system API keys for Quality Gate (dev env only).
      properties:
        legalEntityClientId:
          $ref: '#/components/schemas/LegalEntityClientId'
        operationalEntityClientId:
          $ref: '#/components/schemas/OperationalEntityClientId'
        organizationalUnitClientId:
          $ref: '#/components/schemas/OrganizationalUnitClientId'
    SystemApiKeysResult:
      type: object
      description: >-
        Result of system API keys for Quality Gate after patching (dev env
        only).
      properties:
        legalEntityClientId:
          $ref: '#/components/schemas/LegalEntityClientId'
        operationalEntityClientId:
          $ref: '#/components/schemas/OperationalEntityClientId'
        organizationalUnitClientId:
          $ref: '#/components/schemas/OrganizationalUnitClientId'
    LegalEntityClientId:
      type: string
      description: Legal entity client ID.
      example: a23fe456-7890-bcde-f123-456789abcdef
    OperationalEntityClientId:
      type: string
      description: Operational entity client ID.
      example: a23fe456-7890-bcde-f123-456789
    OrganizationalUnitClientId:
      type: string
      description: Organizational unit client ID.
      example: a23fe456-7890-bcde-f123-456789abcdef
    JobId:
      type: string
      description: Unique identifier of a job.
      example: 35f23c03-1c22-45fe-9484-3ffe769325de
    CreatedBy:
      type: string
      description: Creator of a resource.
      example: '76248934691294444'
    CreatedAt:
      type: string
      description: Date of creation (ISO 8601-compliant).
      example: 2020-08-31T16:47+00:00
    ModifiedAt:
      type: string
      description: Date of modification (ISO 8601-compliant).
      example: 2020-08-31T16:47+00:00
    CountryShortName:
      type: string
      description: Country code (ISO 3166-1 alpha-2).
      example: CH
    BusinessPartnerStorageId:
      type: string
      description: Unique identifier of the Storage.
      example: 72d6900fce6b326088f5d9d91049e3e6
    OrganizationId:
      type: string
      description: Uniquely identifying ID of the organization.
      example: cdq_monitor
    BusinessPartnerId:
      type: string
      description: >-
        A CDQ ID identifies a business partner uniquely in the context of the
        Corporate Data League.
      example: 63e635235c06b7396330fe40
    UserId:
      type: string
      description: Unique ID of a user.
      example: johndoe
    ApiErrorTimestamp:
      type: string
      deprecated: true
      description: ISO 8601 representation of the timestamp.
      example: 2019-08-31T16:47+00:00
    HttpStatus:
      type: integer
      description: RFC 7231 status code for this error.
      example: '400'
      deprecated: true
    HttpError:
      type: string
      description: RFC 7231 error which belongs to the status code.
      example: BAD_REQUEST
      deprecated: true
    ApiErrorMessage:
      type: string
      deprecated: true
      description: Details about the error.
      example: This user is not allowed to access this service.
    HttpPath:
      type: string
      description: Requested path which caused this error.
      example: /v2/businesspartners/lookup
    BusinessPartnerStorageDataSourceId:
      type: string
      description: Unique identifier for a Data Source of the Storage.
      example: 648824a691d8d2503d65103e
    BusinessPartnerExternalId:
      type: string
      description: >-
        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.
    NameShortName:
      type: string
      description: The abbreviated variant of a company's full name.
      example: CDQ AG
    NameTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the [Name
        Type](https://meta.cdq.com/Business_partner/name/type).
      example: https://meta.cdq.com/Business_partner/name/type
    NameTypeName:
      type: string
      description: Display label for the Name Type.
      example: Local Name
    NameTypeTechnicalKey:
      type: string
      description: Technical Keys of the Name Type.
      example: LOCAL
    NameValue:
      type: string
      description: The actual name.
      example: Corporate Data Quality AG
    LanguageName:
      type: string
      description: ISO 639-1 name of language.
      example: German
    LanguageTechnicalKey:
      type: string
      description: ISO 639-1 two-letter code of languages.
      example: DE
    NameDetailValue:
      type: string
      description: >-
        Value of additional information to a [Business Partner
        Name](https://meta.cdq.com/Business_partner/name).
      example: Corporate Data Quality AG - Marketing Department
    NameDetailTypeName:
      type: string
      description: >-
        Name Detail Type Name of additional information to a [Business Partner
        Name](https://meta.cdq.com/Business_partner/name).
      example: Legal Entity
    NameDetailTypeUrl:
      type: string
      description: >-
        Name Detail Type Url of additional information to a [Business Partner
        Name](https://meta.cdq.com/Business_partner/name).
      example: https://meta.cdq.com/Business_partner/type
    NameDetailTypeTechnicalKey:
      type: string
      description: >-
        Name Detail Type Technical Key of additional information to a [Business
        Partner Name](https://meta.cdq.com/Business_partner/name).
      example: LEGAL_ENTITY
    LegalFormName:
      type: string
      description: Display of the Legal Form.
      example: Aktiengesellschaft
    LegalFormUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of [Legal
        Form](https://meta.cdq.com/Business_partner/legal_form).
      example: https://meta.cdq.com/Business_partner/legal_form
    LegalFormTechnicalKey:
      type: string
      description: >-
        Technical Key of a Legal Form. Descriptions of below enums contain
        `Country Scope`, `International Name` and `Main Abraviation`.
      example: DE_9866
    LegalFormMainAbbreviation:
      type: string
      description: >-
        The primary abbreviation of a legal form, i.e. the most commonly used
        abbreviation in a country.
      example: AG
    IdentifierTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of an
        [Identifier](https://meta.cdq.com/Business_partner/identifier/type).
      example: https://meta.cdq.com/Business_partner/identifier/type
    IdentifierTypeName:
      type: string
      description: Display label for the Identifier.
      example: CH_VAT_ID
    IdentifierTypeTechnicalKey:
      type: string
      description: Technical key of the type of the Identifier.
      example: CH_VAT_ID
    IdentifierValue:
      type: string
      description: Value of the identifier.
      example: CHE-218.608.886 HR/MWST
    IssuingBodyUrl:
      description: >-
        URL to the documentation which summarizes all details of a [Issuing
        Body](https://meta.cdq.com/Business_partner/identifier/issuing_body).
      example: https://meta.cdq.com/Business_partner/identifier/issuing_body
      type: string
    IssuingBodyName:
      type: string
      description: Preferred display label for an Issuing Body.
      example: Amtsgericht Aachen
    IssuingBodyTechnicalKey:
      description: Technical key of the Issuing Body.
      example: Amtsgericht Aachen
      type: string
    IdentifierStatusName:
      type: string
      description: Display label for the Identifier Status Name.
      example: ACTIVE
    IdentifierStatusTechnicalKey:
      type: string
      description: Technical key of the Identifier Status.
      example: ACTIVE
    BusinessPartnerCategoryName:
      type: string
      description: Display name of the Business Partner Category Name.
      example: Hotel
    BusinessPartnerCategoryUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the [Business
        Partner Category](https://meta.cdq.com/Business_partner/category).
      example: https://meta.cdq.com/Business_partner/category
    BusinessPartnerCategoryTechnicalKey:
      type: string
      description: Technical Key of the Business Partner Category.
      example: HOTEL
    BusinessPartnerStatusTypeName:
      type: string
      description: Display name of the Business Partner Status.
      example: In Liquidation
    BusinessPartnerStatusTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the [Business
        Partner Status](https://meta.cdq.com/Business_partner/status/type).
      example: https://meta.cdq.com/Business_partner/status/type
    BusinessPartnerStatusTypeTechnicalKey:
      type: string
      description: Technical Key of the Business Parter Status.
      example: IN_LIQUIDATION
    BusinessPartnerStatusOfficialDenotation:
      type: string
      description: The status as provided by an official register.
      example: Good Standing
    BusinessPartnerStatusValidFrom:
      type: string
      description: >-
        Describes since when a business partner turned or will turn into the
        provided status. If no official date is known, the date of changing the
        status in the CDQ Community Data Pool or an external data source is
        provided.
      example: '2022-02-26'
    BusinessPartnerStatusValidUntil:
      type: string
      description: >-
        Describes until when a business partner had a certain status. If no
        official date is known, the date of changing the status in the CDQ
        Community Data Pool or an external data source is provided.
      example: '2022-02-26'
    ProvenanceCdqId:
      type: string
      description: The ID provided for a linkage with the source by CDQ.
      example: VIES:PL8660001429
    ProcessingLogId:
      type: string
      description: Unique identifier of a processing log.
      example: CURATION_LOG
    CharacterSetName:
      type: string
      description: >-
        Name of character set. Supported character sets can be found
        [here](https://meta.cdq.com/Address/version/character_set).
      example: International
    CharacterSetTechnicalKey:
      type: string
      description: >-
        Technical key of character set. Supported character sets can be found
        [here](https://meta.cdq.com/Address/version/character_set).
      example: INTERNATIONAL
    AddressExternalId:
      type: string
      description: >-
        ID the address has in the external system where the record originates
        from.
      example: '1'
    CountryValue:
      type: string
      description: Country name (ISO 3166-1 alpha-2).
      example: Switzerland
    AdministrativeAreaValue:
      type: string
      description: >-
        Name of the [Administrative
        Area](https://meta.cdq.com/Address/administrative_area).
      example: Sankt Gallen
    AdministrativeAreaShortName:
      type: string
      description: >-
        Abbreviation for the [Administrative
        Area](https://meta.cdq.com/Address/administrative_area).
      example: SG
    AdministrativeAreaIsoCode:
      type: string
      description: >-
        ISO 3166-2 code which uniquely defines the names of countries and their
        subdivisions (e.g., provinces or states).
      example: CH-SG
    AdministrativeAreaTypeName:
      type: string
      description: Display label for the Administrative Area Type.
      example: COUNTY
    AdministrativeAreaTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the
        [Administrative
        Area](https://meta.cdq.com/Address/administrative_area/type).
      example: https://meta.cdq.com/Address/administrative_area/type
    AdministrativeAreaTypeTechnicalKey:
      type: string
      description: Technical key of the Administrative Area.
      example: COUNTY
    PostCodeValue:
      type: string
      description: Effective [post code](https://meta.cdq.com/Address/post_code).
      example: '9000'
    PostCodeTypeName:
      type: string
      description: Display label for the Post Code Type.
      example: Regular
    PostCodeTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the
        [Administrative Area](https://meta.cdq.com/Address/post_code/type).
      example: https://meta.cdq.com/Address/post_code/type
    PostCodeTypeTechnicalKey:
      type: string
      description: Technical key of the Post Code.
      example: REGULAR
    LocalityTypeName:
      type: string
      description: Display label for the Locality Type.
      example: City
    LocalityTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the [Locality
        Type](https://meta.cdq.com/Address/locality/type).
      example: https://meta.cdq.com/Address/locality/type
    LocalityTypeTechnicalKey:
      type: string
      description: Technical Key of the Locality Type.
      example: CITY
    LocalityShortName:
      type: string
      description: Abbreviation of the [Locality](https://meta.cdq.com/Address/locality).
      example: St. Gallen
    LocalityValue:
      type: string
      description: Name of the [Locality](https://meta.cdq.com/Address/locality).
      example: Sankt Gallen
    ThoroughfareTypeName:
      type: string
      description: Display label for the Thoroughfare Type Name.
      example: Industrial zone
    ThoroughfareTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the
        [Thoroughfare Type](https://meta.cdq.com/Address/thoroughfare/type).
      example: https://meta.cdq.com/Address/thoroughfare/type
    ThoroughfareTypeTechnicalKey:
      type: string
      description: Technical key of the Thoroughfare Type.
      example: INDUSTRIAL_ZONE
    ThoroughfareShortName:
      type: string
      description: >-
        Abbreviation of the
        [Thoroughfare](https://meta.cdq.com/Address/thoroughfare).
      example: Lukasstr. 4
    ThoroughfareNumber:
      type: string
      description: Number of the [Thoroughfare](https://meta.cdq.com/Address/thoroughfare).
      example: '4'
    ThoroughfareDirection:
      type: string
      description: >-
        Direction of the
        [Thoroughfare](https://meta.cdq.com/Address/thoroughfare).
      example: 221-bis Baker Street, North
    ThoroughfareValue:
      type: string
      description: >-
        Comprehensive designation of the
        [Thoroughfare](https://meta.cdq.com/Address/thoroughfare) including the
        thoroughfare type such as Street, or Rue.
      example: Lukasstraße 4
    ThoroughfareName:
      type: string
      description: >-
        Pure name of the
        [Thoroughfare](https://meta.cdq.com/Address/thoroughfare) not comprising
        the thoroughfare type such as Street, or Rue.
      example: Lukasstraße
    PremiseValue:
      type: string
      description: The actual value of a Premise in the language of the address.
      example: Lukasstraße 4
    PremiseShortName:
      type: string
      description: Abbreviation of the Premise.
      example: Lukasstr. 4
    PremiseNumber:
      type: string
      description: Number of the Premise.
      example: '4'
    PremiseTypeName:
      type: string
      description: Display label for the Premise Type.
      example: Factory
    PremiseTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the [Premise
        Type](https://meta.cdq.com/Address/premise/type).
      example: https://meta.cdq.com/Address/premise/type
    PremiseTypeTechnicalKey:
      type: string
      description: Technical key of the Premise Type.
      example: FACTORY
    PostalDeliveryPointTypeName:
      type: string
      description: Display label for the Postal Delivery Point Type.
      example: Mailbox
    PostalDeliveryPointTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the [Postal
        Delivery Point](https://meta.cdq.com/Address/postal_delivery_point/type)
      example: https://meta.cdq.com/Address/postal_delivery_point/type
    PostalDeliveryPointTypeTechnicalKey:
      type: string
      description: Technical key of the Postal Delivery Point.
      example: MAILBOX
    PostalDeliveryPointShortName:
      type: string
      description: >-
        Stort name of the [Postal Delivery
        Point](https://meta.cdq.com/Address/postal_delivery_point).
      example: St Gallen, Postfach 460
    PostalDeliveryPointNumber:
      type: string
      description: >-
        Number of the [Postal Delivery
        Point](https://meta.cdq.com/Address/postal_delivery_point).
      example: '460'
    PostalDeliveryPointValue:
      type: string
      description: >-
        Value of the [Postal Delivery
        Point](https://meta.cdq.com/Address/postal_delivery_point).
      example: Postfach
    GeographicCoordinatesLatitude:
      description: Plain on the earth's surface north or south of the equator.
      example: '47.439549'
      type: number
      format: double
    GeographicCoordinatesLongitude:
      description: Plain on the earth's surface east or west of a meridian.
      example: '9.395275'
      type: number
      format: double
    AddressIdentifyingNameValue:
      type: string
      description: >-
        An identifying name assigned to an address. In most cases the
        identifying name refers to the name of a registered agent.
      example: John Doe
    CareOfValue:
      type: string
      description: Value of the CareOf.
      example: CDQ GmbH c/o Product Department
    AddressContextValue:
      type: string
      description: Value of the Address Context.
      example: Production hall 7, Storage field 8.
    AddressTypeName:
      type: string
      description: Display label for the Address Type.
      example: Legal Address
    AddressTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the [Address
        Type](https://meta.cdq.com/Address/type).
      example: https://meta.cdq.com/Address/type
    AddressTypeTechnicalKey:
      type: string
      description: Technical key of the Address Type.
      example: LEGAL_ADDRESS
    BusinessPartnerTypeName:
      type: string
      description: Display name of the Business Partner Type Name.
      example: Legal Entity
    BusinessPartnerTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of a [Buisness
        Partner Type](https://meta.cdq.com/Business_partner/type).
      example: https://meta.cdq.com/Business_partner/type
    BusinessPartnerTypeTechnicalKey:
      type: string
      description: Technical key of the Business Partner Type.
      example: LEGAL_ENTITY
    MinorityIndicatorValue:
      type: string
      description: >-
        The actual value of the minority indicator, representing the minority
        group.
      example: Social enterprise
    ClassificationValue:
      type: string
      description: A textual description of the Classification.
      example: Manufacture of pesticides and other agrochemical products.
    ClassificationCode:
      type: string
      description: Code that classifies the business partner.
      example: 20.20Z
    ClassificationTypeName:
      type: string
      description: Display label for the Classification Type.
      example: NAF 2003
    ClassificationTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the
        [Classification
        Type](https://meta.cdq.com/Business_partner/partner_profile/classification/type)
      example: >-
        https://meta.cdq.com/Business_partner/partner_profile/classification/type
    ClassificationTypeTechnicalKey:
      type: string
      description: TechnicalKey for the Classification Type.
      example: NAF_2003
    PhoneNumberCountryPrefix:
      type: string
      description: The country prefix of a phone number.
      example: '+41'
    PhoneNumberNumber:
      type: string
      description: The complete phone number without any country prefixes.
      example: 71 571 10 40
    PhoneNumberTypeName:
      type: string
      description: Display label for a Phone Number Type Name.
      example: FAX
    PhoneNumberTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the [Phone
        Number
        Type](https://meta.cdq.com/Business_partner/partner_profile/phone_number/type).
      example: https://meta.cdq.com/Business_partner/partner_profile/phone_number/type
    PhoneNumberTypeTechnicalKey:
      type: string
      description: Technical Keys of the PhoneNumber.
      example: FAX
    PhoneNumberValue:
      type: string
      description: The actual complete phone number incl. country prefix.
      example: +41 71 571 10 40
    WebsiteUrl:
      type: string
      description: The actual company website URL.
      example: https://cdq.com
    WebsiteTypeName:
      type: string
      description: Display label for a Website Type Name
      example: Corporate Website
    WebsiteTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes [Website Type
        Name](https://meta.cdq.com/Business_Partner/partner_profile/website/type).
      example: https://meta.cdq.com/Business_Partner/partner_profile/website/type
    WebsiteTypeTechnicalKey:
      type: string
      description: Technical Keys of the Website Type Name.
      example: WEBSITE_TYPE_CORPORATE
    ContactEmailValue:
      type: string
      description: Value of the email address of the Business Partner.
      example: developer-portal@cdq.com
    TagValue:
      type: string
      description: Value of the tag.
      example: Warehouse
    TagTypeTechnicalKey:
      type: string
      description: Technical Key of the Tag.
      example: WAREHOUSE
    CorrelationId:
      type: string
      description: ID which uniquely chains a set of request()s and or task(s).
      example: 123e4567-e89b-12d3-a456-426614174000
    Task:
      type: object
      description: A task is a unit of work.
      properties:
        correlationId:
          $ref: '#/components/schemas/CorrelationId'
        userId:
          $ref: '#/components/schemas/UserId'
        jobId:
          $ref: '#/components/schemas/JobId'
    ReplyQueue:
      type: string
      description: >-
        Technical descriptor of reply queue where workers should put back the
        result.
      example: 647328648329632-34890742-3432
    Worker:
      type: string
      description: Worker which generated the result.
      example: pod-647328648329632-34890742-3432
    TaskStatus:
      type: string
      description: Task status.
      example: OK
    TaskMessage:
      type: string
      description: Details task status.
      example: The validation was successful.
    TaskResult:
      type: object
      description: Result or outcome of a task.
      properties:
        worker:
          $ref: '#/components/schemas/Worker'
        correlationId:
          $ref: '#/components/schemas/CorrelationId'
        status:
          $ref: '#/components/schemas/TaskStatus'
        message:
          $ref: '#/components/schemas/TaskMessage'
x-cdq-security: true
