10-02-2020 11:54
10-02-2020 11:54
According to the API documentation, the Get Heart Rate Intraday Time Series API endpoint is accessible under 4 acceptable URL formats:
1 - GET https://api.fitbit.com/1/user/-/activities/heart/date/[date]/[end-date]/[detail-level].json
2 - GET https://api.fitbit.com/1/user/-/activities/heart/date/[date]/[end-date]/[detail-level]/time/[start-time]/[end-time].json
3 - GET https://api.fitbit.com/1/user/-/activities/heart/date/[date]/1d/[detail-level].json`
4 - GET https://api.fitbit.com/1/user/-/activities/heart/date/[date]/1d/[detail-level]/time/[start-time]/[end-time].jsonThe endpoints 3 and 4 are working as expected. Below is the output from the endpoint 3, that is working properly. Some arrays were truncated for better readability:
URL: https://api.fitbit.com/1/user/-/activities/heart/date/2020-09-30/1d/1sec.json
{
"activities-heart": [
{
"dateTime": "2020-09-30",
"value": {
"customHeartRateZones": [],
"heartRateZones": [
{
"caloriesOut": 2076.2116,
"max": 118,
"min": 30,
"minutes": 1394,
"name": "Out of Range"
}
],
"restingHeartRate": 71
}
}
],
"activities-heart-intraday": {
"dataset": [
{
"time": "08:02:01",
"value": 70
},
{
"time": "08:02:16",
"value": 70
}
],
"datasetInterval": 1,
"datasetType": "second"
}
}The endpoints 1 and 2 are not working as expected. I noted that the format of the end-date parameter is not documented under the Resource URLs section, I guess it has the same format as the one used in the Get Heart Rate Time Series (in the yyyy-MM-dd format).
For example, when I try the following URL: https://api.fitbit.com/1/user/-/activities/heart/date/2020-09-30/2020-10-01/1sec.json
I get the output below (I truncated the categories array for better readability). It looks like the output of this endpoint only consists of a categories field whose associated value is an array.
Instead of this, I was expecting to see an output similar to the one produced by endpoint 3, but for the specified date range (2020-09-30 to 2020-10-01)
{
"categories": [
{
"activities": [
{
"accessLevel": "PUBLIC",
"activityLevels": [
{
"id": 3016,
"maxSpeedMPH": -1,
"mets": 8.5,
"minSpeedMPH": -1,
"name": "6 - 8 inch step"
},
{
"id": 3017,
"maxSpeedMPH": -1,
"mets": 10,
"minSpeedMPH": -1,
"name": "10 - 12 inch step"
}
],
"hasSpeed": false,
"id": 90004,
"name": "Aerobic step"
},
{
"accessLevel": "PUBLIC",
"hasSpeed": false,
"id": 3015,
"mets": 6.5,
"name": "Aerobic, general"
},
{
"accessLevel": "PUBLIC",
"activityLevels": [
{
"id": 3020,
"maxSpeedMPH": -1,
"mets": 5,
"minSpeedMPH": -1,
"name": "low impact"
},
{
"id": 3021,
"maxSpeedMPH": -1,
"mets": 7,
"minSpeedMPH": -1,
"name": "high impact"
}
],
"hasSpeed": false,
"id": 90005,
"name": "Aerobics"
},
{
"accessLevel": "PUBLIC",
"hasSpeed": false,
"id": 3050,
"mets": 5.5,
"name": "Anishinaabe Jingle Dancing or other traditional American Indian dancing"
},
{
"accessLevel": "PUBLIC",
"hasSpeed": false,
"id": 3010,
"mets": 4.800000190734863,
"name": "Ballet"
},
{
"accessLevel": "PUBLIC",
"hasSpeed": false,
"id": 3040,
"mets": 3,
"name": "Ballroom, slow (e.g. waltz, foxtrot, slow dancing), samba, tango, 19th C, mambo, chacha"
},
{
"accessLevel": "PUBLIC",
"hasSpeed": false,
"id": 3031,
"mets": 5,
"name": "Dancing"
},
{
"accessLevel": "PUBLIC",
"hasSpeed": false,
"id": 3025,
"mets": 4.5,
"name": "General, Greek, Middle Eastern, hula, flamenco, belly, swing"
},
{
"accessLevel": "PUBLIC",
"hasSpeed": false,
"id": 56001,
"mets": 5.5,
"name": "Zumba"
}
],
"id": 0,
"name": "Dancing"
},
{
"activities": [
{
"accessLevel": "PUBLIC",
"hasSpeed": false,
"id": 4010,
"mets": 4,
"name": "Digging worms, with shovel"
},
{
"accessLevel": "PUBLIC",
"hasSpeed": false,
"id": 4001,
"mets": 3,
"name": "Fishing"
},
{
"accessLevel": "PUBLIC",
"hasSpeed": false,
"id": 4030,
"mets": 2.5,
"name": "Fishing from boat, sitting"
},
{
"accessLevel": "PUBLIC",
"hasSpeed": false,
"id": 4020,
"mets": 4,
"name": "Fishing from river bank and walking"
},
{
"accessLevel": "PUBLIC",
"hasSpeed": false,
"id": 4040,
"mets": 3.5,
"name": "Fishing from river bank, standing"
},
{
"accessLevel": "PUBLIC",
"hasSpeed": false,
"id": 4050,
"mets": 6,
"name": "Fishing in stream, in waders"
},
{
"accessLevel": "PUBLIC",
"hasSpeed": false,
"id": 4060,
"mets": 2,
"name": "Fishing, ice, sitting"
},
{
"accessLevel": "PUBLIC",
"hasSpeed": false,
"id": 4100,
"mets": 5,
"name": "Hunting"
},
{
"accessLevel": "PUBLIC",
"hasSpeed": false,
"id": 4070,
"mets": 2.5,
"name": "Hunting, bow and arrow or crossbow"
},
{
"accessLevel": "PUBLIC",
"hasSpeed": false,
"id": 4080,
"mets": 6,
"name": "Hunting, deer, elk, large game"
},
{
"accessLevel": "PUBLIC",
"hasSpeed": false,
"id": 4090,
"mets": 2.5,
"name": "Hunting, duck, wading"
},
{
"accessLevel": "PUBLIC",
"hasSpeed": false,
"id": 4110,
"mets": 6,
"name": "Hunting, pheasants or grouse"
},
{
"accessLevel": "PUBLIC",
"hasSpeed": false,
"id": 4120,
"mets": 5,
"name": "Hunting, rabbit, squirrel, prairie chick, raccoon, small game"
},
{
"accessLevel": "PUBLIC",
"hasSpeed": false,
"id": 4130,
"mets": 2.5,
"name": "Shooting"
}
],
"id": 1,
"name": "Fishing and Hunting"
}
]
}Am I doing something wrong when using the endpoint number 1?
Best Answer10-10-2020 22:14
Fitbit Developers oversee the SDK and API forums. We're here to answer questions about Fitbit developer tools, assist with projects, and make sure your voice is heard by the development team.
10-10-2020 22:14
Hi @rbsamoht
That is a known problem and we already have a ticket filed to engineering to fix the problem. I don't have a timeframe for when the fix will be available.
Gordon
Best Answer