Error Codes
Banking Errors
Input Errors
These errors occur when you or your user have entered incorrect information. Please verify values in your request body and try again.
| HTTP Status Code | Error Type | Description | How to Handle |
|---|---|---|---|
| 401 | INACTIVE_ACCOUNT | Provided account number is incorrect or inactive. | Verify that the request body contains valid values for request parameters or contact your bank. |
| 401 | INVALID_CREDENTIALS | Your user entered invalid login credentials. | Prompt the user to try again. |
| 401 | INVALID_MFA | Your user has entered invalid MFA information (OTP, Secret Question). | Prompt the user to try again. |
| 404 | INVALID_ACCOUNT_ID | Provided account ID is incorrect. | Verify that the request body contains valid identifiers. |
| 404 | INVALID_CARD_ID | Provided card ID is incorrect. | Verify that the request body contains valid identifiers. |
| 400 | INVALID_DATE_RANGE | Provided date range is not supported by the bank. | Enter a date range of up to x days. |
| 400 | PARAMETER_ERROR | Your request body contains incorrect parameters. | Verify that your request body is properly formatted in accordance to our endpoints. |
| 422 | PARAMETER_MISSING | Your request body is missing necessary parameters. | Verify that your request body is properly formatted in accordance to our endpoints. |
Invalid Request Errors
These errors occur when the financial institution does not accept the requested operation. Please see error details below and attempt a different request.
| HTTP Status Code | Error Type | Description | How to Handle |
|---|---|---|---|
| 400 | INSUFFICIENT_BALANCE | The user's account does not have sufficient balance for this transaction. | Check the balance and try a different amount. |
| 400 | BENEFICIARY_NOT_ACTIVATED | Beneficiary has not been activated as two factor authentication is required. | Prompt the user to take necessary further action. |
| 400 | BENEFICIARY_COOL_DOWN_PERIOD | New beneficiary will be activated for fund transfer after x hour(s). | Attempt transactions once this cool down period has elapsed. |
| 400 | BENEFICIARY_ALREADY_EXISTS | A beneficiary with this account number or IBAN already exists. | Try the Create Transfer endpoint instead. |
| 401 | ACCOUNT_LOCKED | Account locked out due to too many failed login attempts. | Prompt the user to reset their password and try again. |
| 401 | INACTIVE_ACCOUNT | This account has been deactivated. | Prompt the user to contact their bank. |
| 401 | DUPLICATE_TRANSFER | The same transaction has already been initiated a short time ago. | Initiate a different transfer or try again later. |
| 401 | ACCOUNT_FEATURE_LOCKED | This operation is locked by the bank. | Contact your bank. |
| 400 | DAILY_LIMIT_EXCEEDED | The entered amount exceeds the maximum daily limit set by the user. | Inform the user to enter a lesser amount or adjust the daily limit from the user's online banking. |
| 400 | TRANSACTION_LIMIT_EXCEEDED | You have exceeded the limit defined for the transaction you are trying to execute. | Inform the user to enter a lesser amount or adjust the transaction limit from the user's online banking. |
| 400 | USER_LIMIT_EXCEEDED | The amount you have entered exceeds the User limit. | Inform the user to enter a lesser amount or adjust the user limit from the user's online banking. |
| 400 | PART_OF_ANOTHER_SUBPRODUCT | This endpoint is included in a different type of request for this bank (payment/transfer/create). | Try the operation using a different type of request. |
| 400 | AMOUNT_BELOW_TRANSFER_LIMIT | The bank has a minimum required amount for the transfer. The current amount is below the bank's minimum. | Try the the operation with an amount that is at least the minimum transfer limit for the bank. |
| 400 | BENEFICIARY_NAME_TAKEN | The bank does not allow multiple beneficiaries with the same name. | Try the request again with a different beneficiary name. |
| 400 | AMOUNT_ABOVE_TRANSFER_LIMIT | The bank has a maximum amount for the transfer. The current amount is above the allowed bank's maximum. | Try the the operation with an amount that is at most the maximum transfer limit for the bank. |
| 400 | TRANSFER_CONFIRMATION_FAILED | It is unknown whether the transfer was process. Mainly caused by internal bank errors. | Contact the user to determine the result of the transfer. |
| 400 | BENEFICIARY_NICKNAME_NAME_TAKEN | The bank does not allow multiple beneficiaries with the same nickname. | Try the request again with a different beneficiary nickname. |
| 400 | BENEFICIARY_NICKNAME_CHARACTER_LIMIT | The bank has a limit on the length of the nickname. | Try the request again with a shorter beneficiary nickname. |
| 400 | BENEFICIARY_NAME_CHARACTER_LIMIT | The bank has a limit on the length of the name. | Try the request again with a shorter beneficiary name. |
Retryable Errors
These errors are usually caused by a failed connection to the bank or our servers. Please try the request again.
| HTTP Status Code | Error Type | Description | How to Handle |
|---|---|---|---|
| 400 | UNABLE_TO_CONNECT_TO_BANK | Failed attempt to connect to the user's bank. | Retry the request. |
| 500 | UNKNOWN_ERROR | An unknown interruption occurred while performing your request. | Retry the request. |
| 401 | SESSION_INVALIDATED | Your user's session has expired or been terminated by the bank. | Retry the request. |
| 400 | USER_ALREADY_LOGGED_IN | This bank does not support concurrent login. | Retry the request. |
| 503 | TEMPORARILY_UNAVAILABLE | An error occurred due to financial institution downtime. | Retry the request. |
Set-up Errors
These errors occur when you have misconfigured the API calls that are being sent to Dapi.
| Error Type | Description |
|---|---|
| NOT_FOUND | You are most likely trying to call an endpoint that does not exist. Please double-check the URL. |
| INVALID_ARGS | Please double-check the arguments you are sending in the request. |
| INVALID_TOKEN | Make sure you are using the right token. NB! Make sure you have set the accessToken as the Bearer Token in the request header. |
| INVALID_SECRETS | Double-check the integrity of the secrets that you are using. NB! If you are using an SDK, make sure you have added the appSecret to the Server. |
| BAD_REQUEST | Double-check the format of your request. |
| UNAUTHORIZED | You are not authorized to call the endpoint. Make sure your appKey has the necessary permissions. |
Implementation Errors
These errors occur when either our system or the financial institution does not support your request. Please try a different operation.
| Error Type | Description |
|---|---|
| CREATE_TRANSFER_TYPE_NOT_SUPPORTED | We do not currently support this transfer type. |
| CREATE_BENEFICIARY_SAME_TYPE_NOT_SUPPORTED | We do not currently support this beneficiary type. |
| CREATE_TRANSFER_TYPE_NOT_SUPPORTED | We do not currently support this transfer type. |
| CREATE_BENEFICIARY_TYPE_NOT_SUPPORTED | We do not currently support this beneficiary type. |
| CREATE_BENEFICIARY_INTL_TYPE_NOT_SUPPORTED | We do not currently support this beneficiary type. |
| PRODUCT_NOT_SUPPORTED | The endpoint you are trying to connect is currently not supported. |
Sandbox Errors
These errors only happen in the sandbox environment.
| Error Type | Description |
|---|---|
| SANDBOX_ACCOUNT_NOT_FOUND | You are trying to interact with a sandbox account that does not exist for your NB! If you are trying to create a transfer, make sure that the beneficiary is another sandbox user that you have already created. |