Skip to content

Data Curation API (3)

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

Request

Analyze and improve the quality of data through a curation process.

Curate Business Partner or address.

Security
apiKey
Bodyapplication/jsonrequired
businessPartnerobject(BusinessPartnerParam)required

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.

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
outputLanguageobject(LanguageRequest)

Expected language of curation result, compliant to ISO 639-1.

addressDataSourcesobject(AddressDataSourcesParam)

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

profilestring(CurationProfileParam)

Profiles are predefined sets of features to configure the curation process.

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.

Features included:

  • PARSE_ADDRESS,
  • ENRICH_ADDRESS,
  • ENRICH_POST_CODE_TYPE,
  • ENRICH_POST_CODE,
  • TRANSLATE_ADDRESS,
  • ENRICH_ADMINISTRATIVE_AREA_ISO,
  • PREPROCESS_ADDRESS,
  • DETECT_INDUSTRIAL_ZONE,
  • NORMALIZE_ADDRESS,
  • LAB_ALLOW_LONG_LOOKUP_CALLS,
  • ENRICH_CATEGORY,
  • ENRICH_IDENTIFIERS,
  • REMOVE_INVALID_IDENTIFIERS,
  • ENRICH_LEGAL_FORM,
  • PARSE_LEGAL_FORM,
  • TRANSLATE_NAMES,
  • PREPROCESS_BUSINESS_PARTNER,
  • NORMALIZE_BUSINESS_PARTNER,
  • HARMONIZE_IDENTIFIERS,
  • HARMONIZE_NAME,
  • PARSE_NAMES,
  • EXTRACT_CARE_OF,
  • REMOVE_CONTACT_INFORMATION,
  • EXTRACT_DOING_BUSINESS_AS,
  • EXTRACT_ADDRESS_CONTEXT,
  • EXTRACT_NAME_DETAILS
ADDRESS_ONLY

This profile is recommended, when the goal is to perform the address curation of your business partner. Address only consists of the most important address API features from the precuration to harmonization phase.

Features included:

  • PARSE_ADDRESS,
  • ENRICH_ADDRESS,
  • ENRICH_POST_CODE_TYPE,
  • ENRICH_POST_CODE,
  • TRANSLATE_ADDRESS,
  • ENRICH_ADMINISTRATIVE_AREA_ISO,
  • PREPROCESS_ADDRESS,
  • DETECT_INDUSTRIAL_ZONE,
  • NORMALIZE_ADDRESS,
  • EXTRACT_CARE_OF,
  • REMOVE_CONTACT_INFORMATION,
  • EXTRACT_DOING_BUSINESS_AS,
  • EXTRACT_ADDRESS_CONTEXT,
  • EXTRACT_NAME_DETAILS,
  • CACHE
STANDARD_ADDRESS_CURATION_AND_ENRICHMENT

The Address Curation & Enrichment profile allows for cleansing addresses in terms of parsing the given content, identifying reference addresses in specifically configured or default address data sources, enriching the input based on the reference addresses and additional CDQ reference data, and harmonizing the different address components.

Features included:

  • DETECT_INDUSTRIAL_ZONE,
  • ENRICH_ADDRESS,
  • USE_ADDRESS_INDEX_KR,
  • ENRICH_ADMINISTRATIVE_AREA_ISO,
  • ENRICH_GEOGRAPHIC_COORDINATES,
  • ENRICH_POST_CODE,
  • ENRICH_POST_CODE_TYPE,
  • EXTRACT_ADDRESS_CONTEXT,
  • EXTRACT_CARE_OF,
  • NORMALIZE_ADDRESS,
  • PARSE_ADDRESS,
  • PREPROCESS_ADDRESS,
  • TRANSLATE_ADDRESS,
  • CACHE
ADDRESS_STANDARDIZATION

The Address Standardization profile standardizes a given input address according to the CDQ standards without considering any reference addresses from address data sources. It extracts different address components and places them in distinct fields (e.g. a PO Box maintained as street is put into a separate PO Box concept), enriches address components only based on already provided input (e.g. country name is enriched based on a given country code) and harmonizes given components (e.g. post code is formatted according to the reference standard in a country).

Features included:

  • DETECT_INDUSTRIAL_ZONE,
  • ENRICH_ADMINISTRATIVE_AREA_ISO,
  • EXTRACT_ADDRESS_CONTEXT,
  • EXTRACT_CARE_OF,
  • NORMALIZE_ADDRESS,
  • PARSE_ADDRESS,
  • PREPROCESS_ADDRESS,
  • CACHE
ADDRESS_TRANSLATION

Translates only business partner address without any enrichment. There is also a possible to transliterate, by turned it on in the curation settings.

Features included:

  • TRANSLATE_ADDRESS,
  • CACHE
BUSINESS_PARTNER_ONLY

This profile is recommended, when the goal is to perform the curation of the business partner name, legal form, identifiers etc. Business partner only consists of the most important API features from the precuration to harmonization phase.

Features included:

  • PREPROCESS_BUSINESS_PARTNER,
  • PARSE_NAMES,
  • ENRICH_CATEGORY,
  • TRANSLATE_NAMES,
  • PARSE_LEGAL_FORM,
  • ENRICH_LEGAL_FORM,
  • REMOVE_INVALID_IDENTIFIERS,
  • ENRICH_IDENTIFIERS,
  • LAB_ALLOW_LONG_LOOKUP_CALLS,
  • NORMALIZE_BUSINESS_PARTNER,
  • HARMONIZE_IDENTIFIERS,
  • HARMONIZE_NAME,
  • CACHE
FEATURES_OFF

This profile turns off all API features enabled by default (standard profile). It may be used for a test purpose to check the results of the curation using single features.

Features included:

  • CACHE
NATURAL_PERSON_SCREENING

Identifies Natural Person data based on identifiers, legal forms, and known legal entities.

Features included:

  • ENRICH_CATEGORY,
  • CACHE
PRECURATION

Parses, preprocess and harmonize business partner data without additional enrichment.

Features included:

  • PREPROCESS_ADDRESS,
  • PREPROCESS_BUSINESS_PARTNER,
  • PARSE_ADDRESS,
  • PARSE_LEGAL_FORM,
  • PARSE_NAMES,
  • NORMALIZE_ADDRESS,
  • NORMALIZE_BUSINESS_PARTNER,
  • CACHE
GOLDEN_RECORD

Golden Record curation profile consist of API toggle features used during golden record generation and is recommended to be used in Data Clinic monitoring.

Features included:

  • CACHE,
  • DETECT_INDUSTRIAL_ZONE,
  • ENABLE_FUZZY_ENRICHMENTS,
  • ENRICH_VAT_REGISTERED_INFORMATION,
  • ENRICH_ADDRESS,
  • ENRICH_ADMINISTRATIVE_AREA_ISO,
  • ENRICH_CATEGORY,
  • ENRICH_IDENTIFIERS,
  • ENRICH_LEGAL_ADDRESS,
  • ENRICH_LEGAL_FORM,
  • ENRICH_LOCAL_ADDRESS,
  • ENRICH_POST_CODE_TYPE,
  • ENRICH_REGISTERED_NAME,
  • EXTRACT_ADDRESS_CONTEXT,
  • EXTRACT_CARE_OF,
  • EXTRACT_DOING_BUSINESS_AS,
  • HARMONIZE_IDENTIFIERS,
  • HARMONIZE_NAME,
  • NORMALIZE_ADDRESS,
  • NORMALIZE_BUSINESS_PARTNER,
  • PARSE_ADDRESS,
  • PARSE_LEGAL_FORM,
  • PARSE_NAMES,
  • PREPROCESS_ADDRESS,
  • PREPROCESS_BUSINESS_PARTNER,
  • REMOVE_CONTACT_INFORMATION,
  • REMOVE_INVALID_IDENTIFIERS,
  • TRANSLATE_ADDRESS,
  • TRANSLATE_NAMES
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.

IdentifierNameCuration level score
UNKNOWNUNKNOWNoverall score [0.0, 0.2]
LEVEL_1Not foundoverall score [0.2, 0.4]
LEVEL_2Low confidence matchoverall score [0.4, 0.6]
LEVEL_3Medium confidence matchoverall score [0.6, 0.7]
LEVEL_4High confidence matchoverall score [0.7, 0.8]
LEVEL_5Reliable matchoverall score [0.8, 0.9]
LEVEL_6Validatedoverall score [0.9, 1.0]
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"]
curl -i -X POST \
  https://api.cdq.com/data-curation/rest/v3/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
updatedBusinessPartnerobject(UpdatedBusinessPartner)

A Business Partner which contains also contextual information about applied updates.

originalBusinessPartnerobject(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.

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
{ "updatedBusinessPartner": { "summary": {}, "names": [], "legalForm": {}, "identifiers": [], "categories": [], "status": {}, "addresses": [], "externalId": "The ID managed in the customer's SAP systems.", "profile": {}, "formattedSapRecord": {}, "types": [], "jsonRecord": {} }, "originalBusinessPartner": { "names": [], "legalForm": {}, "identifiers": [], "categories": [], "status": {}, "addresses": [], "externalId": "The ID managed in the customer's SAP systems.", "profile": {}, "types": [] }, "settings": { "enabled": "true", "dataCurationRules": [] }, "debugInfo": { "externalServiceResponses": [], "lookupServiceResponses": [] } }

Request

Create a bulk to curate multiple business partners at a time.

Security
apiKey
Bodyapplication/jsonrequired
outputLanguageobject(LanguageRequest)

Expected language of curation result, compliant to ISO 639-1.

addressDataSourcesobject(AddressDataSourcesParam)

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

profilestring(CurationProfileParam)

Profiles are predefined sets of features to configure the curation process.

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.

Features included:

  • PARSE_ADDRESS,
  • ENRICH_ADDRESS,
  • ENRICH_POST_CODE_TYPE,
  • ENRICH_POST_CODE,
  • TRANSLATE_ADDRESS,
  • ENRICH_ADMINISTRATIVE_AREA_ISO,
  • PREPROCESS_ADDRESS,
  • DETECT_INDUSTRIAL_ZONE,
  • NORMALIZE_ADDRESS,
  • LAB_ALLOW_LONG_LOOKUP_CALLS,
  • ENRICH_CATEGORY,
  • ENRICH_IDENTIFIERS,
  • REMOVE_INVALID_IDENTIFIERS,
  • ENRICH_LEGAL_FORM,
  • PARSE_LEGAL_FORM,
  • TRANSLATE_NAMES,
  • PREPROCESS_BUSINESS_PARTNER,
  • NORMALIZE_BUSINESS_PARTNER,
  • HARMONIZE_IDENTIFIERS,
  • HARMONIZE_NAME,
  • PARSE_NAMES,
  • EXTRACT_CARE_OF,
  • REMOVE_CONTACT_INFORMATION,
  • EXTRACT_DOING_BUSINESS_AS,
  • EXTRACT_ADDRESS_CONTEXT,
  • EXTRACT_NAME_DETAILS
ADDRESS_ONLY

This profile is recommended, when the goal is to perform the address curation of your business partner. Address only consists of the most important address API features from the precuration to harmonization phase.

Features included:

  • PARSE_ADDRESS,
  • ENRICH_ADDRESS,
  • ENRICH_POST_CODE_TYPE,
  • ENRICH_POST_CODE,
  • TRANSLATE_ADDRESS,
  • ENRICH_ADMINISTRATIVE_AREA_ISO,
  • PREPROCESS_ADDRESS,
  • DETECT_INDUSTRIAL_ZONE,
  • NORMALIZE_ADDRESS,
  • EXTRACT_CARE_OF,
  • REMOVE_CONTACT_INFORMATION,
  • EXTRACT_DOING_BUSINESS_AS,
  • EXTRACT_ADDRESS_CONTEXT,
  • EXTRACT_NAME_DETAILS,
  • CACHE
STANDARD_ADDRESS_CURATION_AND_ENRICHMENT

The Address Curation & Enrichment profile allows for cleansing addresses in terms of parsing the given content, identifying reference addresses in specifically configured or default address data sources, enriching the input based on the reference addresses and additional CDQ reference data, and harmonizing the different address components.

Features included:

  • DETECT_INDUSTRIAL_ZONE,
  • ENRICH_ADDRESS,
  • USE_ADDRESS_INDEX_KR,
  • ENRICH_ADMINISTRATIVE_AREA_ISO,
  • ENRICH_GEOGRAPHIC_COORDINATES,
  • ENRICH_POST_CODE,
  • ENRICH_POST_CODE_TYPE,
  • EXTRACT_ADDRESS_CONTEXT,
  • EXTRACT_CARE_OF,
  • NORMALIZE_ADDRESS,
  • PARSE_ADDRESS,
  • PREPROCESS_ADDRESS,
  • TRANSLATE_ADDRESS,
  • CACHE
ADDRESS_STANDARDIZATION

The Address Standardization profile standardizes a given input address according to the CDQ standards without considering any reference addresses from address data sources. It extracts different address components and places them in distinct fields (e.g. a PO Box maintained as street is put into a separate PO Box concept), enriches address components only based on already provided input (e.g. country name is enriched based on a given country code) and harmonizes given components (e.g. post code is formatted according to the reference standard in a country).

Features included:

  • DETECT_INDUSTRIAL_ZONE,
  • ENRICH_ADMINISTRATIVE_AREA_ISO,
  • EXTRACT_ADDRESS_CONTEXT,
  • EXTRACT_CARE_OF,
  • NORMALIZE_ADDRESS,
  • PARSE_ADDRESS,
  • PREPROCESS_ADDRESS,
  • CACHE
ADDRESS_TRANSLATION

Translates only business partner address without any enrichment. There is also a possible to transliterate, by turned it on in the curation settings.

Features included:

  • TRANSLATE_ADDRESS,
  • CACHE
BUSINESS_PARTNER_ONLY

This profile is recommended, when the goal is to perform the curation of the business partner name, legal form, identifiers etc. Business partner only consists of the most important API features from the precuration to harmonization phase.

Features included:

  • PREPROCESS_BUSINESS_PARTNER,
  • PARSE_NAMES,
  • ENRICH_CATEGORY,
  • TRANSLATE_NAMES,
  • PARSE_LEGAL_FORM,
  • ENRICH_LEGAL_FORM,
  • REMOVE_INVALID_IDENTIFIERS,
  • ENRICH_IDENTIFIERS,
  • LAB_ALLOW_LONG_LOOKUP_CALLS,
  • NORMALIZE_BUSINESS_PARTNER,
  • HARMONIZE_IDENTIFIERS,
  • HARMONIZE_NAME,
  • CACHE
FEATURES_OFF

This profile turns off all API features enabled by default (standard profile). It may be used for a test purpose to check the results of the curation using single features.

Features included:

  • CACHE
NATURAL_PERSON_SCREENING

Identifies Natural Person data based on identifiers, legal forms, and known legal entities.

Features included:

  • ENRICH_CATEGORY,
  • CACHE
PRECURATION

Parses, preprocess and harmonize business partner data without additional enrichment.

Features included:

  • PREPROCESS_ADDRESS,
  • PREPROCESS_BUSINESS_PARTNER,
  • PARSE_ADDRESS,
  • PARSE_LEGAL_FORM,
  • PARSE_NAMES,
  • NORMALIZE_ADDRESS,
  • NORMALIZE_BUSINESS_PARTNER,
  • CACHE
GOLDEN_RECORD

Golden Record curation profile consist of API toggle features used during golden record generation and is recommended to be used in Data Clinic monitoring.

Features included:

  • CACHE,
  • DETECT_INDUSTRIAL_ZONE,
  • ENABLE_FUZZY_ENRICHMENTS,
  • ENRICH_VAT_REGISTERED_INFORMATION,
  • ENRICH_ADDRESS,
  • ENRICH_ADMINISTRATIVE_AREA_ISO,
  • ENRICH_CATEGORY,
  • ENRICH_IDENTIFIERS,
  • ENRICH_LEGAL_ADDRESS,
  • ENRICH_LEGAL_FORM,
  • ENRICH_LOCAL_ADDRESS,
  • ENRICH_POST_CODE_TYPE,
  • ENRICH_REGISTERED_NAME,
  • EXTRACT_ADDRESS_CONTEXT,
  • EXTRACT_CARE_OF,
  • EXTRACT_DOING_BUSINESS_AS,
  • HARMONIZE_IDENTIFIERS,
  • HARMONIZE_NAME,
  • NORMALIZE_ADDRESS,
  • NORMALIZE_BUSINESS_PARTNER,
  • PARSE_ADDRESS,
  • PARSE_LEGAL_FORM,
  • PARSE_NAMES,
  • PREPROCESS_ADDRESS,
  • PREPROCESS_BUSINESS_PARTNER,
  • REMOVE_CONTACT_INFORMATION,
  • REMOVE_INVALID_IDENTIFIERS,
  • TRANSLATE_ADDRESS,
  • TRANSLATE_NAMES
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.

IdentifierNameCuration level score
UNKNOWNUNKNOWNoverall score [0.0, 0.2]
LEVEL_1Not foundoverall score [0.2, 0.4]
LEVEL_2Low confidence matchoverall score [0.4, 0.6]
LEVEL_3Medium confidence matchoverall score [0.6, 0.7]
LEVEL_4High confidence matchoverall score [0.7, 0.8]
LEVEL_5Reliable matchoverall score [0.8, 0.9]
LEVEL_6Validatedoverall score [0.9, 1.0]
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"]
tasksArray of objects(CurationRequestBusinessPartner)[ 1 .. 100 ] itemsrequired

List of tasks to be executed.

tasks[].​businessPartnerobject(BusinessPartnerParam)

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.

curl -i -X POST \
  https://api.cdq.com/data-curation/rest/v3/businesspartners/curate/bulks \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "profile": "STANDARD",
    "featuresOn": [
      "ENRICH_IDENTIFIERS"
    ],
    "tasks": [
      {
        "businessPartner": {
          "externalId": "1",
          "names": [
            {
              "value": "CDQ Poland Sp. z o.o.",
              "type": {
                "technicalKey": "INTERNATIONAL"
              }
            }
          ],
          "addresses": [
            {
              "country": {
                "shortName": "PL"
              }
            }
          ]
        }
      },
      {
        "businessPartner": {
          "externalId": "2",
          "names": [
            {
              "value": "CDQ Poland Sp. z o.o.",
              "type": {
                "technicalKey": "INTERNATIONAL"
              }
            }
          ],
          "addresses": [
            {
              "country": {
                "shortName": "PL"
              }
            }
          ]
        }
      }
    ]
  }'

Responses

OK

Bodyapplication/json
idstring(BulkId)

Unique identifier for a set of bulk tasks.

Example: "650b12ac-3768-11ee-be56-0242ac120002"
createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example: "2025-12-19T17:00:42Z"
finishedAtstring(FinishedAt)

Date of finish (ISO 8601-compliant).

Example: "2025-12-19T17:00:42Z"
createdBystring(CreatedBy)

Creator of a resource.

Example: "76248934691294444"
statusobject(Status)

Details about status or error of a service

progressinteger(BulkProgress)[ 0 .. 100 ]

Progress (%) of the bulk execution.

Example: "77"
Response
application/json
{ "id": "650b12ac-3768-11ee-be56-0242ac120002", "createdAt": "2025-12-19T17:00:42Z", "finishedAt": "2025-12-19T17:00:42Z", "createdBy": "76248934691294444", "status": { "code": "200", "technicalKey": "OK", "details": [], "path": "/v2/businesspartners/lookup", "timestamp": "2025-12-19T17:00:42Z" }, "progress": "77" }

Request

Read a bulk with multiple curated business partners.

Security
apiKey
Path
idstringrequired

Unique identifier for a bulk.

Example: cbed7ac6-a97d-4c23-9060-2a88fa660957
Query
limitinteger(int32)[ 1 .. 1000 ]

Number of items to be returned on the page.

Default 100
Example: limit=20
startAfterstring(StartAfter)

Pagination cursor which should be filled with nextStartAfter value provided in the previous page read response.

Example: startAfter=5712566172571652
curl -i -X GET \
  'https://api.cdq.com/data-curation/rest/v3/businesspartners/curate/bulks/cbed7ac6-a97d-4c23-9060-2a88fa660957?limit=20&startAfter=5712566172571652' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
idstring(BulkId)

Unique identifier for a set of bulk tasks.

Example: "650b12ac-3768-11ee-be56-0242ac120002"
createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example: "2025-12-19T17:00:42Z"
finishedAtstring(FinishedAt)

Date of finish (ISO 8601-compliant).

Example: "2025-12-19T17:00:42Z"
createdBystring(CreatedBy)

Creator of a resource.

Example: "76248934691294444"
statusobject(Status)

Details about status or error of a service

progressinteger(BulkProgress)[ 0 .. 100 ]

Progress (%) of the bulk execution.

Example: "77"
resultsArray of objects(CurationResult)
nextStartAfterstring(NextStartAfter)

Provides a value to be used as a startAfter in next page request.

Example: "5712566172571652"
Response
application/json
{ "id": "650b12ac-3768-11ee-be56-0242ac120002", "createdAt": "2025-12-19T17:00:42Z", "finishedAt": "2025-12-19T17:00:42Z", "createdBy": "76248934691294444", "status": { "code": "200", "technicalKey": "OK", "details": [], "path": "/v2/businesspartners/lookup", "timestamp": "2025-12-19T17:00:42Z" }, "progress": "77", "results": [ {} ], "nextStartAfter": "5712566172571652" }

Request

Cancel Bulk Curation

Security
apiKey
Path
idstringrequired

Unique identifier for a bulk.

Example: cbed7ac6-a97d-4c23-9060-2a88fa660957
curl -i -X DELETE \
  https://api.cdq.com/data-curation/rest/v3/businesspartners/curate/bulks/cbed7ac6-a97d-4c23-9060-2a88fa660957 \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
idstring(BulkId)

Unique identifier for a set of bulk tasks.

Example: "650b12ac-3768-11ee-be56-0242ac120002"
createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example: "2025-12-19T17:00:42Z"
finishedAtstring(FinishedAt)

Date of finish (ISO 8601-compliant).

Example: "2025-12-19T17:00:42Z"
createdBystring(CreatedBy)

Creator of a resource.

Example: "76248934691294444"
statusobject(Status)

Details about status or error of a service

progressinteger(BulkProgress)[ 0 .. 100 ]

Progress (%) of the bulk execution.

Example: "77"
Response
application/json
{ "id": "650b12ac-3768-11ee-be56-0242ac120002", "createdAt": "2025-12-19T17:00:42Z", "finishedAt": "2025-12-19T17:00:42Z", "createdBy": "76248934691294444", "status": { "code": "200", "technicalKey": "OK", "details": [], "path": "/v2/businesspartners/lookup", "timestamp": "2025-12-19T17:00:42Z" }, "progress": "77" }

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.

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 to be activated.

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. Requires exactly one candidate provided.

Example: ["ACTIVATE_DATASOURCE_BVD"]
featuresOffArray of strings(GoldenRecordFeatureParam)

List of Golden Record Features to be deactivated.

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. 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.

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(BusinessPartnerTransformAware)
Example: {}
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": {}, "metadata": [ {} ], "businessPartnerChanges": [ {} ], "goldenRecordUses": [ {} ] }
Operations
Operations