Error Handling
Every error response has one shape:
{"error": "ValidationError", "message": "iban: must be a valid IBAN"}
| Status | error | When |
|---|---|---|
| 400 | ValidationError | A field is missing or malformed |
| 400 | InvalidIban | The IBAN does not validate or its bank is not supported |
| 401 | Unauthorized | Missing, expired or invalid Bearer token |
| 403 | InsufficientScope | The token lacks the openbanking.api scope |
| 403 | MissingClientBinding | The OAuth client is not yet bound to a Magni client (provisioning pending) |
| 404 | NotFound | The account does not exist or belongs to another client |
| 429 | RateLimited | See Rate limiting; honour Retry-After |
| 502 | UpstreamError | The bank or the SIBS gateway failed; retry later |
Treat error as the stable key and message as human-readable text that may change.