Error Glossary

Error Handling

The Aerosync platform surfaces errors from two sources: the widget (client-side, via the onError callback) and the API (server-side, via HTTP status codes and a structured error body). This page covers both.


Widget Errors

When an error occurs inside the Aerosync widget, the onError callback fires with a plain string response in the following format:

ERROR_TYPE | Code: CODE | Message: MESSAGE

INCORRECT_CREDENTIALS | Code: AC-117 | Message: Sorry, we encountered an issue while linking your account. Please ensure your account and routing numbers are correct.

POLLING_TIMEOUT | Code: AR-100 | Message: No response received from the user within the expected time frame. Please try again later.


Make sure `onError` is always defined in your widget configuration so these events are captured and logged:

```javascript
onError: (event) => {
  console.error('Aerosync widget error:', event);
  // parse the string or display a fallback message to the user
}

AR Codes

AR codes are widget-specific errors unrelated to a particular API endpoint.

CodeTypeMessage
AR-100POLLING_TIMEOUTNo response received from the user within the expected time frame. Please try again later.
AR-500SERVER_ERRORA server error occurred. Please try again later.

API Errors

All Aerosync API errors return a structured JSON body alongside the HTTP status code. The error code always starts with AC followed by a three-digit number.

The tables below list every AC code by endpoint, along with the HTTP status and a description of what caused it.


POST /token

HTTP StatusCodeMessageDescription
400 Bad RequestAC-100Required attributes are missing or not in a valid format.The request body is malformed or incomplete. Verify all required fields are present and correctly formatted.
401 ForbiddenAC-101Invalid API key and secret.The supplied credentials are not authorized. Double-check your apiKey and apiSecret.

GET /accounts/connectionId

HTTP StatusCodeMessageDescription
400 Bad RequestAC-100Required attributes are missing or not in a valid format.The request body is malformed or incomplete. Verify all required fields are present and correctly formatted.
403 ForbiddenAC-001Invalid API key and secret.The supplied credentials are not authorized. Check your Authorization header and token validity.
404 Not FoundAC-102User <connectionId> not found.The connectionId in the path parameter is invalid. Confirm the user completed the widget onSuccess flow before making this call.
400 Bad RequestAC-103The FI failed to send account number, routing number, or balance.The financial institution returned incomplete data. Surface a user-friendly error and prompt the user to reconnect.
400 Bad RequestAC-104We are having issues connecting to your bank. Reconnect your bank or reach out to [email protected] to resolve the issue.There are connection issues with the FI. Retry with exponential backoff. If the issue persists, prompt the user to reconnect via the widget.

GET /accounts/connectionId/balance

HTTP StatusCodeMessageDescription
400 Bad RequestAC-100Missing required request parameters: [connectionId].The request body is malformed or incomplete. Verify all required fields are present and correctly formatted.
403 ForbiddenAC-001Invalid API key and secret.The supplied credentials are not authorized. Check your Authorization header and token validity.
400 Bad RequestAC-104We are having issues connecting to your bank. Reconnect your bank or reach out to [email protected] to resolve the issue.There are connection issues with the FI. Retry with exponential backoff. If the issue persists, prompt the user to reconnect.
405 Method Not AllowedAC-105Balance check not available for manually linked users.Balance checks are not supported for manually linked accounts. Check the connectionMethod field on GET /accounts before calling this endpoint.
400 Bad RequestAC-106For security purposes, the FI has paused sharing account information for this user. To continue, the user can reconnect to the FI.The FI has revoked the connection. The user must re-authenticate via the widget to restore access.

POST /accounts/connectionId/refresh

HTTP StatusCodeMessageDescription
400 Bad RequestAC-100Missing required request parameters: [connectionId].The request body is malformed or incomplete. Verify all required fields are present and correctly formatted.
403 ForbiddenAC-001Invalid API key and secret.The supplied credentials are not authorized. Check your Authorization header and token validity.
400 Bad RequestAC-102User <connectionId> not found.The connectionId in the path parameter is invalid. Confirm the user completed the widget onSuccess flow before making this call.
400 Bad RequestAC-104We are having issues connecting to your bank. Reconnect your bank or reach out to [email protected] to resolve the issue.There are connection issues with the FI. Retry with exponential backoff. If the issue persists, prompt the user to reconnect.
405 Method Not AllowedAC-107Balance refresh not available for manually linked users.Balance refresh is not supported for manually linked accounts. Check connectionMethod on GET /accounts before calling this endpoint.
429 Too Many RequestsAC-108Account has been temporarily blocked due to too many incorrect MFA attempts.The user has been MFA-locked. Do not retry automatically. Surface a message to the user and contact [email protected] if needed.

POST /accounts/connectionId/mfa/job_id

HTTP StatusCodeMessageDescription
400 Bad RequestAC-100Missing required request parameters: [connectionId].The request body is malformed or incomplete. Verify all required fields are present and correctly formatted.
403 ForbiddenAC-001Invalid API key and secret.The supplied credentials are not authorized. Check your Authorization header and token validity.
404 Not FoundAC-102User <connectionId> not found.The connectionId in the path parameter is invalid.
400 Bad RequestAC-104We are having issues connecting to your bank. Reconnect your bank or reach out to [email protected] to resolve the issue.There are connection issues with the FI.
404 Not FoundAC-109Job <job_id> not found.The job_id in the path parameter is invalid. Use the jobId returned from the create job response — do not construct it manually.

POST /accounts/connectionId/mfa/job_id/resolve

HTTP StatusCodeMessageDescription
400 Bad RequestAC-100Missing required request parameters: [connectionId].The request body is malformed or incomplete. Verify all required fields are present and correctly formatted.
403 ForbiddenAC-001Invalid API key and secret.The supplied credentials are not authorized. Check your Authorization header and token validity.
404 Not FoundAC-102User <connectionId> not found.The connectionId in the path parameter is invalid.
400 Bad RequestAC-104We are having issues connecting to your bank. Reconnect your bank or reach out to [email protected] to resolve the issue.There are connection issues with the FI.
405 Method Not AllowedAC-110Your MFA session has expired. Please reauthenticate to continue.The user took too long to respond to the MFA challenge. Re-initiate the job and re-launch the MFA widget from scratch.

POST /accounts/connectionId/identity

HTTP StatusCodeMessageDescription
400 Bad RequestAC-100Missing required request parameters: [connectionId].The request body is malformed or incomplete. Verify all required fields are present and correctly formatted.
403 ForbiddenAC-001Invalid API key and secret.The supplied credentials are not authorized. Check your Authorization header and token validity.
404 Not FoundAC-102User <connectionId> not found.The connectionId in the path parameter is invalid.
400 Bad RequestAC-104We are having issues connecting to your bank. Reconnect your bank or reach out to [email protected] to resolve the issue.There are connection issues with the FI.
405 Method Not AllowedAC-111Identity jobs are not available for manually linked users.Identity jobs require a widget-linked account. If the user linked manually, prompt them to re-link via the widget.
409 ConflictAC-112Conflict — another job currently in progress.A job is already running for this connectionId. Check job state server-side before triggering a new request.

GET /accounts/connectionId/identity

HTTP StatusCodeMessageDescription
400 Bad RequestAC-100Missing required request parameters: [connectionId].The request body is malformed or incomplete. Verify all required fields are present and correctly formatted.
403 ForbiddenAC-001Invalid API key and secret.The supplied credentials are not authorized. Check your Authorization header and token validity.
404 Not FoundAC-102User <connectionId> not found.The connectionId in the path parameter is invalid.
400 Bad RequestAC-104We are having issues connecting to your bank. Reconnect your bank or reach out to [email protected] to resolve the issue.There are connection issues with the FI.
400 Bad RequestAC-113For security purposes, the FI has paused sharing account information for this user. To continue, the user can reconnect to the FI.Authentication has failed for the expected user. The user must re-authenticate via the widget.

POST /accounts/connectionId/transactions

HTTP StatusCodeMessageDescription
400 Bad RequestAC-100Missing required request parameters: [connectionId].The request body is malformed or incomplete. Verify all required fields are present and correctly formatted.
403 ForbiddenAC-001Invalid API key and secret.The supplied credentials are not authorized. Check your Authorization header and token validity.
404 Not FoundAC-102User <connectionId> not found.The connectionId in the path parameter is invalid.
400 Bad RequestAC-104We are having issues connecting to your bank. Reconnect your bank or reach out to [email protected] to resolve the issue.There are connection issues with the FI.
409 ConflictAC-112Conflict — another job currently in progress.A job is already running for this connectionId. Check job state server-side before triggering a new request.
405 Method Not AllowedAC-114Transaction jobs are not available for manually linked users.Transaction jobs require a widget-linked account. If the user linked manually, prompt them to re-link via the widget.

GET /accounts/connectionId/transactions

HTTP StatusCodeMessageDescription
400 Bad RequestAC-100Missing required request parameters: [connectionId].The request body is malformed or incomplete. Verify all required fields are present and correctly formatted.
403 ForbiddenAC-001Invalid API key and secret.The supplied credentials are not authorized. Check your Authorization header and token validity.
404 Not FoundAC-102User <connectionId> not found.The connectionId in the path parameter is invalid.
400 Bad RequestAC-104We are having issues connecting to your bank. Reconnect your bank or reach out to [email protected] to resolve the issue.There are connection issues with the FI.
405 Method Not AllowedAC-115Transaction data not available for manually linked users.Transaction data requires a widget-linked account. If the user linked manually, prompt them to re-link via the widget.

GET /accounts/connectionId/job/job_id

HTTP StatusCodeMessageDescription
400 Bad RequestAC-100Missing required request parameters: [connectionId].The request body is malformed or incomplete. Verify all required fields are present and correctly formatted.
403 ForbiddenAC-001Invalid API key and secret.The supplied credentials are not authorized. Check your Authorization header and token validity.
404 Not FoundAC-102User <connectionId> not found.The connectionId in the path parameter is invalid.
400 Bad RequestAC-104We are having issues connecting to your bank. Reconnect your bank or reach out to [email protected] to resolve the issue.There are connection issues with the FI.
404 Not FoundAC-109Balance refresh job for <connectionId> not found.The job_id in the path parameter is invalid. Use the jobId returned from the create job response — do not construct it manually.