Client Data Encryption Key Get Open Banking

For security reasons, all requests to and responses from our Payments APIs as well as fields shared via our Account Validation API need to be encrypted. We support envelope encryption with AES-256-GCM. This page explains the process.

Endpoints Summary

post
/issued-device-administration/client-data-encryption-key/get

Step 1: Get public key

The first step in the encryption process is to request a public key and its key ID from us. Then securely store the information and track the expiry of the key. Public keys expire after 120 days.

Here are a few things to note when submitting your request:

Mandatory headers
  • a) x-api-key – Use the API key we provided by email for the relevant environment.
  • b) x-fapi-financial-id – This is the unique identifier for BMO. It always needs to be 001.
  • c) x-request-id – This is the unique identifier of your request.
  • d) x-app-cat-id – Based on the table below, use the value based on the payment API you’re using. If you intend to use multiple payment APIs, then please choose only one of the applicable values.
Apix-app-cat-id
ACH Payments80613
Electronic Funds Transfer (EFT)87335
Wire Payments87102
Instant Payments87679
Data body
  • a) applicationCatalogueId – Use the same value you chose for the x-app-cat-id header above.
  • b) Key alias – Follow the format alias/EXT-ENC-{API KEY} where you use the API key for the relevant environment.
Post
/issued-device-administration/client-data-encryption-key/get

Request

Code Samples

Headers

Content-Type
string
Example
application/json
x-fapi-financial-id required
string
x-fapi-customer-last-logged-time
string
x-fapi-customer-ip-address
string
x-fapi-customer-user-agent
string
x-fapi-interaction-id
string
x-client-id
string
Authorization
string
x-request-id required
string
x-api-key
string
x-app-cat-id required
string

Body

body required
Request Body

Response