If an error occurs while you're using the Data Access endpoints, you will receive a message similar to the following:
{
"code": code,
"message": "message",
"debugMessage": "Provider custom developer-level error details for troubleshooting"
}
Each error response will include two troubleshooting headers:
ob-correlation-id
ob-trace-id
If you need help from Flinks to troubleshoot and resolve an error, provide the header that you received in the response.
Supported Errors
We recommend that you set up your configuration to expect and handle the following errors.
Code | Message | Status Code |
---|---|---|
401 | Invalid Input | 400 |
403 | Subscription not found | 403 |
500 | Internal server error | 500 |
501 | Subsystem unavailable | 405 |
503 | Scheduled maintenance | 503 |
601 | Customer not found | 404 |
602 | Customer not authorized | 401 |
701 | Account not found | 404 |
702 | Invalid start or end date | 400 |
703 | Invalid date range | 400 |
704 | Account type not supported | 422 |
705 | Account is closed | 409 |
800 | Payee not found | 404 |
801 | Payee cannot be modified or deleted | 400 |
802 | Payment not found | 404 |
1107 | Data not found for request parameters | 404 |
1203 | Content type not supported | 406 |
1207 | Too many requests were sent within a short period of time | 429 |
Common Error Scenarios
To resolve an error, locate the error you are experiencing and complete the recommendations under the Action column.
Consent Errors
This type of error is caused by an issue with the end-user's consent.
Scenario | Code | Status Code | Action |
---|---|---|---|
The end-user revokes consent, consent has expired, or they have not consented to a specific data scope. | 602 | 401 | If the request fails for all data collection calls, discard the refresh_token . The user will be required to authorize again. |
Transient Failures
This type of error is caused by a temporary condition and may resolve itself quickly.
Scenario | Code | Status Code | Action |
---|---|---|---|
Too many requests | 1207 | 422 | Implement an appropriate throttling mechanism. |
An unexpected error has occurred | 500/503 | 500/502/503 | Implement an appropriate retry mechanism to resend the request. |
Non Transient Failures
This type of error is caused by a specific issue that must be addressed. You will continue to see this error until the issue is corrected.
Scenario | Code | Status Code | Action |
---|---|---|---|
Invalid input | 401/702/703 | 400 | The request is malformed. If this occurs when the data is fetching while paging, you can be assume the data that's been collected up to this point is valid. |
Subscription not found | 403 | 403 | The subscription for a given user was not found. Notify Flinks if you receive this error for all users of a particular Data Recipient. |
Account Not Found | 701 | 404 | This account was not found. Try again using a different account. |
Account type is not supported | 704 | 422 | The request is not supported for either the endpoint you're calling, the parameters you're passing, or for the account you are requesting. |
Subsystem Unavailable | 501 | 405 | The information you're requesting is not available for that particular Data Provider. |
Issues with the access_token
access_token
If the access_token
is expired or invalid, you'll receive a non-standard error (a 401 or 403 HTTP status code) and a message that looks similar to the following. (In this example, the code
and debugMessage
field are missing.)
{
"message":"message"
}
If you experience this error, fetch a new access_token
by calling the Token endpoint and using refresh_token
as the grant type.
If you are still experiencing issues
If you complete the steps above to receive a new token but continue to experience the same error, it may be consent related. For more information about how to resolve a consent error, see the Consent Errors section.
Escalating the error to Flinks
If you need help to troubleshoot and resolve your error, contact Flinks and provide the following information:
- The error code you're seeing
- Actions you've taken to resolve it
- The troubleshooting header you received in the response
If the access_token
is expired or invalid, you'll receive a non-standard error (a 401 or 403 HTTP status code) and a message that looks similar to the following:
{
"message":"message"
}