Common Request Headers

In order to successfully send API requests, TPPs must send a set of HTTP headers that allow the bank to check the request's validity. This includes signing the request with a qualified certificate.

Formulate the required headers for the BNP Paribas API in accordance with these formatting rules:

  • Headers are case-insensitive
  • Header fields must be separated by a colon
  • Key-value pairs must be in clear-text string format
  • Denote the end of the header section with an empty field header

For a general review of HTTP 1.1 header formatting, see https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html.

The headers listed in the following table marked "mandatory" are required. All others are optional.

Required Headers
Header Description/Purpose POST Requests GET
Requests
request-timeout Integer. Sets the number of elapsed seconds until the call is aborted with a DEADLINE_EXCEEDED exception due to no response received. Optional Optional
token-customer-last-logged-time Time when the PSU last logged in with the TPP Optional Optional
token-customer-ip-address PSU's IP address if the PSU is currently logged in with the TPP.

If the customer IP address is supplied (recommended), it is inferred that the PSU is present during the session (i.e., the request is PSU-initiated; adding a "customer-initiated": "true" header makes this explicit).

Ex: 172.16.254.1

Optional Optional
token-customer-device-id Obtained by the TPP from details in the user agent information of the PSU.

Ex: 00000000-00000000-01234567-89ABCDEF

Optional Optional
token-customer-user-agent Specifies the user agent for the PSU..

Format: Mozilla/5.0 (platform; rv:geckoversion) Gecko/geckotrail Firefox/firefoxversion

Ex: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0

Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0) Gecko/20100101 Firefox/42.0

If the PSU is using the TPP's mobile app, make sure the mobile app user-agent string is different than browser-based user-agent strings

Optional Optional
token-json-error Boolean. Converts the error response, if any, to JSON format. See Changing Error Responses to JSON Format. Optional Optional