Manual Data Sync

This resource is to manually refresh an already connected account to get updated financial data e.g account balance, transactions, income etc.

Manual Data Sync Scenarios

When the manual data sync endpoint is called manually, there are 4 possible scenarios that you will encounter. These includes:

1. Sync Successful
When our data sync API runs successfully, you will receive SYNCED_SUCCESSFUL in your payload indicating that we have successfully refreshed your user's bank account via the provided account id. If new data was found on the user's account, we provide the hasNewData field to be true, else it will be returned as false.

2. Reauthorisation Required
When you attempt to sync an account manually, and the user's bank account has MFA (Multi-factor authentication) enabled, we return a failed status while providing REAUTHORISATION_REQUIRED in the code field.

3. Sync Error
When a manual data sync API call has run and you receive a SYNC_ERROR in the code field, it means there was an issue while trying to sync an account. These reasons could be that you haven’t activated data sync for your account, or there is a bank downtime. It's advised to retry manual sync on your user's account at a later time.

4. Incomplete Bank Statement Error
Last but not the least, if you receive an INCOMPLETE_STATEMENT_ERROR in the returned code field, it means that the user's bank or financial institution inadvertently returned transaction data that is less than the recorded transactions when your user initially linked or when Data sync was last initiated. Based on this regard, it is advisable to log the user's account ID on your system, for the sake of retrying this sync at a later time (e.g via Redis/Cron Job) for when updated data would be available. Alternatively, you can set the query param:allow_incomplete_statement to true, to return the latest data which is less than the recorded transactions of the user when they initially linked their account, or when Data sync was last initiated.


Kindly note that there is a set rate limit of one API call per connected account every two minutes. What this means is that whenever you manually sync an account, you wouldn’t be able to sync this same account until after two minutes.

Manual Data Sync Objects

  "status": "successful",
  "hasNewData": false,
  "status": "failed",
  "status": "failed",
  "code": "SYNC_ERROR",
  "message": "e.g Your account does not have access to this feature yet, please contact [email protected] for more information."
  "status": "failed",

Data Sync Fields

statusThe field represents the status of a ran sync action. e.g successful or failedstring
hasNewDataThis field is to indicate whether new data is available or not, after a successful sync has ran, for when the status says "successful". e.g true or falseboolean
messageThis field provides a message text if available, whenever there is a sync error.string