bunq · Authentication Profile

Bunq Authentication

Authentication

bunq secures its APIs with apiKey and signature across 3 declared security schemes, as derived from its OpenAPI definitions.

BankingNeobankPaymentsAccountSEPAOpen BankingFintechEuropeNetherlands
Methods: apiKey, signature Schemes: 3 OAuth flows: API key in:

Security Schemes

installationToken apiKey
· in: header ()
sessionToken apiKey
· in: header ()
clientSignature signature
· in: header ()

Source

Authentication Profile

Raw ↑
generated: '2026-07-12'
method: derived
source: openapi/bunq-openapi.yml
summary:
  types:
  - apiKey
  - signature
  note: >-
    bunq authentication is a multi-step, RSA-signed handshake, not a simple
    bearer token. An API key is exchanged for a session via installation ->
    device-server -> session-server, and every request is additionally signed
    with the client private key.
schemes:
- name: installationToken
  type: apiKey
  in: header
  headerName: X-Bunq-Client-Authentication
  description: >-
    Installation token returned by POST /v1/installation. Used only to
    authenticate the device-server and session-server handshake calls. Obtained
    by POSTing your 2048-bit RSA (PKCS#8) public key; the response also returns
    the bunq server_public_key used to verify response signatures.
  sources:
  - openapi/bunq-openapi.yml
  - https://doc.bunq.com/basics/authentication
- name: sessionToken
  type: apiKey
  in: header
  headerName: X-Bunq-Client-Authentication
  description: >-
    Session token returned by POST /v1/session-server. Sent on every business
    call for the life of the session. Opening the session requires your bunq API
    key (the "secret").
  sources:
  - openapi/bunq-openapi.yml
  - https://doc.bunq.com/quickstart/opening-a-session
- name: clientSignature
  type: signature
  in: header
  headerName: X-Bunq-Client-Signature
  algorithm: RSA-SHA256 (PKCS#1 v1.5)
  description: >-
    Base64-encoded RSA signature of the request body, created with your private
    key using SHA-256 and PKCS#1 v1.5 padding. Required on the device-server and
    session-server handshake calls and, per bunq's signing documentation, on
    authenticated requests. bunq signs its responses in X-Bunq-Server-Signature,
    which the client verifies with the installation server_public_key.
  sources:
  - https://doc.bunq.com/basics/signing
  - https://doc.bunq.com/basics/signing/python-code-example
notes: >-
  API keys for production are issued in the bunq mobile app; sandbox keys are
  issued via the developer portal or the sandbox tinker/hackathon toolkit. PSD2
  third parties register an eIDAS certificate to obtain a
  UserPaymentServiceProvider and API key. bunq also supports OAuth for
  third-party access on top of this model.
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com

Work with this as data

Every security artifact here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for security posture

4 MCP tools reach this
  • find_securityBrowse and filter every security artifact in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This security artifact
curl "https://apis.io/api/v1/security/bunq-authentication"
All security posture
curl "https://apis.io/api/v1/security?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.