API Error Reference
Akoya uses HTTP status and error codes to indicate the success or failure of a request. For status codes other than 200, the HTTP response body contains an error entity.
HTTP Status Codes | Meaning |
|---|---|
100s | Informational codes indicate the request initiated by the browser is continuing. |
200s | The server returns success codes when it receives, understands, and processes the browser request. |
300s | Redirection codes return when the server substitutes a new resource for the requested resource. |
400s | Client error codes indicate there is a problem with the request. |
500s | Server error codes indicate the server accepted the request but encountered an error that prevented fulfillment. Consider implementing three retries to help your app deal with short-lived, transient failures. The waiting time between retries should increase exponentially with each retry attempt. |
Get Authorization Code Errors
These are common errors you may encounter when obtaining an authorization code grant.
HTTP Status Code | Error Description | Possible Issue |
|---|---|---|
200 | No "connector" Will return an incorrect login screen. | |
400 | Unregistered redirect_uri (e.g. https://wrong/v3/callback) | The redirect_uri is incorrect or not registered. |
400 | Invalid ConnectorID | The providerId is incorrect. |
400 | Invalid client_id | The clientId is incorrect. |
500/501 | Subsystem is unavailable or temporarily unavailable. |
Errors Returned in the URL (Invalid Params)
Error | Error Description | Possible Issue |
|---|---|---|
invalid_request | Invalid+response+type | The request is missing a parameter, contains an invalid parameter, includes a parameter more than once, or is otherwise invalid. |
invalid_scope | Missing+required+scope | The requested scope is invalid. |
access_denied | The user or authorization server denied the request. | |
unauthorized_client | The client is not allowed to request an authorization code using this method, for example, if a confidential client attempts to use the implicit grant type. | |
unsupported_response_type | The server does not support obtaining an authorization code using this method, for example, if the authorization server never implemented the implicit grant type. | |
server_error | Instead of displaying a 500 Internal Server error page to the user, the server can redirect with this error code. | |
temporarily_unavailable | If the server is undergoing maintenance, or is otherwise unavailable, it can return this error code instead of responding with a 503 Service Unavailable status code. |
API Errors
In this section are common errors you may encounter while using our APIs.
Error Body
The APIs support the ability to include debugging information with errors. The debugMessage does not always appear, but the APIs include it when possible.
Element | Type | Description |
|---|---|---|
code | String | Required. The code is a long term persistent identifier which you can use to trace error conditions back to log information. |
message | String | Required. This message is consumer-displayable information which may aid in diagnosis and error reporting. |
debugMessage | String | Not required. Message used to debug the root cause of the error. Contents should not be used in business logic. These messages may change at any time and should only be used for troubleshooting an issue. |
Example
JSON
General API Error Codes
HTTP Status Code | FDX Error Code | Error Message | Issue |
|---|---|---|---|
400 | 401 | Invalid input | Input sent by client does not satisfy API specification. |
400 | Invalid or expired code parameter | The code parameter retrieved during authentication is wrong, missing, or expired. | |
400 | redirect_uri did not match URI from initial request | You didn't register the redirect URI with Akoya. | |
400 | invalid_grant | Missing or incorrect grant_type field. Must be authorization_code. | |
400 | No refresh token in request | The refresh token is missing. | |
400 | The refresh token is invalid or another client has already claimed it. | The refresh token is wrong or expired. If the token expired, the user must reconsent. | |
400 | invalid_request | One or more key values is missing, invalid, or claimed by another client: refresh_token, client_id, client_secret. | |
400 | unsupported_token_type | You must set the token_type_hint to refresh_token. | |
400 | 702 | Invalid start or end date | Start or end date value is not in the ISO 8601 format. |
400 | 703 | Invalid date range | The start date is not earlier than the end date, or the date range is beyond what the system supports. |
400 | 1201 | Tax form type not supported | Tax form type not supported. |
400 | 1202 | Tax year not supported | Tax year not supported. |
400 | 1204 | Account ID is required | Endpoint requires account ID. |
400 | 1300 | Statement is processing and is not yet available | Statement is processing and is not yet available. |
401 | Invalid client credentials | The client id or secret is incorrect. | |
401 | 602 | Customer not authorized | 1. Customer has not authorized sharing of this data set. 2. ID token expired; you need to refresh it. |
403 | Forbidden | Authorization header may be missing. | |
403 | 403 | Subscription not found | This error may be caused any of the following: 1. The providerId in your request is incorrect. 2. Your app isn’t subscribed to the requested provider. 3. Your app isn’t subscribed to the requested Akoya product. Check the Data Recipient Hub to determine your subscription details. |
403 | 602 | Customer forbidden | Account access is restricted. |
404 | 408 | API not supported | Data provider does not support this data set. |
404 | 601 | Customer not found | Customer with ID not found. |
404 | 701 | Account not found | Account with ID not found. |
404 | 1104 | Statement Id not found for account | Statement Id not found for account. |
404 | 1107 | Data not found for request parameters | Data not found for request parameters. Check date ranges. |
404 | 1108 | No statements in account | Account has no statements. |
404 | 1200 | Tax form not found | Tax form not found. |
405 | 1206 | Method not allowed | Method not allowed. |
406 | 1203 | Content type not supported | Content type not supported. |
408 | Request timeout | Request timed out. Wait a few seconds and try again. If issue persists, submit a support ticket. | |
422 | 704 | Account type not supported | Request made for investment, loans, taxes, statements and other functions that we currently do not support. Error also covers certain account types that are not supported, such as if an account doesn’t support payment-networks. |
429 | 1207 | Too many requests | The API sent too many requests within a short period of time. |
500 | 500 | Internal server error | Catch-all exception for requests that the server did not process. If the issue persists, submit a support ticket. |
500 | 501 | Subsystem unavailable | Catch-all exception for requests that the server did not process. If the issue persists, submit a support ticket. |
501 | 1106 | Fdx version not supported or not implemented | Fdx version not supported or not implemented. |
503 | 503 | Scheduled Maintenance | The system is down for maintenance. |
503 | 909 | Transfer not available due to end of day processing | Transfer not available due to end of day processing. |