Update Profile
chevron down
 

Update Profile

Modifies a user's profile data.

Scope: profile


Request

POST /1/user/[user-id]/profile.json

URI Arguments
user-id required The encoded ID of the user. Use "-" (dash) for current logged-in user.

Query Parameters
aboutMe optional Value of "About Me" field in user's profile. string
birthday optional Date of birth in the format yyyy-MM-dd. string ($date)
city optional Value of "City" field in user's profile. Location scope is required to update this value. string
clockTimeDisplayFormat optional How trackers with a clock should display the time. Either 12hour or 24hour. string
country optional Value of Country field in user's profile; two-character code. Location scope is required to update this value. string
foodsLocale optional Food Database Locale; in the format "xx_XX". Nutrition scope is required to update this value. string
fullName optional Fitbit user's full name. string
gender optional The Fitbit user's gender identity.
Supported values: MALE | FEMALE | NA
string
glucoseUnit optional Default glucose unit on website (doesn't affect API); one of (en_US, "any" for METRIC). string
height optional Height in the format X.XX. Displayed in the unit system that corresponds to the Accept-Language header provided. string ($decimal)
heightUnit optional Default height/distance unit on website (doesn't affect API); one of (en_US, "any" for METRIC). string
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). string
localeCountry optional Country; in the format xx. You should specify either locale or both - localeLang and localeCountry (locale is higher priority). string
localeLang optional Language; in the format xx. You should specify either locale or both - localeLang and localeCountry (locale is higher priority). string
startDayOfWeek optional Start day of the week; what day the week should start on. Either Sunday or Monday. string
state optional Value of "State" field in user's profile; two-character code. Valid only if country is set to US. Location scope is required to update this value. string
strideLengthRunning optional Walking stride length in the format X.XX. Displayed in the unit system that corresponds to the Accept-Language header provided. string ($decimal)
strideLengthWalking optional Walking stride length in the format X.XX. Displayed in the unit system that corresponds to the Accept-Language header provided. string ($decimal)
timezone optional Timezone; in the format "America/Los_Angeles". string
waterUnit optional Default water unit on website (doesn't affect API); one of (en_US, "any" for METRIC). Nutrition scope is required to update this value. string
weightUnit optional Default weight unit on website (doesn't affect API); one of (en_US, en_GB, "any" for METRIC). string

Request Headers
authorization required Specify the token type and Fitbit user’s access token.
Token type: Bearer
accept optional Defines the media type of the response content the client is expecting.
Supported: application/json
accept-language optional The measurement unit system to use for response values. See Localization.
accept-locale optional The locale to use for response values. See Localization.
content-length required According to RFC 7230, section 3.3.2, this HTTP request requires the Content-Length header field containing the anticipated size of the payload body.

Examples
POST https://api.fitbit.com/1/user/-/profile.json
POST https://api.fitbit.com/1/user/GGNJL9/profile.json
curl -X POST "https://api.fitbit.com/1/user/-/profile.json \
-F "country=US" \
-F "state=CA" \
-H "accept: application/json" \
-H "authorization: Bearer <access_token>" \
-H "content-length: <message_body_size>"


Response

Element Name Description
user : aboutMe The "About Me" information specified in the user's account settings.
user : age The age based on their specified birthday in the user's account settings.
user : ambassador Supported: true | false
user : autoStrideEnabled Supported: true | false
user : avatar The user's avatar picture displayed as 100 pixels square.
user : avatar150 The user's avatar picture displayed as 150 pixels square.
user : avatar640 The user's avatar picture displayed as 640 pixels square.
user : averageDailySteps Average daily steps calculated for the user.
user : challengesBeta Supported: true | false
user : city The city specified in the user's account settings. Location scope is required to see this value.
user : clockTimeDisplayFormat Supported: 12hour | 24hour
user : country The country specified in the user's account settings. Location scope is required to see this value.
user : corporate Supported: true | false
user : corporateAdmin Supported: true | false
user : dateOfBirth The birthday date specified in the user's account settings.
user : displayName The name shown when the user's friends look at their Fitbit profile, send a message, or other interactions within the Friends section of the Fitbit app or fitbit.com dashboard, such as challenges.
user : displayNameSetting Returns the displayName's attribute.
Supported: name | username
user : distanceUnit The unit system defined in the user's account settings. See Localization.
user : encodedId The ID representing the Fitbit user.
user : features : exerciseGoal Supported: true | false
user : firstName The first name value specified in the user's account settings.
user : foodsLocale The locale defined in the user's account settings. See Localization. Nutrition scope is required to see this value.
user : fullName The full name value specified in the user's account settings.
user : gender The user's specified gender.
Supported: MALE | FEMALE | NA
user : glucloseUnit The unit system defined in the user's account settings. See Localization.
user : height The height value specified in the user's account settings.
user : heightUnit The unit system defined in the user's account settings. See Localization.
user : isBugReportEnabled Supported: true | false
user : isChild Supported: true | false
user : isCoach Supported: true | false
user : languageLocale The language locale defined in the user's account settings. See Localization.
user : lastName The last name value specified in the user's account settings.
user : legalTermsAcceptRequired Supported: true | false
user : locale The locale defined in the user's account settings. See Localization.
user : memberSince The date the user created their Fitbit account.
user : mfaEnabled Supported: true | false
user : offsetFromUTCMillis The timezone offset in milliseconds from UTC.
user : phoneNumber Multi-factor Authentication is required to see this value.
user : sdkDeveloper Supported: true | false
user : sleepTracking The sleep sensitivity defined in the user's account settings.
Supported: Normal | Sensitive
user : startDayOfWeek The day the week begins as defined in the user's account settings.
Supported: SUNDAY | MONDAY
user : state Location scope is required to see this value.
user : strideLengthRunning The stride length value specified in the unit system defined in the user's account settings. See Localization.
user : strideLengthRunningType Specifies if the user's stride length is determined automatically (default) or manually as defined in the user's account settings.
Supported: default | manual
user : strideLengthWalking The stride length value specified in the unit system defined in the user's account settings. See Localization.
user : strideLengthWalkingType Specifies if the user's stride length is determined automatically (default) or manually as defined in the user's account settings.
Supported: default | manual
user : swimUnit The unit system defined in the user's account settings. See Localization.
user : temperatureUnit The unit system defined in the user's account settings. See Localization.
user : timezone The timezone defined in the user's account settings.
user : topBadges An array listing the Fitbit badges currently earned by the user.
user : waterUnit The unit system defined in the user's account settings. See Localization. Nutrition scope is required to see this value.
user : waterUnitName The unit of measure defined by the waterUnit metric. See Localization. Nutrition scope is required to see this value.
user : weight The user's current weight defined by the weightUnit metric. Body scope is required to see this value.
user : weightUnit The unit system defined in the user's account settings. See Localization.
{
  "user": {
    "aboutMe": <value>,
    "age": <value>,
    "ambassador": <value>,
    "autoStrideEnabled": <value>,
    "avatar": "<value>",
    "avatar150": "<value>",
    "avatar640": "<value>",
    "averageDailySteps": <value>,
    "challengesBeta": <value>,
    "clockTimeDisplayFormat": <value>,
    "country": <value>,
    "corporate": <value>,
    "corporateAdmin": <value>,
    "dateOfBirth": <value>,
    "displayName": <value>,
    "displayNameSetting": <value>,
    "distanceUnit": <value>,
    "encodedId": <value>,
    "features": {
      "exerciseGoal": <value>
    },
    "firstName": <value>,
    "foodsLocale": <value>,
    "fullName": <value>,
    "gender": <value>,
    "glucoseUnit": <value>,
    "height": <value>,
    "heightUnit": <value>,
    "isBugReportEnabled": <value>,
    "isChild": <value>,
    "isCoach": <value>,
    "languageLocale": <value>,
    "lastName": <value>,
    "legalTermsAcceptRequired": <value>,
    "locale": <value>,
    "memberSince": <value>,
    "mfaEnabled": <value>,
    "offsetFromUTCMillis": <value>,
    "sdkDeveloper": <value>,
    "sleepTracking": <value>,
    "startDayOfWeek": <value>,
    "state": <value>,
    "strideLengthRunning": <value>,
    "strideLengthRunningType": <value>,
    "strideLengthWalking": <value>,
    "strideLengthWalkingType": <value>,
    "swimUnit": <value>,
    "temperatureUnit": <value>,
    "timezone": <value>,
    "topBadges": [ <array of top badges received> ]
    "waterUnit": <value>,
    "waterUnitName": <value>,
    "weight": <value>,
    "weightUnit": <value>
  }
}
      

Response Headers
content-type The media type of the response content being sent to the client.
Supported: application/json.
fitbit-rate-limit-limit The quota number of calls.
fitbit-rate-limit-remaining The number of calls remaining before hitting the rate limit.
fitbit-rate-limit-reset The number of seconds until the rate limit resets.

Note: The rate limit headers are approximate and asynchronously updated. This means that there may be a minor delay in the decrementing of remaining requests. This could result in your application receiving an unexpected 429 response if you don't track the total number of requests you make yourself.

Response Type

HTTP Status Code HTTP response code. List of codes are found in the Troubleshooting Guide.
Status Message Description of the status code.
Response Body Contains the JSON response to the API call. When errors are returned by the API call, the errorType, fieldName and message text will provide more information to the cause of the failure.

Response Codes
201 A successful request.
400 The request had bad syntax or was inherently impossible to be satisfied.
401 The request requires user authentication.

Note: For a complete list of response codes, please refer to the Troubleshooting Guide.