Skip to content

Instantly share code, notes, and snippets.

@beohoang98
Last active November 9, 2019 05:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save beohoang98/1637a13ae37a7dd2418a7a7db4a31bf7 to your computer and use it in GitHub Desktop.
Save beohoang98/1637a13ae37a7dd2418a7a7db4a31bf7 to your computer and use it in GitHub Desktop.
fitbit-api.md

ACTIVITY

  • Get activity name (like Bicycle or Running or Walking, ...)

  • Calories of each activity

  • Duration (in second)

Detail
    {
        "activityId":1030,
        "calories":1721,
        "description":"Moderate - 12 to 13.9mph",
        "distance":1,
        "duration":3723000,
        "name":"Bicycling"
    },
    {
        "activityId":12030,
        "calories":1124,
        "description":"Running - 5 mph (12 min/mile)",
        "distance":2,
        "duration":7322000,
        "name":"Running"
    },
    {
        "activityId":18240,
        "calories":1476,
        "description":"",
        "distance":0,
        "duration":10983000,
        "name":"Swimming laps, freestyle, slow, moderate or light effort"
    },
    {
        "activityId":17151,
        "calories":357,
        "description":"Walking less than 2 mph, strolling very slowly",
        "distance":4,
        "duration":3723000,
        "name":"Walking"
    },
    {
        "activityId":18120,
        "calories":1291,
        "description":"",
        "distance":0,
        "duration":3723000,
        "name":"Sailing, boat and board sailing, windsurfing, ice sailing, general"
    }
]
  • Some Tracked Infomations
activities/calories         (Nang luong)
activities/caloriesBMR      
activities/steps            (So buoc chan)
activities/distance         (Do dai di duoc)
activities/floors           (So tang/lau da len)
activities/elevation        (Thang may)
activities/minutesSedentary     
activities/minutesLightlyActive
activities/minutesFairlyActive
activities/minutesVeryActive
activities/activityCalories
  • Can get detail of each activity
{
    "activities-log-steps":[
        {"dateTime":"2011-04-27","value":5490},
        {"dateTime":"2011-04-28","value":2344},
        {"dateTime":"2011-04-29","value":2779},
        {"dateTime":"2011-04-30","value":9196},
        {"dateTime":"2011-05-01","value":15828},
        {"dateTime":"2011-05-02","value":1945},
        {"dateTime":"2011-05-03","value":366}
    ]
}

BODY & WEIGHT (Manual input from user)

  • BML (Chi so gi do)
  • Fat number & Weight value
  • Time
  • Source (like API, Aria)
Fat logs
{
    "fat":[
        {
            "date":"2012-03-05",
            "fat":14,
            "logId":1330991999000,
            "time":"23:59:59",
            "source": "API"
        },
        {
            "date":"2012-03-05",
            "fat":13.5,
            "logId":1330991999000,
            "time":"21:20:59",
            "source":"Aria"
        }
    ]
}
Weight logs
{
    "weight":[
        {
            "bmi":23.57,
            "date":"2015-03-05",
            "logId":1330991999000,
            "time":"23:59:59",
            "weight":73,
            "source": "API"
        },
        {
            "bmi":22.57,
            "date":"2015-03-05",
            "logId":1330991999000,
            "time":"21:10:59",
            "weight":72.5,
            "source": "Aria"
        }
    ]
}

FOOD LOGGING (Manual input from user)

  • Food Logs

    • time/date
    • food info (name, gram, ...)
    • food summary (calories, protein, etc...)
    • total
    {
        "foods":[
            {
                "isFavorite":true,
                "logDate":"2011-06-29",
                "logId":1820,
                "loggedFood":{
                    "accessLevel":"PUBLIC",
                    "amount":132.57,
                    "brand":"",
                    "calories":752,
                    "foodId":18828,
                    "mealTypeId":4,
                    "locale":"en_US",
                    "name":"Chocolate, Milk",
                    "unit":{
                        "id":147,
                        "name":"gram",
                        "plural":"grams"
                    },
                    "units":[226,180,147,389]
                },
                "nutritionalValues":{
                    "calories":752,
                    "carbs":66.5,
                    "fat":49,
                    "fiber":0.5,
                    "protein":12.5,
                    "sodium":186
                }
            }
        ],
        "summary":{
            "calories":752,
            "carbs":66.5,
            "fat":49,
            "fiber":0.5,
            "protein":12.5,
            "sodium":186,
            "water":0
        },
        "goals":{
            "calories": 2286
        }
    }
  • Water Logs

    {
        "summary":{
           "water":800,
        },
        "water":[
            {"amount":500,"logId":950},
            {"amount":200,"logId":951},
            {"amount":100,"logId":952}
        ]
    }

HEART RATE

Ref

  • Get total by day or Get by time
    • Min or Max in a period of time
    • Exact value for each n(s)
  • Tag of each value (like after bed or Cardio (run) )
By Time Series
    {
    "activities-heart": [
        {
            "dateTime": "2015-08-04",
            "value": {
                "customHeartRateZones": [],
                "heartRateZones": [
                    {
                        "caloriesOut": 740.15264,
                        "max": 94,
                        "min": 30,
                        "minutes": 593,
                        "name": "Out of Range"
                    },
                    {
                        "caloriesOut": 249.66204,
                        "max": 132,
                        "min": 94,
                        "minutes": 46,
                        "name": "Fat Burn"
                    },
                    {
                        "caloriesOut": 0,
                        "max": 160,
                        "min": 132,
                        "minutes": 0,
                        "name": "Cardio"
                    },
                    {
                        "caloriesOut": 0,
                        "max": 220,
                        "min": 160,
                        "minutes": 0,
                        "name": "Peak"
                    }
                ],
                "restingHeartRate": 68
            }
        }
    ]
}
Intraday Time Series
{
    "activities-heart": [
        {
            "customHeartRateZones": [],
            "dateTime": "today",
            "heartRateZones": [
                {
                    "caloriesOut": 2.3246,
                    "max": 94,
                    "min": 30,
                    "minutes": 2,
                    "name": "Out of Range"
                },
                {
                    "caloriesOut": 0,
                    "max": 132,
                    "min": 94,
                    "minutes": 0,
                    "name": "Fat Burn"
                },
                {
                    "caloriesOut": 0,
                    "max": 160,
                    "min": 132,
                    "minutes": 0,
                    "name": "Cardio"
                },
                {
                    "caloriesOut": 0,
                    "max": 220,
                    "min": 160,
                    "minutes": 0,
                    "name": "Peak"
                }
            ],
            "value": "64.2"
        }
    ],
    "activities-heart-intraday": {
        "dataset": [
            {
                "time": "00:00:00",
                "value": 64
            },
            {
                "time": "00:00:10",
                "value": 63
            },
            {
                "time": "00:00:20",
                "value": 64
            },
            {
                "time": "00:00:30",
                "value": 65
            },
            {
                "time": "00:00:45",
                "value": 65
            }
        ],
        "datasetInterval": 1,
        "datasetType": "second"
    }
}

SLEEP

  • Sleep from each day
  • Length of sleep
  • Sleep start time
  • Sleep end time
Example
{
    "sleep": [
        {
            "dateOfSleep": "2017-04-02",
            "duration": <value in milliseconds>,
            "efficiency": <value>,
            "isMainSleep": true,
            "levels": {
                "summary": {
                    "deep": {
                        "count": <value>,
                        "minutes": <value>,
                        "thirtyDayAvgMinutes": <value>
                    },
                    "light": {
                        "count": <value>,
                        "minutes": <value>,
                        "thirtyDayAvgMinutes": <value>
                    },
                    "rem": {
                        "count": <value>,
                        "minutes": <value>,
                        "thirtyDayAvgMinutes": <value>
                    },
                    "wake": {
                        "count": <value>,
                        "minutes": <value>,
                        "thirtyDayAvgMinutes": <value>
                    }
                },
                "data": [
                    {
                        "datetime": "2017-04-01T23:58:30.000",
                        "level": "wake",
                        "seconds": <value>
                    },
                    {
                        "datetime": "2017-04-02T00:16:30.000",
                        "level": "rem",
                        "seconds": <value>
                    },
                    <...>
                ],
                "shortData": [
                    {
                        "datetime": "2017-04-02T05:58:30.000",
                        "level": "wake",
                        "seconds": <value>
                    },
                    <...>
                ]
            },
            "logId": <value>,
            "minutesAfterWakeup": <value>,
            "minutesAsleep": <value>,
            "minutesAwake": <value>,
            "minutesToFallAsleep": <value>, // this is generally 0 for autosleep created sleep logs
            "startTime": "2017-04-01T23:58:30.000",
            "timeInBed": <value in minutes>,
            "type": "stages"
        },
        {
            "dateOfSleep": "2017-04-02",
            "duration": <value in milliseconds>,
            "efficiency": <value>,
            "isMainSleep": false,
            "levels": {
                "data": [
                    {
                        "dateTime": "2017-04-02T12:06:00.000",
                        "level": "asleep",
                        "seconds": <value>
                    },
                    {
                        "dateTime": "2017-04-02T12:13:00.000",
                        "level": "restless",
                        "seconds": <value>
                    },
                    {
                        "dateTime": "2017-04-02T12:14:00.000",
                        "level": "awake",
                        "seconds": <value>
                    },
                    <...>
                ],
                "summary": {
                    "asleep": {
  • Can get sleep level
"sleep": [
        {
            "dateOfSleep": "2017-03-26",
            "duration": <value in milliseconds>,
            "efficiency": <value>,
            "levels": {
                "summary": {
                    "deep": {
                        "count": <value>,
                        "minutes": <value>,
                        "thirtyDayAvgMinutes": <value>
                    },
                    "light": {
                        "count": <value>,
                        "minutes": <value>,
                        "thirtyDayAvgMinutes": <value>
                    },
                    "rem": {
                        "count": <value>,
                        "minutes": <value>,
                        "thirtyDayAvgMinutes": <value>
                    },
                    "wake": {
                        "count": <value>,
                        "minutes": <value>,
                        "thirtyDayAvgMinutes": <value>
                    }
                },
                "data": [
                    {
                        "datetime": "2017-03-25T23:58:30.000",
                        "level": "wake",
                        "seconds": <value>
                    },
                    {
                        "datetime": "2017-03-26T00:16:30.000",
                        "level": "light",
                        "seconds": <value>
                    },
                    <...>
                ],
                "shortData": [
                    {
                        "datetime": "2017-03-26T05:58:30.000",
                        "level": "wake",
                        "seconds": <value>
                    },
                    <...>
                ]
            },
            "logId": <value>,
            "minutesAfterWakeup": <value>,
            "minutesAsleep": <value>,
            "minutesAwake": <value>,
            "minutesToFallAsleep": <value>, // this is generally 0 for autosleep created sleep logs
            "startTime": "2017-03-25T23:58:30.000",
            "timeInBed": <value in minutes>,
            "type": "stages"
        },
        <...>
    ]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment