Premium APIsRates Information API v1

Overview

The Rates Information API consists of four endpoints that can be accessed either with a POST or GET request to provide information regarding Rates products, e.g. bid / ask on bonds.

To follow the documentation it is assumed that one has created an application in the platform and thereby received a client ID and a client secret, which will be referred to as and in this documentation.

On-boarding Process

To be onboarded to production one would need to send an e-mail to e-Rates@nordea.com with the e-mail e-TradingSystems@nordea.com as CC specifying one wants access to the Rates Information API. From there the e-rates Team in Nordea will ensure a smooth and easy on-boarding.

Difference between Sandbox and Production

There will be no difference in headers or response between the Sandbox and Production implementation, however, there will be a difference regarding the URL you send the request to.

Description of functionality

The purpose of this API is to provide data regarding Rates products.

This includes information about bonds, and other financial instruments related to Rates. To access the data, users can send requests to various endpoints provided by the API. These endpoints are specified in the table below:

EndpointsHTTP MethodsDescription
/status           GET / POSTGet the status of the API.                      
/groupsGET / POSTSee groups accessible by the API-KEY.
/instruments/{group}GET / POSTGet ISIN codes for instruments in the given group using the API-KEY.
/isins/{isin}GET / POSTGet information regarding the Rates product identified by an ISIN.

For GET requests, use {group} or {isin} as placeholders for the name of the group or the ISIN of the instrument. For POST requests, send a JSON string with the group key for requests related to groups, and the isin key for requests related to individual instruments.

Examples for the enpoints are provided in the section Examples section

Request Configuration

When you make a request to our API, the response you receive will always include two important fields: “status_code” and “timestamp”.

  • The status_code field will contain a numeric code that indicates the status of your request. A value of 200 means that your request was successful, and the server has returned the data you requested. Other status codes may indicate errors or issues with your request, and can help you identify and troubleshoot any problems.

  • The timestamp field will contain the date and time when the response was generated in UTC. This can be helpful for tracking purposes.

In addition, we require that you include certain information in the headers of your requests to authenticate. Specifically, we ask that you include two keys, X-IBM-Client-Id (identified by in the documentation) and X-IBM-Client-Secret (identified by in this documentation), in the headers of all your requests (example shown here). These keys are important because they allow us to identify and authenticate your requests, and ensure that only authenticated users are able to access the API. The X-IBM-Client-Id key is used to identify your specific client or application, while the X-IBM-Client-Secret key is used as a secret key to authenticate your requests.

Furthermore, we require that you include a header key called API-KEY in the headers of all your requests, except for the status endpoint (example shown here). The API-KEY is a secret key that identifies your account and authorizes access to the API. It is important to note that the API-KEY should not be included in your requests to the status endpoint, as it is not necessary for that particular endpoint.

Finally, please make sure that you keep your client ID, client secret and API-KEY confidential and do not share them with anyone else.  

Examples

For the mock API we have the possible values for API-KEY to be either TEST_USER1 or TEST_USER2. Below the examples use TEST_USER1 and a GET request.

See status

First we can get the status of the API:

curl --location --request GET 'https://api.nordeaopenbanking.com/rates-instruments/v1/status' \
--header 'X-IBM-Client-Id: <client id>' \
--header 'X-IBM-Client-Secret: <client secret>'

This provides the result:

{
    "message": "API is up.",
    "status_code": 200,
    "timestamp": "09-05-2023 10:34:20.530"
}

The API should respond with a message indicating the status of the request. If the API is functioning correctly, the response should include a message field with an associated value of “API is up.” and a status_code field with an associated value of 200.

Get groups accessible

Knowing this and providing an API-KEY one is able to see what lists a given API-KEY gives access to:

curl --location --request GET 'https://api.nordeaopenbanking.com/rates-instruments/v1/groups' \
--header 'API-KEY: TEST_USER1' \
--header 'X-IBM-Client-Id: <client id>' \
--header 'X-IBM-Client-Secret: <client secret>'

This provides the result:

{
    "possible_groups": "OTHER,NOK-GOVIES,NOK-MUNICIPAL,SEK-GOVIES,SEK-MUNICIPAL,SEK-CREDIT,NOK-CREDIT",
    "status_code": 200,
    "timestamp": "09-05-2023 10:36:17.590"
}

The API response includes a field called possible_groups, which contains a comma-separated list of possible groups that a user has access to.

Get the groups instruments

After getting groups accessible we can see what ISINs that are in a given group; in this example we will look at the group SEK-GOVIES:

curl --location --request GET 'https://api.nordeaopenbanking.com/rates-instruments/v1/instruments/SEK-GOVIES' \
--header 'API-KEY: TEST_USER1' \
--header 'X-IBM-Client-Id: <client id>' \
--header 'X-IBM-Client-Secret: <client secret>'

This provides the result:

{
    "instruments": "SE1232829192,SE1233407681",
    "status_code": 200,
    "timestamp": "09-05-2023 10:36:48.224"
}

The API response includes a field called instruments, which contains a comma-separated list of ISINs that belong to a particular group.

Get information for a given ISIN

After getting the ISINs in a given group we can get the information for the specific ISIN we want:

curl --location --request GET 'https://api.nordeaopenbanking.com/rates-instruments/v1/isins/SE1233407681' \
--header 'API-KEY: TEST_USER1' \
--header 'X-IBM-Client-Id: <client id>' \
--header 'X-IBM-Client-Secret: <client secret>'

This provides the result:

{
    "isin": "SE1233407681",
    "snapshot_time": "08:09",
    "price_type": "Price",
    "bid": 0.17,
    "ask": 0.07,
    "status_code": 200,
    "timestamp": "09-05-2023 09:49:00.855"
}

The API response contains several fields that provide information about an instrument. These fields include:

  • key: This field has an associated value with the ISIN (International Securities Identification Number) of the instrument.
  • snapshot_time: This field is an UTC timestamp that indicates when the information available in this response is from.
  • price_type: This field indicates the type of price provided in the response. It can be either Price or Yield.
  • bid and ask: These fields indicate the bid/ask prices that Nordea can offer for the instrument.