09-04-2024 02:55
09-04-2024 02:55
We’ve noticed that when retrieving data using the Get Daily Activity Summary API, the summary: caloriesBMR value fluctuates for some users depending on the time the API request is made. This issue seems to have started around September 2, 2024.
I’ve attached the data for one particular user, retrieved on September 4, 2024, at 18:35 JST.
Data for September 3, 2024:
"summary": {
"caloriesOut": 1811,
"activityCalories": 1749,
"caloriesBmr": 1547,
"activeScore": "-1",
Today Data for September 4, 2024:
"summary": {
"caloriesOut": 2273,
"activityCalories": 6166,
"caloriesBmr": 1198,
"activeScore": "-1",
Future Data for September 5, 2024:
"summary": {
"caloriesOut": 1637,
"activityCalories": 0,
"caloriesBmr": 1547,
"activeScore": "-1",
Since caloriesBMR represents the basal metabolic rate, we expect it to consistently return a value of 1547, regardless of the time the API request is made. Could you please confirm if this behavior is expected?
09-04-2024 03:29
09-04-2024 03:29
It seems that for the current day, it shows the caloriesBMR until the actual time, so at the end of the day it will be 1547. 1198 matches more or less with the incidated time (18:35).
09-05-2024 01:48
09-05-2024 01:48
It does seem that the caloriesBMR for the current day reflects the value up until the actual time.
A few days ago, with a different Fitbit account, the caloriesBMR for the current day did not fluctuate, but now it also reflects the value up until the actual time.
If this is the expected behavior, it would be problematic because the only way to obtain the accurate caloriesBMR for the current day would be to retrieve it the day before or on the following day.
09-05-2024 03:37
09-05-2024 03:37
Why is this problematic? You can use your own calculation based on the current time and the bmr calories to calculate the bmr calories for the full day, or you use the estimated bmr calories of the next day. It seems to me that these are nice workarounds for your issue.
I agree that an undocumented change isn't nice, but the way Fitbit now returns the bmr calories for the current day isn't wrong: it shows the accumulated value up to the current time (time of request). More bmr calories are not burned for the current day at that time.
09-06-2024 13:56
09-06-2024 13:56
I concur, seeing these same issues and having users suddenly complain that the reported values synced to our app are too high. I note that the fitbit status page acknowledges there's an issue since teusday:
"Some users may notice data discrepancies or syncing issues between 3P apps and Fitbit. Our team is currently investigating the root cause of the issue."
Can someone from fitbit give us any guidance on timelines or steps to mitigate if these JSON values have semantically changed?
Does fitbit view this as an undocumented change that will stay this way, or as a regression that will be fixed soon?
09-09-2024 11:16
09-09-2024 11:16
Hi @popom
Thank you for reporting this problem. Let me try to reproduce this problem and report it to our engineering team.
09-11-2024 07:58
09-11-2024 07:58
Hi @popom
It does seem the change in caloriesBMR value is changing based on the timing of the day and how many calories the person has currently burned at that time. I'm checking with engineering to determine if this behavior is correct. I'll let you know what I find out.
10-01-2024 11:18
10-01-2024 11:18
@Gordon-C any update on if this change in value is going to be a permanent change in behaviour or will/is it being reverted to the old behavior (stable BMR for entire day)
11-25-2024 11:14
11-25-2024 11:14
Hi everyone,
I was able to confirm that this happens because the caloriesBMR for the current date is computed based on the number of minutes elapsed on that day.
11-25-2024 11:17
11-25-2024 11:17
Hi Gordon -- thanks for confirming this. We had figured that out, but it was for the last 8 years or so, reporting a full day's BMR and then changed to this new behaviour. Can you confirm. this was intentional undocumented change and that it's going to stay that way going forward, or will it be fixed back to old behaviour?