Compliance APIsCorporateUK Corporate Accounts API v1

UK Corporate accounts API - details

The UK Corporate Accounts API provides Account Information Services (AIS) and is available to UK Clients subscribing to the UK Corporate Accounts product. A variety of endpoints (four in total) are provided to fetch information about business UK accounts and their transaction histories.

Changes from the previous version

This is the changelog of UK Corporate accounts API. The topmost item is the latest version and the changes described in it are relative to the previous version which is listed directly below.  

Initial Version

Accounts endpoints implemented

API endpoints

As stated above, the UK Corporate Accounts API has four endpoints:

EndpointSupported HTTP Methods
List Accounts: corporate/v1/iu/accountsGET
Filter Accounts: corporate/v1/iu/accounts/filterPOST
Account Details: corporate/v1/iu/accounts/<account_id>GET
List Transactions: corporate/v1/iu/accounts/<account_id>/transactionsGET

As you can see from the table, the UK Corporate Accounts API supports HTTP GET and HTTP POST requests.

  • The first endpoint can be used to list all UK accounts accessible within the company’s agreement and will list detailed information about each account.
  • The second endpoint can be used to filter UK accounts within the company’s agreement. It will also list detailed information about each filtered account.
  • The third endpoint can be used to query detailed information about a specified UK account.
  • Finally, the fourth endpoint can be used to obtain the transaction history from a specified UK account.

UK Corporate accounts API examples

Here you can find examples showing how to use the API endpoints.
All UK Corporate Accounts API endpoints require the following headers, in order to obtain responses:

Content-Type: application/json
Authorization: Bearer <access_token>
X-IBM-Client: <client_id>
X-IBM-Client-Secret: <client_secret>
Signature: <signature>
X-Nordea-Originating-Date: <date>
X-Nordea-Originating-Host: <host>

Additionally any POST /corporate/v1/iu/accounts/filter request will also require a Digest header to be included

The <access_token> represents the Customer’s authorization for the Client to access their Account Information. This token is obtained during the Corporate Access Authorization process which must have been completed before the UK Corporate Accounts API request. Please see Corporate Access Authorization API for all details about the access token, signature, and other HTTP header contents.

Example: List Accounts

This endpoint URL has the following form:

GET /corporate/v1/iu/accounts

The response will look like this:

{
    "group_header": {
        "message_identification": "98fd5dc931e52f3dea148824b6cc54c4",
        "creation_date_time": "2025-08-29T05:38:47.55898Z",
        "http_code": 200
    },
    "response": {
        "accounts": [
            {
                "_id": "GB07NDEAXXXX7845723801-GBP",
                "account_type": "Current",
      		  	"available_balance": "3451.12",
        		"bic": "NDEAGB20",
        		"booked_balance": "3451.12",
        		"country": "GB",
        		"currency": "GBP",
           		"iban": "GB07NDEAXXXX7845723801",
        		"product": "Account",
        		"status": "OPEN",
                "_links": [
                    {
                        "rel": "details",
                        "href": "/v1/iu/accounts/GB07NDEAXXXX7845723801-GBP"
                    },
                    {
                        "rel": "transactions",
                        "href": "/v1/iu/accounts/GB07NDEAXXXX7845723801-GBP/transactions"
                    }
                ]
            },
            {
                "_id": "GB07NDEAXXXX7845723801-GBP",
                "account_type": "Current",
      		  	"available_balance": "3451.12",
        		"bic": "NDEAGB20",
        		"booked_balance": "3451.12",
        		"country": "GB",
        		"currency": "GBP",
           		"iban": "GB91BKEN10000041610008",
        		"product": "Account",
        		"status": "OPEN",
                "_links": [
                    {
                        "rel": "details",
                        "href": "/v1/iu/accounts/GB07NDEAXXXX7845723801-GBP"
                    },
                    {
                        "rel": "transactions",
                        "href": "/v1/iu/accounts/GB07NDEAXXXX7845723801-GBP/transactions"
                    }
                ]
            }
}

Where a large number of accounts are available, the List Accounts responses may be paginated.
The _links section will then reference different pages of the response, and it is possible to request individual pages by including a ?page the parameter in the http request.
A default page size is set (for example 50 accounts) but this too can be varied (reduced) where the Client includes a ?size in the parameter in the http request.

  • page – number of the page with results
  • size – the number of results displayed on one page

Example displaying the first 30 accounts out of a total 135 accounts available:

GET /corporate/v1/iu/accounts?page=1&size=30

here the links section in the response might be:

{
  "_links": [
         {
             "rel": "first",
             "href": "/v1/iu/accounts?page=1&size=30"
         },
         {
             "rel": "self",
             "href": "/v1/iu/accounts?page=1&size=30"
         },
         {
             "rel": "next",
             "href": "/v1/iu/accounts?page=2&size=30"
         },
         {
             "rel": "last",
             "href": "/v1/iu/accounts?page=5&size=30"
         }
     ]
}

And an example for displaying results for middle page:

GET /corporate/v1/iu/accounts/?page=3&size=30
{
 "_links": [
           {
               "rel": "first",
               "href": "/v1/iu/accounts?page=1&size=30"
           },
           {
               "rel": "previous",
               "href": "/v1/iu/accounts?page=2&size=30"
           },
           {
               "rel": "self",
               "href": "/v1/iu/accounts?page=3&size=30"
           },
           {
               "rel": "next",
               "href": "/v1/iu/accounts?page=4&size=30"
           },
           {
               "rel": "last",
               "href": "/v1/iu/accounts?page=5&size=30"
           }
       ]
}

Examples for error responses:

{
    "_id": "GB******************01-GBP",
    "error_status": "ERROR_OCCURRED",
    "error_description": "Error occurred while accessing UK account information. The details cannot be retrieved right now."
}
{
    "_id": "GB******************01-GBP",
    "error_status": "NOT_FOUND",
    "error_description": "UK Account information is not currently accessible."
}

Example: Filtered Account List

This endpoint URL has the following form:

POST /corporate/v1/iu/accounts/filter

It is possible, using parameters in the body of this request to filter the List Accounts response by specifying an account list and/or currency list. Example values for body parameters are presented below:

{
	"account_list":["GB07NDEAXXXX7845723801-GBP"],
	"currency_list":["GBP"],
}

The response will look like this:

{
     "group_header": {
         "message_identification": "w3TfB31w5U4",
         "creation_date_time": "2025-08-16T08:36:39.399Z",
         "http_code": 200
     },
     "response": {
         "accounts": [
             {
                 "_id": "GB07NDEAXXXX7845723801-GBP",
                 "account_type": "Current",
      		  	 "available_balance": "3451.12",
        		 "bic": "NDEAGB20",
        		 "booked_balance": "3451.12",
        		 "country": "GB",
        		 "currency": "GBP",
           		 "iban": "GB07NDEAXXXX7845723801",
        		 "product": "Account",
        		 "status": "OPEN",
                 "_links": [
                     {
                         "rel": "self",
                         "href": "/v1/iu/accounts/GB07NDEAXXXX7845723801-GBP"
                     },
                     {
                         "rel": "transactions",
                         "href": "/v1/iu/accounts/GB07NDEAXXXX7845723801-GBP/transactions"
                     }
                ]
         }
     ],
     "_links": [
         {
             "rel": "first",
             "href": "/v1/iu/accounts/filter?page=1&size=50"
         },
         {
             "rel": "self",
             "href": "/v1/iu/accounts/filter?page=1&size=50"
         },
         {
             "rel": "last",
             "href": "/v1/iu/accounts/filter?page=1&size=50"
         }
      ]
   }
}

Example: Account Details

This endpoint is used to retrieve the details of a single specified UK account. The URL has the following form:

GET /corporate/v1/iu/accounts/<account_id>

Where <account_id> is the identifier (_id) of the required account. For example GB07NDEAXXXX7845723801-GBP The response will look like this:

{
      "group_header": {
         "message_identification": "WHHYRLfR3II",
         "creation_date_time": "2025-08-16T08:36:45.005Z",
         "http_code": 200
      },
      "response": {
          "_id": "GB07NDEAXXXX7845723801-GBP",
          "account_type": "Current",
      	  "available_balance": "3451.12",
          "bic": "NDEAGB20",
          "booked_balance": "3451.12",
          "country": "GB",
          "currency": "GBP",
          "iban": "GB07NDEAXXXX7845723801",
          "product": "Account",
          "status": "OPEN",
          "_links": [
              {
                  "rel": "self",
                  "href": "/v1/iu/accounts/GB07NDEAXXXX7845723801-GBP"
             },
             {
                  "rel": "transactions",
                  "href": "/v1/iu/accounts/GB07NDEAXXXX7845723801-GBP/transactions"
             }
         ]
    }
}

Example: List Transactions

This endpoint URL has the following form:

GET /corporate/v1/iu/accounts/<account_id>/transactions

Where <account_id> is the identifier (_id) of the required account. For example GB07NDEAXXXX7845723801-GBP The response will look like this:

{
    "group_header": {
        "message_identification": "Qmy4MjDTKvw",
        "creation_date_time": "2024-09-02T21:16:09.894Z",
        "http_code": 200
    },
    "response": {
        "transactions": [
            {
                "amount": "-550.00",
        		"booking_date": "2024-09-02,
        		"currency": "GBP",
        		"end_to_end_reference": "P2409120003INXX",
        		"status": "billed",
        		"type_description": "ME",
				"transaction_id": "P2505080005OP08",
        		"value_date": "2024-09-02"
            },
            {
                "amount": "123.46",
        		"booking_date": "2024-09-02",
        		"currency": "GBP",
        		"end_to_end_reference": "P2409120004INXX",
        		"status": "billed",
        		"type_description": "ME",
                "transaction_id": "P250508006OP08"
                "value_date": "2024-09-02"
            },
            {
                "amount": "125.50",
        		"booking_date": "2024-09-02",
        		"currency": "GBP",
        		"end_to_end_reference": "P2409120005INXX",
        		"status": "billed",
        		"type_description": "ME",
			    "transaction_id": "P2505080007OP08"
        		"value_date": "2024-09-02"
            },
            {
                "amount": "-129.65",
        		"booking_date": "2024-09-02,
        		"currency": "GBP",
        		"end_to_end_reference": "P2409120006INXX",
        		"status": "billed",
        		"type_description": "ME",
			    "transaction_id": "P2505080008OP08"
        		"value_date": "2024-09-02"
            },
            {
                "amount": "126.23",
        		"booking_date": "2024-09-02",
        		"currency": "GBP",
        		"end_to_end_reference": "P2409120007INXX",
        		"status": "billed",
        		"type_description": "ME",
			    "transaction_id": "P2505080009OP08"
        		"value_date": "2024-09-02"
            },
            {
                "amount": "623.45",
        		"booking_date": "2024-09-02",
        		"currency": "GBP",
        		"end_to_end_reference": "P2409120008INXX",
        		"status": "billed",
        		"type_description": "ME",
			    "transaction_id": "P2505080010OP08"
        		"value_date": "2024-09-02"
            }
        ],
        "_links": [
            {
                "rel": "self",
                "href": "/v1/iu/accounts/GB07NDEAXXXX7845723801-GBP/transactions"
            }
        ]
    }
}

Where a large number of transactions are available, the List Transactions responses may be paginated or further filtered by specifying a date range or transaction id as a starting point.
This is done by specifying parameters within the request path:

ParameterMandatory (Yes/No)Description
from_dateNoIntroduces a date range, only transactions falling within the period starting at this date will be included in response. If not provided transactions will return historical data for one day. (data from “today” from time of the request ” and “yesterday” = data for two days).
to_dateNoFurther describes a date range, only transactions falling with the period ending at this date will be included in response
continuation_keyNoWhere response has been paginated, the continuation_key parameter is used to index successive pages of the response

NOTE: Transaction data within single request can be retrieved only for a period of up to 7 days. This means that difference between from_date and to_date parameters can not exceed 7 days. Notice: Please keep in mind that it is still possible to obtain historical data for up to 15 months back in time by sending several consecutive requests with different date parameters.

Example request to display the first page of transaction history from the beginning of January 2025:

GET /corporate/v1/iu/accounts/GB07NDEAXXXX7845723801-GBP/transactions?from_date=2025-01-01&to_date=2025-01-02

If multiple pages are provided the request to retrieve a subsequent page of the response might be as follows:

GET /corporate/v1/iu/accounts/GB07NDEAXXXX7845723801-GBP/transactions?from_date=2025-01-01&to_date=2025-01-02&continuation_key=<continuation_key>

Where the <continuation_key> have been provided in the previous List Transactions response (all other parameters remain the same).
An example of how the <continuation_key> is provided is shown below:

{
    "continuation_key": "2025-01-01-19.24.01.457739",
    "_links": [
        {
            "rel": "self",
            "href": "/v1/iu/accounts/GB07NDEAXXXX7845723801-GBP/transactions?from_date=2025-01-01&to_date=2025-01-02"
        },
        {
            "rel": "next",
            "href": "/v1/iu/accounts/GB07NDEAXXXX7845723801-GBP/transactions?from_date=2025-01-01&to_date=2025-01-02&continuation_key=2025-01-01-19.24.01.457739"
        }
    ]
}