Skip to content

SAP ODM API (3)

This API provides access to several CDQ API endpoints according to the SAP One Domain Model (ODM). Requests and responses are mapped from the CDQ data model to ODM in order to simplify service access from SAP systems.

Download OpenAPI description
Languages
Servers
Mock server

https://developer.cdq.com/_mock/apis/sap-odm-api/v3/api-v3/

Production

https://api.cdq.com/sap-odm/v3/

Operations

Request

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

Read more about Golden Record here

Security
apiKey
Bodyapplication/jsonrequired
featuresOnArray of strings

List of features to be activated.

Items Enum ValueDescription
ENABLE_SETTINGS

Apply rules stored in organizational settings during curation.

SHOW_DEBUG_INFO

Show additional information regarding request processing, including enabled features, request, request after curation procedure and responses from external services.

SHOW_RAW_DATA

Show raw data returned by external service.

SHOW_RAW_DATA_JSON

Show raw data returned by external service in JSON format.

FORCE_EXTERNAL_CALL

Call external service even when results from data mirrors are available.

SCREEN_BUSINESS_NAMES

Add screeningResult to the Business Partner.

SHOW_COMMERCIAL_ULTIMATE

Fetch Global Commercial Ultimate from BvD or DNB (depending on selected datasource). ACTIVATE_DATASOURCE_DNB, ACTIVATE_MASTER_DATA_EXTENDED or ACTIVATE_MASTER_DATA_LNKG must be active if you want to calculate DNB commercial ultimate.

SHOW_DOMESTIC_COMMERCIAL_ULTIMATE

Fetch Domestic Commercial Ultimate from DNB. ACTIVATE_DATASOURCE_DNB, ACTIVATE_MASTER_DATA_EXTENDED or ACTIVATE_MASTER_DATA_LNKG must be active if you want to calculate DNB commercial ultimate.

DETECT_LEGAL_ENTITY

<b style="color: white; background: #077fbb; border-radius: 5px; margin-left: 0; padding: 2px 10px; font-size: 14px; vertical-align: super;">BETA</b><br>Finds out whether requested DUNS is a branch or headquarter.

ACTIVATE_DATASOURCE_BVD

Allows to use DVB datasource in golden record.

Example: ["SHOW_RAW_DATA"]
featuresOffArray of strings

List of features to be deactivated.

Items Enum ValueDescription
ENABLE_SETTINGS

Apply rules stored in organizational settings during curation.

SHOW_DEBUG_INFO

Show additional information regarding request processing, including enabled features, request, request after curation procedure and responses from external services.

SHOW_RAW_DATA

Show raw data returned by external service.

SHOW_RAW_DATA_JSON

Show raw data returned by external service in JSON format.

FORCE_EXTERNAL_CALL

Call external service even when results from data mirrors are available.

SCREEN_BUSINESS_NAMES

Add screeningResult to the Business Partner.

SHOW_COMMERCIAL_ULTIMATE

Fetch Global Commercial Ultimate from BvD or DNB (depending on selected datasource). ACTIVATE_DATASOURCE_DNB, ACTIVATE_MASTER_DATA_EXTENDED or ACTIVATE_MASTER_DATA_LNKG must be active if you want to calculate DNB commercial ultimate.

SHOW_DOMESTIC_COMMERCIAL_ULTIMATE

Fetch Domestic Commercial Ultimate from DNB. ACTIVATE_DATASOURCE_DNB, ACTIVATE_MASTER_DATA_EXTENDED or ACTIVATE_MASTER_DATA_LNKG must be active if you want to calculate DNB commercial ultimate.

DETECT_LEGAL_ENTITY

<b style="color: white; background: #077fbb; border-radius: 5px; margin-left: 0; padding: 2px 10px; font-size: 14px; vertical-align: super;">BETA</b><br>Finds out whether requested DUNS is a branch or headquarter.

ACTIVATE_DATASOURCE_BVD

Allows to use DVB datasource in golden record.

Example: ["SHOW_RAW_DATA"]
screeningMatchingThresholdnumber

The matching threshold. When not set then all entries are taken into consideration.

Example: "0.8"
configurationIdstring

Configuration ID used to set up fetch. 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):

  • screeningMatchingThreshold
  • featuresOn
  • featuresOff
Example: "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4"
tasksArray of objects[ 1 .. 1000 ] itemsrequired

List of tasks to be executed.

tasks[].​cdqIdstring

CDQ ID for Business Partner and address.

Example: "VIES:DE123456789"
tasks[].​businessPartnerobject

Refers to an organizational entity engaged in various facets of another organization's business interactions. This collaborative connection often manifests as a customer, supplier, vendor, or service provider. In the CDQ (Corporate Data Quality) framework, the Business Partner assumes a pivotal role as a core managed entity. Each Business Partner is distinctly and globally identifiable through a unique CDQ ID. All pertinent information, including addresses, identifiers, and hierarchical data, is intricately associated with and linked to the specific Business Partner, ensuring comprehensive management and traceability within the system.

tasks[].​idstring

Unique identifier for a task.

Example: "dc172630-5791-11ee-8c99-0242ac120002"
tasks[].​externalIdstring

Unique identifier provided by a customer to identify a task.

Example: "id-customer-123"
curl -i -X POST \
  https://developer.cdq.com/_mock/apis/sap-odm-api/v3/api-v3/referencedata/rest/v4/businesspartners/fetch/bulks \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "featuresOn": [
      "SHOW_DEBUG_INFO"
    ],
    "tasks": [
      {
        "id": "42010AEF0CEB1EEEACF7ECD80452F903__-/-",
        "businessPartner": {
          "jsonRecord": {
            "addressData": [
              {
                "organizationPostalAddress": {
                  "country": {
                    "code": "DE"
                  },
                  "postCode": "69190",
                  "houseNumber": "16",
                  "street": {
                    "name": "Dietmar-Hopp-Allee"
                  },
                  "primaryRegion": {
                    "code": "08"
                  },
                  "town": {
                    "name": "Walldorf"
                  }
                }
              }
            ],
            "businessPartnerType": "organization",
            "identifications": [
              {
                "identificationType": {
                  "code": "BUP002"
                },
                "identificationNumber": "HRB 719915",
                "entryDateVc": "-",
                "country": {
                  "code": "DE"
                },
                "institute": "Local Court Mannheim",
                "validFrom": "2024-01-15",
                "validTo": "9999-12-31"
              },
              {
                "identificationType": {
                  "code": "DPI001"
                },
                "identificationNumber": "GR.LEI:529900PM64WH8AF1E917HQ",
                "entryDateVc": "-",
                "validFrom": "2024-01-15",
                "validTo": "9999-12-31"
              }
            ],
            "organization": {
              "nameDetails": {
                "formattedOrgNameLine1": "SAP SE",
                "formattedOrgName": "SAP SE"
              }
            },
            "taxNumbers": [
              {
                "taxNumberType": {
                  "code": "DE0"
                },
                "taxNumber": "DE143454214"
              }
            ]
          }
        }
      }
    ]
  }'

Responses

OK

Bodyapplication/json
idstringrequired

Unique identifier for a set of bulk tasks.

Example: "650b12ac-3768-11ee-be56-0242ac120002"
createdAtstringrequired

Date of creation (ISO 8601-compliant).

Example: "2025-08-27T14:27:21Z"
finishedAtstring

Date of finish (ISO 8601-compliant).

Example: "2025-08-27T14:27:21Z"
createdBystringrequired

Creator of a resource.

Example: "76248934691294444"
statusobjectrequired

| 200000006 | BULK_RUNNING | The bulk is currently being executed. | | 200000007 | BULK_FINISHED | The bulk has been executed successfully. | | 200000008 | BULK_CANCELED | Bulk has been canceled. | | 500000002 | BULK_FAILED | Bulk failed due to an internal server error. Please contact CDQ Support. |

status.​codeintegerrequired

RFC 7231 status code for this error.

Example: "400"
status.​technicalKeystringrequired

Technical key describing the status or error

Example: "OK"
status.​detailsArray of objects
status.​pathstring

Requested path which caused this error.

Example: "/v2/businesspartners/lookup"
status.​timestampstring

ISO 8601 representation of the timestamp.

Example: "2025-08-27T14:27:21Z"
progressinteger[ 0 .. 100 ]

Progress (%) of the bulk execution.

Example: "77"
featuresOnArray of strings

List of features to be activated.

Items Enum ValueDescription
ENABLE_SETTINGS

Apply rules stored in organizational settings during curation.

SHOW_DEBUG_INFO

Show additional information regarding request processing, including enabled features, request, request after curation procedure and responses from external services.

SHOW_RAW_DATA

Show raw data returned by external service.

SHOW_RAW_DATA_JSON

Show raw data returned by external service in JSON format.

FORCE_EXTERNAL_CALL

Call external service even when results from data mirrors are available.

SCREEN_BUSINESS_NAMES

Add screeningResult to the Business Partner.

SHOW_COMMERCIAL_ULTIMATE

Fetch Global Commercial Ultimate from BvD or DNB (depending on selected datasource). ACTIVATE_DATASOURCE_DNB, ACTIVATE_MASTER_DATA_EXTENDED or ACTIVATE_MASTER_DATA_LNKG must be active if you want to calculate DNB commercial ultimate.

SHOW_DOMESTIC_COMMERCIAL_ULTIMATE

Fetch Domestic Commercial Ultimate from DNB. ACTIVATE_DATASOURCE_DNB, ACTIVATE_MASTER_DATA_EXTENDED or ACTIVATE_MASTER_DATA_LNKG must be active if you want to calculate DNB commercial ultimate.

DETECT_LEGAL_ENTITY

<b style="color: white; background: #077fbb; border-radius: 5px; margin-left: 0; padding: 2px 10px; font-size: 14px; vertical-align: super;">BETA</b><br>Finds out whether requested DUNS is a branch or headquarter.

ACTIVATE_DATASOURCE_BVD

Allows to use DVB datasource in golden record.

Example: ["SHOW_RAW_DATA"]
featuresOffArray of strings

List of features to be deactivated.

Items Enum ValueDescription
ENABLE_SETTINGS

Apply rules stored in organizational settings during curation.

SHOW_DEBUG_INFO

Show additional information regarding request processing, including enabled features, request, request after curation procedure and responses from external services.

SHOW_RAW_DATA

Show raw data returned by external service.

SHOW_RAW_DATA_JSON

Show raw data returned by external service in JSON format.

FORCE_EXTERNAL_CALL

Call external service even when results from data mirrors are available.

SCREEN_BUSINESS_NAMES

Add screeningResult to the Business Partner.

SHOW_COMMERCIAL_ULTIMATE

Fetch Global Commercial Ultimate from BvD or DNB (depending on selected datasource). ACTIVATE_DATASOURCE_DNB, ACTIVATE_MASTER_DATA_EXTENDED or ACTIVATE_MASTER_DATA_LNKG must be active if you want to calculate DNB commercial ultimate.

SHOW_DOMESTIC_COMMERCIAL_ULTIMATE

Fetch Domestic Commercial Ultimate from DNB. ACTIVATE_DATASOURCE_DNB, ACTIVATE_MASTER_DATA_EXTENDED or ACTIVATE_MASTER_DATA_LNKG must be active if you want to calculate DNB commercial ultimate.

DETECT_LEGAL_ENTITY

<b style="color: white; background: #077fbb; border-radius: 5px; margin-left: 0; padding: 2px 10px; font-size: 14px; vertical-align: super;">BETA</b><br>Finds out whether requested DUNS is a branch or headquarter.

ACTIVATE_DATASOURCE_BVD

Allows to use DVB datasource in golden record.

Example: ["SHOW_RAW_DATA"]
screeningMatchingThresholdnumber

The matching threshold. When not set then all entries are taken into consideration.

Example: "0.8"
configurationIdstring

Configuration ID used to set up fetch. 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):

  • screeningMatchingThreshold
  • featuresOn
  • featuresOff
Example: "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4"
resultsArray of objects

List of results of the bulk fetch.

nextStartAfterstring

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-08-27T14:27:21Z", "finishedAt": "2025-08-27T14:27:21Z", "createdBy": "76248934691294444", "status": { "code": "400", "technicalKey": "OK", "details": [], "path": "/v2/businesspartners/lookup", "timestamp": "2025-08-27T14:27:21Z" }, "progress": "77", "featuresOn": [ "SHOW_RAW_DATA" ], "featuresOff": [ "SHOW_RAW_DATA" ], "screeningMatchingThreshold": "0.8", "configurationId": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4", "results": [ {} ], "nextStartAfter": "5712566172571652" }

Request

Read results for fetch bulk.

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

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

Default "0"
Example: startAfter=16
curl -i -X GET \
  https://developer.cdq.com/_mock/apis/sap-odm-api/v3/api-v3/referencedata/rest/v4/businesspartners/fetch/bulks/cbed7ac6-a97d-4c23-9060-2a88fa660957 \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
idstringrequired

Unique identifier for a set of bulk tasks.

Example: "650b12ac-3768-11ee-be56-0242ac120002"
createdAtstringrequired

Date of creation (ISO 8601-compliant).

Example: "2025-08-27T14:27:22Z"
finishedAtstring

Date of finish (ISO 8601-compliant).

Example: "2025-08-27T14:27:22Z"
createdBystringrequired

Creator of a resource.

Example: "76248934691294444"
statusobjectrequired

| 200000006 | BULK_RUNNING | The bulk is currently being executed. | | 200000007 | BULK_FINISHED | The bulk has been executed successfully. | | 200000008 | BULK_CANCELED | Bulk has been canceled. | | 500000002 | BULK_FAILED | Bulk failed due to an internal server error. Please contact CDQ Support. |

status.​codeintegerrequired

RFC 7231 status code for this error.

Example: "400"
status.​technicalKeystringrequired

Technical key describing the status or error

Example: "OK"
status.​detailsArray of objects
status.​pathstring

Requested path which caused this error.

Example: "/v2/businesspartners/lookup"
status.​timestampstring

ISO 8601 representation of the timestamp.

Example: "2025-08-27T14:27:22Z"
progressinteger[ 0 .. 100 ]

Progress (%) of the bulk execution.

Example: "77"
featuresOnArray of strings

List of features to be activated.

Items Enum ValueDescription
ENABLE_SETTINGS

Apply rules stored in organizational settings during curation.

SHOW_DEBUG_INFO

Show additional information regarding request processing, including enabled features, request, request after curation procedure and responses from external services.

SHOW_RAW_DATA

Show raw data returned by external service.

SHOW_RAW_DATA_JSON

Show raw data returned by external service in JSON format.

FORCE_EXTERNAL_CALL

Call external service even when results from data mirrors are available.

SCREEN_BUSINESS_NAMES

Add screeningResult to the Business Partner.

SHOW_COMMERCIAL_ULTIMATE

Fetch Global Commercial Ultimate from BvD or DNB (depending on selected datasource). ACTIVATE_DATASOURCE_DNB, ACTIVATE_MASTER_DATA_EXTENDED or ACTIVATE_MASTER_DATA_LNKG must be active if you want to calculate DNB commercial ultimate.

SHOW_DOMESTIC_COMMERCIAL_ULTIMATE

Fetch Domestic Commercial Ultimate from DNB. ACTIVATE_DATASOURCE_DNB, ACTIVATE_MASTER_DATA_EXTENDED or ACTIVATE_MASTER_DATA_LNKG must be active if you want to calculate DNB commercial ultimate.

DETECT_LEGAL_ENTITY

<b style="color: white; background: #077fbb; border-radius: 5px; margin-left: 0; padding: 2px 10px; font-size: 14px; vertical-align: super;">BETA</b><br>Finds out whether requested DUNS is a branch or headquarter.

ACTIVATE_DATASOURCE_BVD

Allows to use DVB datasource in golden record.

Example: ["SHOW_RAW_DATA"]
featuresOffArray of strings

List of features to be deactivated.

Items Enum ValueDescription
ENABLE_SETTINGS

Apply rules stored in organizational settings during curation.

SHOW_DEBUG_INFO

Show additional information regarding request processing, including enabled features, request, request after curation procedure and responses from external services.

SHOW_RAW_DATA

Show raw data returned by external service.

SHOW_RAW_DATA_JSON

Show raw data returned by external service in JSON format.

FORCE_EXTERNAL_CALL

Call external service even when results from data mirrors are available.

SCREEN_BUSINESS_NAMES

Add screeningResult to the Business Partner.

SHOW_COMMERCIAL_ULTIMATE

Fetch Global Commercial Ultimate from BvD or DNB (depending on selected datasource). ACTIVATE_DATASOURCE_DNB, ACTIVATE_MASTER_DATA_EXTENDED or ACTIVATE_MASTER_DATA_LNKG must be active if you want to calculate DNB commercial ultimate.

SHOW_DOMESTIC_COMMERCIAL_ULTIMATE

Fetch Domestic Commercial Ultimate from DNB. ACTIVATE_DATASOURCE_DNB, ACTIVATE_MASTER_DATA_EXTENDED or ACTIVATE_MASTER_DATA_LNKG must be active if you want to calculate DNB commercial ultimate.

DETECT_LEGAL_ENTITY

<b style="color: white; background: #077fbb; border-radius: 5px; margin-left: 0; padding: 2px 10px; font-size: 14px; vertical-align: super;">BETA</b><br>Finds out whether requested DUNS is a branch or headquarter.

ACTIVATE_DATASOURCE_BVD

Allows to use DVB datasource in golden record.

Example: ["SHOW_RAW_DATA"]
screeningMatchingThresholdnumber

The matching threshold. When not set then all entries are taken into consideration.

Example: "0.8"
configurationIdstring

Configuration ID used to set up fetch. 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):

  • screeningMatchingThreshold
  • featuresOn
  • featuresOff
Example: "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4"
resultsArray of objects

List of results of the bulk fetch.

nextStartAfterstring

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-08-27T14:27:22Z", "finishedAt": "2025-08-27T14:27:22Z", "createdBy": "76248934691294444", "status": { "code": "400", "technicalKey": "OK", "details": [], "path": "/v2/businesspartners/lookup", "timestamp": "2025-08-27T14:27:22Z" }, "progress": "77", "featuresOn": [ "SHOW_RAW_DATA" ], "featuresOff": [ "SHOW_RAW_DATA" ], "screeningMatchingThreshold": "0.8", "configurationId": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4", "results": [ {} ], "nextStartAfter": "5712566172571652" }
Operations

Business Partners

Lookup Business Partners

The Lookup Business Partners endpoint is designed to search for Business Partners within all available data sources. It is specifically crafted to provide data formatted to meet the unique needs of SAP users. The endpoint's primary objective is to offer a seamless integration of CDQ Data Model into the SAP One Domain Model, ensuring that the information is readily accessible and compatible with SAP systems.

CDQ Data ModelSAP One Domain Model
nameformattedOrgName??
identifierstaxNumbers/identifications with their types
legal form categorylegal form

Example:

To meet SAP ODM data expectations Lookup Business Partner endpoint checks the technicalKey in the CDQ Identifiers object and compares it with the SAP identificationType's code. Based on this comparison divides identifiers into specific groups e.g. taxNumber.

CDQ Data Model

{
  "identifiers": [
    {
      "type":
        {
          "url": "https://meta.cdq.com/Business_Registration_Number_(Germany)",
          "name": "Business Registration Number",
          "technicalKey": "DE_BNUM"
        },
      "value": "HRB 739690",
      "issuingBody":
        { }
    }
  ]
}

SAP One Domain Model in the jsonRecord

{
  "identifications": [
    {
      "country": { },
      "identificationNumber": "HRB 739690",
      "institute": "Amtsgericht Ulm",
      "identificationType": {
        "code": "BUP002"
      }
    }
  ]
}

To ensure seamless integration and compliance with SAP standards, data transformations are essential. CDQ data model often contains values like 'CHE-218.608.886 HR/MWST' while SAP ODM adheres to a specific format, 'CHE218608886' These transformations bridge the gap between data models, enabling data to pass through internal SAP Data Validation checkpoints. It aligns the data with SAP's stringent standards, making it ready for further processing and validation within SAP systems. These transformations not only harmonize the data but also streamline the validation process, ensuring data accuracy and consistency throughout the SAP ecosystem.

Lookup Business Partner provides alignment with the SAP Factory Standard but can be customized to customer needs.

CountryFieldField typeTransformation InputTransformation output
CHTax numberCH1CHE-218.608.886 HR/MWSTCHE218608886
Operations