Skip to content

Data Curation API (2)

This API provides services to curate and enrich Business Partner and address data.

Download OpenAPI description
Languages
Servers
Production

https://api.cdq.com/data-curation/rest/

Batch Curation

Everything about Batch Curation

Operations

Business Partners

Everything about Business Partners

Operations

Curate Business Partner

Request

Curate Business Partner or address.

Security
apiKey
Bodyapplication/jsonrequired
inputLanguageTechnicalKeystring(LanguageTechnicalKey)

ISO 639-1 two-letter code of languages.

Example: "DE"
outputLanguageTechnicalKeystring(LanguageTechnicalKey)

ISO 639-1 two-letter code of languages.

Example: "DE"
addressDataSourcesobject(AddressDataSourcesParam)

Preferred data sources for curation. Default PrimaryAddressDataSource is HERE. Default SecondaryAddressDataSource is CDQ.

profilestring(CurationProfileParam)
Enum"STANDARD""ADDRESS_ONLY""STANDARD_ADDRESS_CURATION_AND_ENRICHMENT""ADDRESS_STANDARDIZATION""ADDRESS_TRANSLATION""BUSINESS_PARTNER_ONLY""FEATURES_OFF""NATURAL_PERSON_SCREENING""PRECURATION""GOLDEN_RECORD"
Example: "STANDARD"
featuresOnArray of strings(CurationFeatureParam)

List of feature to be activated.

Items Enum ValueDescription
ACTIVATE_DATASOURCE_BVD

Allows to lookup in BVD datasource (e.g. during identifier enrichment).

ACTIVATE_DATASOURCE_DNB

Allows to lookup in DNB datasource (e.g. during identifier enrichment).

ALL_ADDRESS_VERSIONS

Description will be provided.

CAPITALIZE_ADDRESS

Converts all values in the address data to upper case.

CONFIRM_IDENTIFIERS

Checks if provided identifiers exist in external data sources and belong to provided business partner.

DETECT_INDUSTRIAL_ZONE

Detects and moves industrial zone from address fields to the last thoroughfare of type industrial zone. This data is also added to District for the SAP format record. The Zone is detected during the precuration process from the administrative area, locality, thoroughfare and premise. This feature works only for few countries with special terms.

The cleansing process doesn’t perform industrial zone enrichment. If this information is not provided in input data, the outputs won’t contain it. Google or here curation can remove the information about the industrial zone, but there are implemented special rules, which keep that data and after the curation paste it to the last thoroughfare.

ENABLE_FUZZY_ENRICHMENTS

Enriches identifiers with search using identifiers, name local or international address data.

ENABLE_SETTINGS

Allows to use organization settings. Each organization can choose which profile should be turned on, default features, weather the transliteration is enabled, etc.

ENABLE_UNALLOWED_NAME_VALUE_VALIDATION

Validates input business partner names against unallowed patterns and returns Bad Request in case of invalid name match.

ENRICH_ADDRESS

Enriches address information. Geocodes, administrative areas, country name and code.

Cleanse address using external data sources.

Remove thoroughfare value and sub thoroughfares when there are more than 3 locality levels.

Example: ["ENRICH_ADDRESS"]
featuresOffArray of strings(CurationFeatureParam)

List of feature to be deactivated.

Items Enum ValueDescription
ACTIVATE_DATASOURCE_BVD

Allows to lookup in BVD datasource (e.g. during identifier enrichment).

ACTIVATE_DATASOURCE_DNB

Allows to lookup in DNB datasource (e.g. during identifier enrichment).

ALL_ADDRESS_VERSIONS

Description will be provided.

CAPITALIZE_ADDRESS

Converts all values in the address data to upper case.

CONFIRM_IDENTIFIERS

Checks if provided identifiers exist in external data sources and belong to provided business partner.

DETECT_INDUSTRIAL_ZONE

Detects and moves industrial zone from address fields to the last thoroughfare of type industrial zone. This data is also added to District for the SAP format record. The Zone is detected during the precuration process from the administrative area, locality, thoroughfare and premise. This feature works only for few countries with special terms.

The cleansing process doesn’t perform industrial zone enrichment. If this information is not provided in input data, the outputs won’t contain it. Google or here curation can remove the information about the industrial zone, but there are implemented special rules, which keep that data and after the curation paste it to the last thoroughfare.

ENABLE_FUZZY_ENRICHMENTS

Enriches identifiers with search using identifiers, name local or international address data.

ENABLE_SETTINGS

Allows to use organization settings. Each organization can choose which profile should be turned on, default features, weather the transliteration is enabled, etc.

ENABLE_UNALLOWED_NAME_VALUE_VALIDATION

Validates input business partner names against unallowed patterns and returns Bad Request in case of invalid name match.

ENRICH_ADDRESS

Enriches address information. Geocodes, administrative areas, country name and code.

Cleanse address using external data sources.

Remove thoroughfare value and sub thoroughfares when there are more than 3 locality levels.

Example: ["ENRICH_ADDRESS"]
outputCharsetsArray of objects(OutputCharsetParam)

List of Output Character Sets.

addressCurationLevelThresholdstring(CurationLevelParam)

Indicator for curation quality. Defines how good curation was.

Determines curationDecision based on curationLevel of the result. Additional documentation can be found here.

Enum ValueDescription
UNKNOWN

No possibility to determine curation level.

LEVEL_1

The address was not found by the CDQ in the employed external data sources.

LEVEL_2

The address was found, but there were significant changes in critical fields.

LEVEL_3

The address was found and there are minor changes in highly important fields.

LEVEL_4

The address was found by the CDQ. There were only changes in less critical fields such as the address/premise or address/thoroughfare/number.

LEVEL_5

The address was found by the CDQ, but no major changes have been made as the address was correct.

LEVEL_6

The address was found in the shared CDQ data pool. This means another company uses the same address which is a very reliable indicator that the address is correct (only in an alpha version)

Example: "LEVEL_1"
configurationIdstring(DataCurationConfigurationId)

Configuration ID used to set up curation. If provided, those parameters will be affected. If any of them is provided in this request, will overwrite one from configuration (except for features which are merged):

  • outputLanguageTechnicalKey
  • addressDataSources
  • profile
  • featuresOn
  • featuresOff
  • outputCharsets
  • addressCurationLevelThreshold
  • numberSeparator
  • inputAddressConceptsIgnored
Example: "5c5356588c72a028c448adbd"
numberSeparatorobject(NumberSeparator)

Number separator for features JOIN_THOROUGHFARE_NUMBER_PREFIX, JOIN_THOROUGHFARE_NUMBER_POSTFIX. Default ","

inputAddressConceptsIgnoredArray of strings(InputAddressConceptsIgnored)

A list of technical keys of concepts. Selected concepts will be ignored during curation process. This feature is mainly used in configurations, if i.e. for certain countries selected inputs should be ignored without changing the current technical integration. Please note that ignored concepts will be taken over to the curation result without any change.

Items Enum ValueDescription
BUILDING

Structure (such as a house, hospital, school, etc.) with a roof and walls that is used as a place for people to live, work, do activities, store things, etc.

CITY

Large and permanent human settlement.

COUNTY

Level 2 subdivision of a country, subdivision of a region.

DISTRICT

Subdivision of larger cities, mostly providing administrative services to the district residents.

LEVEL

Floor/story of the building.

POST_CODE

Numerical code used to identify specific geographic areas for mail sorting and delivery.

REGION

Top level subdivision of a country.

ROOM

Distinct room in a building.

THOROUGHFARE_NUMBER

A numerical identifier assigned to a specific building or property along a thoroughfare.

Example: ["BUILDING"]
businessPartnerobject(BusinessPartnerParam)required

Additional documentation can be found here.

businessPartner.​externalIdstring(BusinessPartnerExternalId)

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."
businessPartner.​namesArray of objects(NameParam)
businessPartner.​identifiersArray of objects(IdentifierParam)
businessPartner.​addressesArray of objects(AddressParam)<= 1 items
curl -i -X POST \
  https://api.cdq.com/data-curation/rest/v2/businesspartners/curate \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "businessPartner": {
      "names": [
        {
          "value": "CDQ Poland Sp. z o.o.",
          "type": {
            "technicalKey": "INTERNATIONAL"
          }
        }
      ],
      "addresses": [
        {
          "country": {
            "shortName": "PL"
          }
        }
      ]
    }
  }'

Responses

OK

Bodyapplication/json
businessPartnerCurationResultobject(SingleBusinessPartnerCurationResult)

Curation results for Single Business Partner.

addressCurationResultsArray of objects(SingleAddressCurationResult)

List of Address Curation results.

settingsobject(Settings)

The effective settings for the request.

debugInfoobject(DebugInfo)

This is just a reference implementation how to structure external service responses. Usually this should be hidden behind a feature SHOW_DEBUG_INFO.

Response
application/json
{ "businessPartnerCurationResult": { "curatedBusinessPartner": {}, "originalBusinessPartner": {}, "changes": [], "requestSimilarity": {} }, "addressCurationResults": [ {} ], "settings": { "enabled": "true", "dataCurationRules": [] }, "debugInfo": { "externalServiceResponses": [], "lookupServiceResponses": [] } }

Generate Golden Record

Request

Generate a Golden Record from a list of provided Business Partners.

Security
apiKey
Bodyapplication/jsonrequired
countryShortNamestring(CountryShortName)

Country code (ISO 3166-1 alpha-2).

Example: "CH"
profilestring(GoldenRecordGenerationProfile)

Provide configurations with varying feature sets to cater to Golden Record Generation needs.

Enum ValueDescription
STANDARD

Curation process with standard profile is turned on by default. This profile consist of most important API toggle features and because of that it's recommended for most data curation cases. More details here.

QUICK

Works exactly the same as the STANDARD profile but with features switched off like ENRICH_IDENTIFIERS, ENRICH_CATEGORY, ENRICH_GEOGRAPHIC_COORDINATES, HARMONIZE_IDENTIFIERS and ENABLE_FUZZY_ENRICHMENTS.

Example: "QUICK"
featuresOnArray of strings(GoldenRecordFeatureParam)

List of Golden Record Features.

Items Enum ValueDescription
ACTIVATE_DATASOURCE_BVD

Allows to lookup in DVB datasource (e.g. during identifier enrichment).

ACTIVATE_DATASOURCE_DNB

Allows to lookup in DNB datasource (e.g. during identifier enrichment).

SKIP_CANDIDATE_SELECTION

Allows to skip candidate selection step (https://meta.cdq.com/Golden_record_rules). Requires exactly one candidate provided.

Example: ["ACTIVATE_DATASOURCE_BVD"]
dataSourcesArray of strings(DataSourceTechnicalKeyEnum)

Data sources enabled for identifiers enrichment in golden record

Items Enum ValueDescription
AR_NRC

Argentina National Registry of Companies

AT_CR

Austria Company Register

AT_FON

FinanzOnline Austria

AU_BR

Australian Business Register

BE_CCD

Central Belgium Company Database

BR_RF

Receita Federal Brazil

BZST

Bundeszentralamt für Steuern

CA_CR

Corporations Register Canada

CZ_REE

Register of Economic Entities

CDL

CDQ Data Sharing Community Data Lake

Example: ["BR_RF"]
configurationIdstring

Configuration ID for the Golden Record Generation.

Example: "12ed4bd757f8e162f8aa496f"
candidatesArray of objects(GoldenRecordCandidate)non-emptyrequired

List of Golden Records Candidates.

candidates[].​businessPartnerobject(BusinessPartnerRequest)

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. Additional documentation can be found here.

candidates[].​matchingProfileobject(MatchingProfile)

Matching profile used for the match. It contains the matching threshold and the matching scores.

candidates[].​dataSourceobject(DataSource)

Represents external Data Source.

candidates[].​cdqIdstring

CDQ ID of the Golden Record.

Example: "VIES:PL1132639219"
curl -i -X POST \
  https://api.cdq.com/data-curation/rest/v2/businesspartners/goldenrecords/generate \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "countryShortName": "AT",
    "profile": "STANDARD",
    "candidates": [
      {
        "businessPartner": {
          "status": {
            "type": {
              "name": "inactive",
              "url": "url92",
              "technicalKey": "technicalKey92"
            }
          },
          "identifiers": [
            {
              "value": "078038M",
              "type": {
                "technicalKey": "BR_ID_AT"
              }
            }
          ],
          "names": [
            {
              "value": "ENGEL AUSTRIA GmbH"
            }
          ],
          "addresses": [
            {
              "country": {
                "value": "AT"
              },
              "localities": [
                {
                  "value": "Schwertberg"
                }
              ],
              "thoroughfares": [
                {
                  "value": "Ludwig-Engel-Str. 1"
                }
              ]
            }
          ]
        },
        "matchingProfile": {
          "matchingScores": {
            "overall": {
              "classification": {
                "technicalKey": "FULL_MATCH",
                "name": "Full Match"
              },
              "value": 99.0869848239641,
              "explanation": "explanation23"
            },
            "businessPartner": {
              "classification": {
                "technicalKey": "technicalKey23",
                "name": "name23"
              },
              "value": 44.0869848239641,
              "explanation": "explanation23"
            },
            "address": {
              "classification": {
                "technicalKey": "technicalKey23",
                "name": "name23"
              },
              "value": 44.0869848239641,
              "explanation": "explanation23"
            }
          }
        },
        "dataSource": {
          "name": "name23",
          "technicalKey": "AT.CR"
        }
      }
    ]
  }'

Responses

OK

Bodyapplication/json
businessPartnerobject(BusinessPartner)

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. Additional documentation can be found here.

metadataArray of objects(Metadata)

List of Metadata.

businessPartnerChangesArray of objects(PropertyChange)

List of Property Changes.

goldenRecordUsesArray of objects(GoldenRecordUse)

Describes which entries were used to compose golden record and which one is the primary (base) entry

Response
application/json
{ "businessPartner": { "names": [], "legalForm": {}, "identifiers": [], "categories": [], "status": {}, "addresses": [], "externalId": "The ID managed in the customer's SAP systems.", "profile": {}, "formattedSapRecord": {}, "types": [], "lastModifiedAt": "2025-08-19T06:23:09Z" }, "metadata": [ {} ], "businessPartnerChanges": [ {} ], "goldenRecordUses": [ {} ] }

Processing Logs

Operations

Configuration

Operations