Use the Access Token to get a user session
Once you have received the access_token
through the OAuth flow, you must use it to create a session. This session allows your app to perform authenticated API calls on behalf of the user. This is a equal process to the regular Start a Session flow. However what is different is that you use the end-users access token to get the session.
Endpoint
POST /v1/session-server
Purpose
This endpoint creates a new API session using the OAuth access token.
Example cURL
Request
cURL
Request⚠️ This example assumes you’ve already signed the payload and have the device token ready.
bashCopyEditcurl -X POST https://api.bunq.com/v1/session-server \
-H "Content-Type: application/json" \
-H "Cache-Control: no-cache" \
-H "User-Agent: my-app-name" \
-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_device_token" \
-H "X-Bunq-Client-Signature: BASE64_SIGNATURE_OF_PAYLOAD" \
-d '{"secret":"USER_ACCESS_TOKEN"}'
✅ Example Response
{
"Response": [
{
"Id": {
"id": 25536694
}
},
{
"Token": {
"id": 25536694,
"created": "2025-03-05 16:12:11.918100",
"updated": "2025-03-05 16:12:11.918100",
"token": "ce717e3001d979ff5e22bac13508b46e7ad740971d1d75c5371614e546ca8b83"
}
},
{
"UserPerson": { "id": 1822179,
"rest of the user object":... }
}
]
}
Last updated
Was this helpful?