Errors
We use the HTTP response codes to indicate the success or failure of an API request:
codes in the 2xx range indicate success;
codes in the 4xx range indicate an error having to do with the provided information (e.g. a required parameter was missing, insufficient funds, etc.);
codes in the 5xx range indicate an error having to do with the bunq servers. If you get such an error, please report it to us via chat.
Response Codes
Code | Error | Description |
200 | OK | Successful HTTP request |
399 | NOT MODIFIED | Same as 304. It implies you have a local cached copy of the data. |
400 | BAD REQUEST | A parameter is missing or invalid. |
401 | UNAUTHORISED | A token or signature provided is not valid. |
403 | FORBIDDEN | You're not allowed to make this call. |
404 | NOT FOUND | The object you're looking for cannot be found. |
405 | METHOD NOT ALLOWED | The method you are using is not allowed for this endpoint. |
429 | RATE LIMIT | Too many API calls have been made in a too short period of time. |
466 | REQUEST SIGNATURE REQUIRED | Request signature is required for this operation. |
490 | USER ERROR | A parameter is missing or invalid. |
491 | MAINTENANCE ERROR | bunq is in maintenance mode. |
500 | INTERNAL SERVER ERROR | Something went wrong on our end. |
All 4xx errors include a JSON body explaining what went wrong.
Rate Limits
If you are receiving the 429 error, please make sure you are sending requests at rates that are below our rate limits.
Here are our rate limits per IP address per endpoint:
GET requests: 3 requests within any 3 consecutive seconds
POST requests: 5 requests within any 3 consecutive seconds
PUT requests: 2 requests within any 3 consecutive seconds
Callbacks: 2 callback URLs per notification category
We have a lower rate limit for /session-server
: 1 request within 30 consecutive seconds.
Last updated