User Profile & Settings

Get Profile

The Get Profile endpoint returns a user's profile. The authenticated owner receives all values. Access to other user's profile is not available. If you wish to retrieve the profile information of the authenticated owner's friends, use the Get Friends API. Numerical values are returned in the unit system specified in the Accept-Language header.

Resource URL

GET https://api.fitbit.com/1/user/[user-id]/profile.json
user-id The encoded ID of the user. Use "-" (dash) for current logged-in user.

Request Headers

Accept-Language optional The measurement unit system to use for response values.

Example Response Format

{
    "user": {
        "aboutMe":<value>,
        "avatar":<value>,
        "avatar150":<value>,
        "avatar640":<value>,
        "city":<value>,
        "clockTimeDisplayFormat":<12hour|24hour>,
        "country":<value>,
        "dateOfBirth":<value>,
        "displayName":<value>,
        "distanceUnit":<value>,
        "encodedId":<value>,
        "foodsLocale":<value>,
        "fullName":<value>,
        "gender":<FEMALE|MALE|NA>,
        "glucoseUnit":<value>,
        "height":<value>,
        "heightUnit":<value>,
        "locale":<value>,
        "memberSince":<value>,
        "offsetFromUTCMillis":<value>,
        "startDayOfWeek":<value>,
        "state":<value>,
        "strideLengthRunning":<value>,
        "strideLengthWalking":<value>,
        "timezone":<value>,
        "waterUnit":<value>,
        "weight":<value>,
        "weightUnit":<value>
    }
}

Considerations

  1. The field is present at all times. It contains one of the following:

  2. The user's fullName.

  3. A portion of user's email address before the at sign, "@". This is used in the case where the fullName field is empty.

  4. The Units fields (<glucoseUnit>, etc.) represent default unit settings of the user's Web UI. The field is also used as a default for all other body measurements (such as neck, bicep, etc.).

  5. The field indicates the local website version currently used (such as, en_US, en_GB, etc.).

Update Profile

The Update Profile endpoint updates a user's profile. Numerical values are accepted in the unit system specified in the Accept-Language header.

Resource URL

POST https://api.fitbit.com/1/user/[user-id]/profile.json
user-id The encoded ID of the user. Use "-" (dash) for current logged-in user.

POST Parameters

gender optional More accurately, sex; (MALE/FEMALE/NA)
birthday optional Date of birth; in the format yyyy-MM-dd
height optional Height; in the format X.XX, in the unit system that corresponds to the Accept-Language header provided
aboutMe optional About Me string
fullname optional Full name
country optional Country; two-character code
state optional US State; two-character code; valid only if country was or being set to US
city optional City
strideLengthWalking optional Walking stride length; in the format X.XX, in the unit system that corresponds to the Accept-Language header provided
strideLengthRunning optional Running stride length; in the format X.XX, in the unit system that corresponds to the Accept-Language header provided
weightUnit optional Default weight unit on website (doesn't affect API); one of (en_US, en_GB, "any" for METRIC)
heightUnit optional Default height/distance unit on website (doesn't affect API); one of (en_US, "any" for METRIC)
waterUnit optional Default water unit on website (doesn't affect API); one of (en_US, "any" for METRIC)
glucoseUnit optional Default glucose unit on website (doesn't affect API); one of (en_US, "any" for METRIC)
timezone optional Timezone; in the format "America/Los_Angeles"
foodsLocale optional Food Database Locale; in the format "xx_XX"
locale optional Locale of website (country/language); one of the locales, currently – (en_US, fr_FR, de_DE, es_ES, en_GB, en_AU, en_NZ, ja_JP)
localeLang optional Language; in the format "xx". You should specify either locale or both - localeLang and localeCountry (locale is higher priority).
localeCountry optional Country; in the format "XX". You should specify either locale or both - localeLang and localeCountry (locale is higher priority).
startDayOfWeek optional Start day of the week; what day the week should start on. Either Sunday or Monday.
clockTimeDisplayFormat optional How trackers with a clock should display the time. Either 12hour or 24hour.

Request Headers

Accept-Language optional The measurement unit system to use for response values.

Example Response Format

{
    "user": {
        "aboutMe":<value>,
        "avatar":<value>,
        "avatar150":<value>,
        "avatar640":<value>,
        "city":<value>,
        "clockTimeDisplayFormat":<12hour|24hour>,
        "country":<value>,
        "dateOfBirth":<value>,
        "displayName":<value>,
        "distanceUnit":<value>,
        "encodedId":<value>,
        "foodsLocale":<value>,
        "fullName":<value>,
        "gender":<FEMALE|MALE|NA>,
        "glucoseUnit":<value>,
        "height":<value>,
        "heightUnit":<value>,
        "locale":<value>,
        "memberSince":<value>,
        "offsetFromUTCMillis":<value>,
        "startDayOfWeek":<value>,
        "state":<value>,
        "strideLengthRunning":<value>,
        "strideLengthWalking":<value>,
        "timezone":<value>,
        "waterUnit":<value>,
        "weight":<value>,
        "weightUnit":<value>
    }
}

Get Badges

The Get Badges endpoint retrieves the user's badges in the format requested. Response includes all badges for the user as seen on the Fitbit website badge locker (both activity and weight related.) The endpoint returns weight and distance badges based on the user's unit profile preference as on the website.

Resource URL

GET https://api.fitbit.com/1/user/[user-id]/badges.json
user-id The encoded ID of the user. Use "-" (dash) for current logged-in user.

Request Headers

Accept-Language optional The measurement unit system to use for response values.

Example Response

{
    "badges":[
        {
            "badgeType":"DAILY_FLOORS",
            "dateTime":"2012-04-27",
            "image50px":"http://www.fitbit.com/images/dash/badge_daily_floors10.png",
            "image75px":"http://www.fitbit.com/images/dash/75px/badge_daily_floors10.png",
            "timesAchieved":3,
            "value":10
        },
        {
            "badgeType":"DAILY_FLOORS",
            "dateTime":"2012-04-27",
            "image50px":"http://www.fitbit.com/images/dash/badge_daily_floors25.png",
            "image75px":"http://www.fitbit.com/images/dash/75px/badge_daily_floors25.png",
            "timesAchieved":3,
            "value":25
        },
        {
            "badgeType":"DAILY_STEPS",
            "dateTime":"2012-04-27",
            "image50px":"http://www.fitbit.com/images/dash/badge_daily_steps5k.png",
            "image75px":"http://www.fitbit.com/images/dash/75px/badge_daily_steps5k.png",
            "timesAchieved":6,
            "value":5000
        },
        {
            "badgeType":"LIFETIME_KILOMETERS",
            "dateTime":"2011-09-26",
            "image50px":"http://www.fitbit.com/images/dash/badge_lifetime_kilometers50.png",
            "image75px":"http://www.fitbit.com/images/dash/75px/badge_lifetime_kilometers50.png",
            "timesAchieved":1,
            "unit":"KILOMETERS",
            "value":50
        },
        {
            "badgeType":"LIFETIME_FLOORS",
            "dateTime":"2011-09-27",
            "image50px":"http://www.fitbit.com/images/dash/badge_lifetime_floors500.png",
            "image75px":"http://www.fitbit.com/images/dash/75px/badge_lifetime_floors500.png",
            "name":"Helicopter",
            "timesAchieved":1,
            "value":500
        }
        {
            "badgeType":"GOAL_BASED_WEIGHT_LOSS_POUNDS",
            "dateTime":"2012-06-21",
            "image50px":"http://www.fitbit.com/images/dash/badge_weight_finish.png",
            "image75px":"http://www.fitbit.com/images/dash/75px/badge_weight_finish.png",
            "timesAchieved":1,
            "value":1
        },
        {
            "badgeType":"LIFETIME_LOSS_POUNDS",
            "dateTime":"2012-05-23",
            "image50px":"http://www.fitbit.com/images/dash/badge_lifetime_weight_teal.png",
            "image75px":"http://www.fitbit.com/images/dash/75px/badge_lifetime_weight_teal.png",
            "timesAchieved":1,
            "unit":"POUNDS",
            "value":-10
        },
        {
            "badgeType":"GOAL_BASED_WEIGHT_LOSS_ACHIEVEMENT",
            "dateTime":"2012-06-21",
            "image50px":"http://www.fitbit.com/images/dash/badge_weight_finish.png",
            "image75px":"http://www.fitbit.com/images/dash/75px/badge_weight_finish.png",
            "timesAchieved":1,
            "value":1
        }
    ]
}