Data sync


Data sync or auto-refresh retrieve balances and transactions data from financial accounts linked to your web or mobile app, without requiring your users to log in again, it gives you the ability to automatically refresh accounts and send the results to your Webhook URL so you do not have to do this manually.

The financial accounts, in this case, are of two natures:
i. The financial accounts that only require a username and password to login on to the Okra widget.

ii. The financial accounts that require Multi-factor Authentication (MFA).


Webhooks lets you stay up-to-date with any new data changes in real-time, hence you should design your integration with the Okra API by leveraging Okra webhooks to gradually receive data when it becomes available. Webhooks are triggered when the Okra API scans a data resource and makes the data available for retrieval.

For example, when the user links a new bank account, Okra immediately calls an HTTP endpoint to let you know about the event.

You can configure webhooks to also return the full resource. In these cases, you receive the relevant data gradually, when it becomes available, instead of having to call for it.

For other webhooks, you receive properties that help you build optimal queries for Okra data sync. When you receive a notification from these webhooks, you will know that the data is available, have relevant properties, and you can then initiate data retrieval.

Automatic Refresh

Okra automatically refreshes all connected accounts to your business on a daily basis. After the automatic refresh, the data of all connected accounts will be automatically updated.


Before their data can be updated, several banks ask users to re-authorize, if they have Multi-Factor Authentication (MFA) (i.e. OTP, security question, or CAPTCHA) activated.

How Does it work?

You can implement the data sync feature do this;

Via Widget

During the process of setting up your widget, you can send refresh as an option to the widget, which is set to true by default.
The refresh option is usually set by default to a daily interval for balance and transaction services.
Another way this can be done via the widget is to send an object to the refresh option, with the following format {interval, products, webhook_url}


The available options for the interval are -
['one_minute', 'five_minute', 'fifteen_minute', 'thirty_minute', 'one_hour', 'six_hours', 'twelve_hours', 'daily']

If you follow the above steps carefully, from our end we would ensure that we will continue to send the webhooks for refreshes (and all general webhooks).

Note: By default, all associated accounts are updated once every 24 hours. If you wish to adjust the update frequency, please email us at [email protected].