Error Handling

The Open Banking API is RESTy. It makes good use of HTTP and the status codes described in RFC 7230. If an error occurs you will receive a 4xx or 5xx HTTP status code and an Error structure detailing the error.

This is an example of an Error structure

{
	"code": 90002,
	"message":"Error with Open Banking authorization",
  	"reason":"PSU is blocked",
  	"link":"http://developers.wallet.pt/en/openbanking/errorhandling.html",
  	"tid":"f651e7b3-7757-4335-a61a-89b631743560"
}

The fields in the Error structure are detailed here. Errors in the 10xxx range are technical errors resulting from integration issues or plataform issues and 90xxx errors are related to authentication/authorization and with payload signatures. The error code list is in the following table.

Code HTTP status code Message
1000 500 The service and operation cannot be accessed using the supplied credentials
1020 500 Secure connection required
1100 500 Strategy not found
2200 500 Invalid operation name
2450 500 Unhandled exception
2450 500 Internal server error
2610 500 Unsupported Bearer token type
2610 500 Invalid token
10002 400 Invalid parameter
10004 404 Resource not found
10009 400 Invalid Json format
10010 400 Invalid Content-Type
10015 412 Consistency check error
19999 500 Internal Server Error. Try Again Later
20002 403 Access denied
90002 401 Error with Open Banking authorization
90451 400 No public key in headers
90452 400 No signature in headers
90453 400 No digest header provided
90454 400 No signature headers in signature payload
90455 400 Required header for signature not found
90456 400 The supplied digest does not correspond to the calculated hash