OpenAPI

Who will be affected

Any IB using OpenAPI for onboarding clients with Saxo Bank will be impacted by this change as it will impact the following endpoints:

  • POST cm/v1/signups
  • GET cm/v1/signups/options (will be removed)
  • GET cm/v2/signups/options

What is the change?

As a part of Saxo's risk model enhancement, Nature of Business (NOB) will be extended with a new set of possible values for NOB. In addition, each NOB value now belongs to a Category, and it's important that both the NOB value and its category is presented to the user. 

Saxo's own implementation looks like this:

Where for example "IP & Patent Services" is the NOB and "ATTORNEY AT LAW" is its Category.

The field for providing this new NOB with category can be found in the Signups endpoint under PersonalInformation > EmploymentInformation > NatureOfBusinessWithCategory:



How to implement this change

To support categories for the new NatureOfBusinessWithCateogry field, we have added two new PropertyNames to the list of options returned by the cm/v2/signups/options endpoint:

  • NatureOfBusinessWithCategory - This lists the actual key/value pairs that has to be selected by the user and sent to Saxo as part of the application.
  • NatureOfBusinessCategory - This is the list of categories that NatureOfBusinessWithCategory can belong to.

Then to establish the hierarchy between each NatureOfBusinessWithCategory and its NatureOfBusinessCategory, we have also added two new response properties each option:

  • ParentPropertyName - This indicates which PropertyName from the returned array should be used as a parent. In this case the NatureOfBusinessWithCategory would have NatureOfBusinessCategory as a ParentPropertyName.
  • ValuePairs.ParentKey - This indicates which specific Key within the parent property that this key/value pair belongs to. For each NatureOfBusinessWithCategory this will be the Key of the specific category. 

Below is an example of how this mapping will look in reality, using a small subset of NOBs and Categories, where the mapping is as follows:

  • Category 1: Agriculture, Fishing, & Forestry
    • NOB 101: Domestic Agriculture, Aquaculture & Farming
    • NOB 103: Fishing & Hunting
  • Category 2: Technology & Telecommunications
    • NOB 2001: IT Support & Web Development Services
    • NOB 2002: Domestic Internet &Telecom Providers


[
  {
    "ParentPropertyName": "NatureOfBusinessCategory",
    "PropertyName": "NatureOfBusinessWithCategory",
    "ValuePairs": [
      {
        "Key": "101",
        "Value": "Domestic Agriculture, Aquaculture & Farming",
        "ParentKey": "1"
      },
      {
        "Key": "103",
        "Value": "Fishing & Hunting",
        "ParentKey": "1"
      },
      {
        "Key": "2001",
        "Value": "IT Support & Web Development Services",
        "ParentKey": "2"
      },
      {
        "Key": "2002",
        "Value": "Domestic Internet & Telecom Providers",
        "ParentKey": "2"
      },
    ]
  },
  {
    "PropertyName": "NatureOfBusinessCategory",
    "ValuePairs": [
      {
        "Key": "1",
        "Value": "Agriculture, Fishing, & Forestry"
      },
      {
        "Key": "2",
        "Value": "Technology & Telecommunications"
      }
    ]
  }
]

Once the new client has selected the appropriate NatureOfBusinessWithCategory, the Key for this should be sent to OpenAPI as part of the signup request. For example if the client selects "Domestic Internet & Telecom Providers", the value of PersonalInformation > EmploymentInformation > NatureOfBusinessWithCategory should be "2002".

All Keys and Values above are for demonstration purposes only - it's very important that the options set is fetched from the options endpoint at all times to reflect the full set of available options. 

When will this start being enforced?

This requirement will start being enforced from December 1st, 2025. Everything has already been released today, both the new mapping logic on the cm/v2/options endpoint and the NatureOfBusinessWithCategory property on the cm/v1/signups endpoint, so we recommend that you start implementing the required changes well ahead of the deadline.

After the deadline the old cm/v1/options endpoint that does not include the parent property mapping logic will be removed.