Sync and fetching new data
New data reach MyBodyAI on their own: usually within about 30 minutes after your device has synced with its maker's app, with an hourly safety pass behind that, and a background read of Health Connect on an Android phone. The button “Fetch new data” on the Health tab, and the Sync button in the header, ask for a fresh pull right now. The data can only arrive after your device has handed them to its maker or to the phone, and no button can speed up that first step.
On this page
How data arrive by themselves#
There are four routes, and which one carries your data depends on the source.
- A connected service (Polar, Oura, Withings, COROS, Google Health). Your device first syncs with the maker's own app and cloud. The service then tells us, and we pull your data and compute your scores. This usually takes about 30 minutes from the moment your device has synced. If no notice comes, an hourly pass asks every connected service for new data, so a missed notice costs at most about an hour. The maker decides exactly when its data become available.
- The Garmin link. New data arrive a few minutes after your watch next syncs with Garmin Connect. Until then there is nothing to read, so open the Garmin Connect app or use Garmin Express on a computer to start that sync.
- The Android app and Health Connect. The app reads Health Connect on the phone about once an hour in the background, and again when you open the app (after an earlier read at least 2 minutes old). Android decides exactly when background work runs, and a phone that is off or has no signal delivers later. Health Connect holds what your watch's own app has already written to it, so a watch that has not synced with its app delivers nothing either.
- Uploads you make yourself. A Garmin export arrives when you upload it, and nothing else brings it in.
While the app is open in a tab, it also re-reads your numbers every 30 minutes and when you come back to the tab after longer than that. That refresh only reloads what we already hold, it does not ask your device for more.
You wake up at 7:00 and open the Oura app at 7:20 so the ring syncs. Oura tells us, and your night and scores are usually in MyBodyAI by about 7:50. If that notice never came, the hourly pass would still bring them, at most an hour later. If you press “Fetch new data” at 7:25, before Oura has handed anything over, you may see “Already up to date”. Press it again after the ring's sync has finished.
After new data arrive we recalculate the scores. The recalculation covers the days that have no score yet, days scored with an older version of the calculation, and days whose data are newer than their score, up to the last 90 days, and always today. It usually takes seconds.
“Fetch new data”#
The button sits on the Health tab, under the Body Status dial: “Fetch new data” (“Načíst nová data” in Czech). It spins while it works and cannot be pressed twice. It is the thorough option, and the one to use when a number looks stale. In the Android app it reads further back than the header button does.
On the Android app#
- The app first asks the phone to re-read the past 30 days of Health Connect, not only today. Thirty days are read day by day with a pause between them, so this can take tens of seconds. The button waits until the app reports it is done, or up to about 45 seconds. Older versions of the app read only today and wait up to 12 seconds.
- We then ask the connected services for their last 90 days of days and workouts and recalculate. If a sync finished within the last minute, it answers for this one: nothing is asked again and you see “A sync finished a moment ago, your data is current.” On the phone this can be what you see, because the app's own run has just finished.
- If you were looking at a past day, the tab returns to today and reloads.
The deep re-read is worth the wait because the automatic phone read goes through the 30 days only once for each generation of the app's reader. A day that was read before its source app had synced would otherwise stay wrong. A refresh you press is the moment where re-reading everything is what you asked for.
In a browser#
A browser cannot read Health Connect, so step one is skipped. We ask the connected services for the last 90 days and recalculate. If your phone has sent data in the last 14 days, we also send it a silent request to read Health Connect now. We do this at most once every 5 minutes for your account, however many times you press the button. When a request was sent, the button then waits 8 seconds for the phone's answer and reloads. If the phone is asleep or offline the data arrive later, on the phone's own schedule, and the message says so: “Asked your phone for data, it may arrive with a short delay”.
What changes on the screen#
After the pull, the tab reloads and every card shows the new numbers. A score for today can move after a sync, which is normal: a sync brings the night, the steps and the workouts that were missing. See Body Status for why the state can change after a sync.
The Sync button in the header#
On a phone-sized screen the header has a Sync button, a round arrow with a short label of how long ago your newest day's data last changed: “just now”, “5m”, “3h” or “1d+” (in Czech “právě”). On a wide screen the same button sits at the bottom of the left rail under the name “Sync” (in Czech “Obnovit”), with a green dot when the last change was within a day and an amber dot when it was longer ago. Hovering shows “Sync · last sync 5m”. The label is not the time of your last press: it shows when data last reached the newest day, so it can say “3h” right after you pressed the button when nothing new came.
The two buttons behave a little differently:
- In the Android app, the header button asks only the phone: the app reads Health Connect, posts what it finds, and the page shows “Data synced successfully” once the app reports it done.
- In a browser, the header and the rail button ask the connected services as described above and wait 8 seconds for the phone if it was asked.
The first-run card on the Overview has its own “Sync now” button, which behaves like “Fetch new data”.
What each message means#
A small message appears at the bottom of the screen after a press.
- “Data synced successfully” (“Data byla synchronizována”): days or workouts came in or changed.
- “Already up to date” (“Vše je aktuální”): we asked every connected service and none had anything new. The header label briefly reads “Up to date” (“Aktuální”).
- “Asked your phone for data, it may arrive with a short delay” (“Požádali jsme telefon o data, mohou dorazit s malým zpožděním”): your phone was asked, and its answer comes in its own request. Asked is not answered, so we do not claim success.
- “A sync finished a moment ago, your data is current.” (“Synchronizace proběhla před chvílí, data jsou aktuální.”): a sync completed within the last minute and answers for this press. Nothing was asked, so nothing is “new” or “not new”.
- “A sync is already running, one moment.” (“Synchronizace už běží, chvilku strpení.”): one sync runs at a time for an account. In the Android app this often means the app's own sync, which starts just before the page asks, is still running.
- “That was too soon after the last one. Try again in a minute.” (“Moc rychle po sobě. Zkuste to za minutu.”): you hit the limit of 12 requests a minute, counted per device or session. Nothing is broken. The answer is to wait a minute, not to press harder.
- “Sync failed. Please try again.” (“Synchronizace selhala. Zkuste to znovu.”): a red message. It appears when we reached for your data and found nothing, and the service refused us or could not be reached, for example because a login expired or the maker's service is down. The Devices page shows which source needs attention, and Troubleshooting has the steps.
The Overview's sync and the left rail show only the last three messages of this list and stay silent otherwise, while the Health tab and the phone header show all of them.
The limits#
| Limit | What happens |
|---|---|
| 12 presses a minute | The message “That was too soon after the last one” |
| A sync finished in the last minute | Answers for the new request, no second pull |
| One sync at a time per account | “A sync is already running, one moment.” |
| Phone request from a browser | At most once every 5 minutes, then the browser waits 8 seconds |
| Phone deep re-read | Up to about 45 seconds |
Because a finished sync answers for the next minute, one press cannot come close to 12 requests a minute, and the connected services are asked at most once a minute for your account. In practice you meet the “one minute” rule long before the limit.
The first sync after connecting#
A new connection pulls the history the service offers, about three months and up to 90 days, in one go. While it runs, the banner “Fetching your … data, this usually takes up to 30 minutes” shows on every tab. See Devices for the wording and for the Garmin link, which waits for the watch. The first daily scores appear after about three nights of data, and the HRV band needs four weeks of readings.
Why a past day can change later#
A stored day can be recalculated after you have seen it. Five things cause it:
- Late data. Data reach us late as a matter of routine: Garmin Connect writes the night into Health Connect when the watch next syncs with the phone, and an export arrives days later. Until the night arrives, the day is scored with your usual night and marked “Provisional”, and it is scored again when the real night comes. For the days still open (today and yesterday), a missing night is filled for scoring only when you delivered that value on at least 4 of the 7 days before. See Body Status.
- A new version of the calculation. When we improve how a number is computed, old days are brought to the new version.
- A Garmin export or new Garmin link data. An import can bring older nights.
- A change to your activities. Adding, editing, deleting or restoring a workout recalculates from that day on.
- A change to your profile. A new date of birth, sex or entered maximum heart rate changes the targets each day is scored against, so past days are recalculated. The profile field for the maximum heart rate says “A change recalculates past sessions too”, and the choice of the device for steps in Settings confirms with “Saved. We are recalculating the last 90 days, usually within a minute.”
When a recalculation moves a score you had already seen by 5 points or more, the Trends tab shows a quiet line under the charts: “3/11: 4 days of history recalculated (a change to your activities). What changed”. The date is the day the pass ran, and the reason is one of “a new version of the calculation”, “a Garmin data import”, “a change to your activities”, “a change of age, sex or maximum heart rate in your profile” and “data from your linked Garmin”. A tap on “What changed” lists the days with the old and the new value. The record is kept for 180 days. Smaller moves are rounding and are not listed, and a day settling after its night arrived is not counted as a revision.
The nightly catch-up#
Once a night, early in the morning in Central Europe, a catch-up pass walks through your whole history. It rescores the days stored with an older version of the calculation, the days a profile change marked, and the days scored on a night that had not arrived yet. The sync after a press looks back 90 days only, so this pass is what reaches older days. It leaves an account alone while a sync is running and comes back to it a little later. You do not need to do anything for it, and what it changes appears as the “recalculated” line above.
Why two screens can differ for a few minutes#
To keep the app quick, the scores we compute for you are reused for up to 5 minutes between two loads. New data stored by a sync or a phone upload clear that copy straight away, so after a sync you see current numbers. A screen opened a few minutes before a change can still show the earlier copy until it reloads. Pull the page again or press “Fetch new data”. The heart curve of today is kept for one minute, that of yesterday for 15 minutes.
What you can do#
- Open your device's own app and let it sync first. Nothing reaches us before that.
- On Android, open the MyBodyAI app, then press “Fetch new data”.
- If a source shows “Slow sync” or “No data flowing”, follow Troubleshooting.
- If you only see “A sync finished a moment ago”, nothing is wrong: wait a few minutes for the next pass.
Frequently asked questions#
How long until new data show up?#
Usually within about 30 minutes after your device has synced with its maker's app, and at the latest after the next hourly pass. The Garmin link takes a few minutes after the watch syncs. The phone reads about once an hour and when you open the app.
Why does “Fetch new data” say “A sync finished a moment ago”?#
A sync completed within the last minute, so we answer from it instead of asking again. Your data are as current as that sync. On the Android app the app's own run often ends just before the button asks us.
Why does Sync say “Already up to date” when my watch has new data?#
Because the watch has not handed them over yet. Open the maker's app on your phone and let it sync, then wait a few minutes. We can only read what the maker or Health Connect holds.
Why did yesterday's score change?#
Because the night, a workout or a new version of the calculation reached it after you saw it. See the section on late data and the line on the Trends tab.
Can I make it sync more often?#
The Sync button asks for a fresh pull at any time, up to 12 times a minute, and a finished sync answers for a minute. Syncing more often does not help when the device itself has not synced.
Does syncing use my phone's battery?#
The background read happens about once an hour. You can switch the phone's data off in Settings, “Devices”, with the switch “Use data from the phone”, and you can withdraw the permission in the Health Connect app.
MyBodyAI is a wellness app, not a medical device. It does not diagnose. If you feel unwell, ask a doctor.
Encyclopedia contents
Getting started
Data and devices
Health
- Body Status
- Morning Energy
- Recovery and readiness
- HRV and heart
- Stress
- Body Alert and breathing
- Biological age
Sleep
Training
Modes and account