Skip to main content
Yoshi syncs data from your connected financial institutions automatically. This page explains the sync model, how to interpret freshness signals, and how to build UIs that handle stale data gracefully.

How syncing works

When you connect a financial account, Yoshi begins syncing data from that institution on a recurring schedule:
Sync frequency varies by institution. Some provide near real-time data, while others update once per business day.

The as_of timestamp

Each account includes an as_of field that tells you when its data was last refreshed:
Use as_of to show users when their data was last updated:

Use webhooks instead of polling

Rather than polling endpoints on a timer, subscribe to webhook events for real-time updates:
See the Webhooks guide for full setup instructions.

Handle stale data in your UI

Financial data may be minutes to hours old depending on the institution. Here are patterns for communicating freshness to users: Show the last sync time:
Flag potentially stale data:
Don’t promise real-time accuracy. Balances and transactions reflect the most recent sync, not the current moment. A user may have made a purchase minutes ago that hasn’t synced yet.

Pending transactions

Transactions with pending: true are authorized but not yet settled. They can:
  • Change amount (tips, holds)
  • Change date
  • Disappear entirely (voided authorizations)
Once a transaction posts (pending: false), it’s final. Always use the transaction id for tracking — don’t match on amount or description, which can change.

What’s next

Webhooks

Get real-time notifications when data changes.

Best practices

Patterns for building reliable integrations.
Last modified on April 17, 2026