Register OAuth Client

Before you can start the OAuth authorization flow with bunq, you need to register an OAuth client. This client represents your application and provides the necessary credentials (client_id and client_secret) to securely authenticate users.

How to Create an OAuth Client

To create an OAuth client, send a POST request to:

POST /user/{user_id}/oauth-client

Replace {user_id} with your bunq user ID.

Then it will look like this:

curl -X POST "https://api.bunq.com/v1/user/{user_id}/oauth-client" \
  -H "Content-Type: application/json" \
  -H "Cache-Control: no-cache" \
  -H "User-Agent: YourServiceName" \
  -H "X-Bunq-Language: en_US" \
  -H "X-Bunq-Region: nl_NL" \
  -H "X-Bunq-Geolocation: 0 0 0 0 000" \
  -H "X-Bunq-Client-Authentication: your_session_token" \
  -H "X-Bunq-Client-Request-Id: 550e8400-e29b-41d4-a716-446655440000" \
  -H "X-Bunq-Client-Signature: base64_encoded_signature_of_payload" \
  -d '[{
        "status": "ACTIVE",
        "display_name": "My Cool App",
        "redirect_url": "https://myapp.com/oauth/callback"
      }]'

Once you have that oauth client registered you can retrieve it's details by repeating the same API call but then as a GET request the response will contain the client_id and client_secret. Another item to keep track of is the ID of the oauth client. You may want to use it later in a PUT request to update the redirect URL

circle-exclamation

Last updated

Was this helpful?