Fitbit User API

Read and update the authorized Fitbit user's profile including display name, gender, birthday, height, weight, locale, timezone, and unit preferences (distance, weight, water, glucose, temperature).

Operations 48

GET /1/user/{user-id}/activities/date/{date}.json Get Daily Activity Summary #
POST /1/user/{user-id}/activities.json Log Activity #
DELETE /1/user/{user-id}/activities/{activity-log-id}.json Delete Activity Log #
GET /1/user/{user-id}/activities/list.json Get Activity Log List #
GET /1/user/{user-id}/activities/goals/{period}.json Get Activity Goals #
GET /1/user/{user-id}/activities/active-zone-minutes/date/{date}/{period}.json Get AZM Time Series By Date #
GET /1/user/{user-id}/activities/steps/date/{base-date}/{end-date}.json Get Activity Time Series By Date Range #
GET /1/user/{user-id}/body/log/weight/date/{date}.json Get Weight Logs By Date #
POST /1/user/{user-id}/body/log/weight/date/{date}.json Log Weight #
DELETE /1/user/{user-id}/body/log/weight/{weight-log-id}.json Delete Weight Log #
GET /1/user/{user-id}/body/log/fat/date/{date}.json Get Body Fat Logs By Date #
GET /1/user/{user-id}/body/{resource-path}/date/{date}/{period}.json Get Body Time Series By Date #
GET /1/user/{user-id}/body/log/weight/goal.json Get Body Weight Goal #
GET /1/user/{user-id}/devices.json Get Devices #
GET /1/user/{user-id}/devices/tracker/{tracker-id}/alarms.json Get Alarms #
POST /1/user/{user-id}/devices/tracker/{tracker-id}/alarms.json Add Alarm #
DELETE /1/user/{user-id}/devices/tracker/{tracker-id}/alarms/{alarm-id}.json Delete Alarm #
GET /1/user/{user-id}/ecg/list.json Get ECG Log List #
GET /1/user/{user-id}/irn/alerts/list.json Get IRN Alerts List #
GET /1/user/{user-id}/irn/profile.json Get IRN Profile #
GET /1.1/user/{user-id}/friends.json Get Friends #
GET /1.1/user/{user-id}/leaderboard/friends.json Get Friends Leaderboard #
GET /1/user/{user-id}/activities/heart/date/{date}/{period}.json Get Heart Rate Time Series By Date #
GET /1/user/{user-id}/activities/heart/date/{base-date}/{end-date}.json Get Heart Rate Time Series By Date Range #
GET /1/user/{user-id}/activities/heart/date/{date}/1d/{detail-level}.json Get Heart Rate Intraday Time Series #
GET /1/user/{user-id}/foods/log/date/{date}.json Get Food Logs By Date #
POST /1/user/{user-id}/foods/log.json Log Food #
DELETE /1/user/{user-id}/foods/log/{food-log-id}.json Delete Food Log #
GET /1/user/{user-id}/foods/log/water/date/{date}.json Get Water Logs #
POST /1/user/{user-id}/foods/log/water.json Log Water #
GET /1/user/{user-id}/foods/log/goal.json Get Food Goals #
GET /1.2/user/{user-id}/sleep/date/{date}.json Get Sleep Log By Date #
GET /1.2/user/{user-id}/sleep/date/{base-date}/{end-date}.json Get Sleep Log By Date Range #
GET /1.2/user/{user-id}/sleep/list.json Get Sleep Log List #
POST /1.2/user/{user-id}/sleep.json Log Sleep #
DELETE /1.2/user/{user-id}/sleep/{log-id}.json Delete Sleep Log #
GET /1/user/{user-id}/sleep/goal.json Get Sleep Goal #
POST /1/user/{user-id}/sleep/goal.json Update Sleep Goal #
GET /1/user/{user-id}/spo2/date/{date}.json Get SpO2 Summary By Date #
GET /1/user/{user-id}/spo2/date/{base-date}/{end-date}.json Get SpO2 Summary By Date Range #
GET /1/user/{user-id}/br/date/{date}.json Get Breathing Rate Summary By Date #
GET /1/user/{user-id}/temp/skin/date/{date}.json Get Skin Temperature Summary By Date #
GET /1/user/{user-id}/temp/core/date/{date}.json Get Core Temperature Summary By Date #
GET /1/user/{user-id}/hrv/date/{date}.json Get Heart Rate Variability By Date #
GET /1/user/{user-id}/cardioscore/date/{date}.json Get VO2 Max Summary By Date #
POST /1/user/{user-id}/{collection-path}/apiSubscriptions/{subscription-id}.json Create Subscription #
DELETE /1/user/{user-id}/{collection-path}/apiSubscriptions/{subscription-id}.json Delete Subscription #
GET /1/user/{user-id}/{collection-path}/apiSubscriptions.json Get Subscription List #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/fitbit-user-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

fitbit-user-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fitbit User API
  version: '1.0'
  description: 'Operations tagged User across 10 of this provider''s published API definitions: fitbit-activity-api-openapi.yml, fitbit-body-api-openapi.yml, fitbit-devices-api-openapi.yml, fitbit-ecg-irn-api-openapi.yml, fitbit-friends-api-openapi.yml, fitbit-heart-rate-api-openapi.yml, fitbit-nutrition-api-openapi.yml, fitbit-sleep-api-openapi.yml, fitbit-spo2-breathing-temperature-api-openapi.yml, fitbit-subscriptions-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.fitbit.com
  description: Fitbit Web API
tags:
- name: User
paths:
  /1/user/{user-id}/activities/date/{date}.json:
    get:
      summary: Get Daily Activity Summary
      description: Retrieves a summary and list of a user's activities and activity log entries for a given day.
      operationId: getDailyActivitySummary
      parameters:
      - $ref: '#/components/parameters/UserId'
      - name: date
        in: path
        required: true
        description: The date in the format YYYY-MM-DD or 'today'.
        schema:
          type: string
      responses:
        '200':
          description: Daily activity summary.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActivityDailySummary'
      tags:
      - User
      security:
      - OAuth2:
        - activity
    servers:
    - url: https://api.fitbit.com
      description: Fitbit Web API
  /1/user/{user-id}/activities.json:
    post:
      summary: Log Activity
      description: Logs an activity or creates a manual activity log entry for the user.
      operationId: logActivity
      parameters:
      - $ref: '#/components/parameters/UserId'
      - name: activityId
        in: query
        schema:
          type: integer
        description: The activity ID.
      - name: activityName
        in: query
        schema:
          type: string
      - name: manualCalories
        in: query
        schema:
          type: integer
      - name: startTime
        in: query
        required: true
        schema:
          type: string
      - name: durationMillis
        in: query
        required: true
        schema:
          type: integer
      - name: date
        in: query
        required: true
        schema:
          type: string
          format: date
      - name: distance
        in: query
        schema:
          type: number
      - name: distanceUnit
        in: query
        schema:
          type: string
      responses:
        '201':
          description: Activity log entry created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActivityLog'
      tags:
      - User
      security:
      - OAuth2:
        - activity
    servers:
    - url: https://api.fitbit.com
      description: Fitbit Web API
  /1/user/{user-id}/activities/{activity-log-id}.json:
    delete:
      summary: Delete Activity Log
      description: Deletes a user's activity log entry with the given ID.
      operationId: deleteActivityLog
      parameters:
      - $ref: '#/components/parameters/UserId'
      - name: activity-log-id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '204':
          description: Activity log deleted.
      tags:
      - User
      security:
      - OAuth2:
        - activity
    servers:
    - url: https://api.fitbit.com
      description: Fitbit Web API
  /1/user/{user-id}/activities/list.json:
    get:
      summary: Get Activity Log List
      description: Retrieves a list of a user's activity log entries before or after a given day with offset, limit, and sort order.
      operationId: getActivityLogList
      parameters:
      - $ref: '#/components/parameters/UserId'
      - name: beforeDate
        in: query
        schema:
          type: string
      - name: afterDate
        in: query
        schema:
          type: string
      - name: sort
        in: query
        schema:
          type: string
          enum:
          - asc
          - desc
      - name: limit
        in: query
        schema:
          type: integer
          maximum: 100
      - name: offset
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: Paginated activity log list.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActivityLogList'
      tags:
      - User
      security:
      - OAuth2:
        - activity
    servers:
    - url: https://api.fitbit.com
      description: Fitbit Web API
  /1/user/{user-id}/activities/goals/{period}.json:
    get:
      summary: Get Activity Goals
      description: Retrieves a user's current daily or weekly activity goals.
      operationId: getActivityGoals
      parameters:
      - $ref: '#/components/parameters/UserId'
      - name: period
        in: path
        required: true
        schema:
          type: string
          enum:
          - daily
          - weekly
      responses:
        '200':
          description: Activity goals.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActivityGoals'
      tags:
      - User
      security:
      - OAuth2:
        - activity
    servers:
    - url: https://api.fitbit.com
      description: Fitbit Web API
  /1/user/{user-id}/activities/active-zone-minutes/date/{date}/{period}.json:
    get:
      summary: Get AZM Time Series By Date
      description: Retrieves the user's Active Zone Minutes time series data for the given date and period.
      operationId: getAzmTimeSeriesByDate
      parameters:
      - $ref: '#/components/parameters/UserId'
      - name: date
        in: path
        required: true
        schema:
          type: string
      - name: period
        in: path
        required: true
        schema:
          type: string
          enum:
          - 1d
          - 7d
          - 30d
          - 1w
          - 1m
          - 3m
          - 6m
          - 1y
      responses:
        '200':
          description: Active Zone Minutes time series.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AzmTimeSeries'
      tags:
      - User
      security:
      - OAuth2:
        - activity
    servers:
    - url: https://api.fitbit.com
      description: Fitbit Web API
  /1/user/{user-id}/activities/steps/date/{base-date}/{end-date}.json:
    get:
      summary: Get Activity Time Series By Date Range
      description: Retrieves activity (steps) data over a date range for the user.
      operationId: getActivityTimeSeriesByDateRange
      parameters:
      - $ref: '#/components/parameters/UserId'
      - name: base-date
        in: path
        required: true
        schema:
          type: string
      - name: end-date
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Steps time series.
          content:
            application/json:
              schema:
                type: object
      tags:
      - User
      security:
      - OAuth2:
        - activity
    servers:
    - url: https://api.fitbit.com
      description: Fitbit Web API
  /1/user/{user-id}/body/log/weight/date/{date}.json:
    get:
      summary: Get Weight Logs By Date
      description: Retrieves a list of all user's weight log entries for a given day.
      operationId: getWeightLogsByDate
      parameters:
      - $ref: '#/components/parameters/UserId_2'
      - name: date
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Weight logs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WeightLogList'
      tags:
      - User
      security:
      - OAuth2:
        - weight
    post:
      summary: Log Weight
      description: Creates a log entry for a body weight.
      operationId: logWeight
      parameters:
      - $ref: '#/components/parameters/UserId_2'
      - name: weight
        in: query
        required: true
        schema:
          type: number
      - name: date
        in: query
        required: true
        schema:
          type: string
          format: date
      - name: time
        in: query
        schema:
          type: string
      responses:
        '201':
          description: Weight log created.
      tags:
      - User
      security:
      - OAuth2:
        - weight
    servers:
    - url: https://api.fitbit.com
  /1/user/{user-id}/body/log/weight/{weight-log-id}.json:
    delete:
      summary: Delete Weight Log
      description: Deletes a user's weight log entry with the given ID.
      operationId: deleteWeightLog
      parameters:
      - $ref: '#/components/parameters/UserId_2'
      - name: weight-log-id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '204':
          description: Weight log deleted.
      tags:
      - User
      security:
      - OAuth2:
        - weight
    servers:
    - url: https://api.fitbit.com
  /1/user/{user-id}/body/log/fat/date/{date}.json:
    get:
      summary: Get Body Fat Logs By Date
      description: Retrieves a list of all user's body fat log entries for a given day.
      operationId: getBodyFatLogsByDate
      parameters:
      - $ref: '#/components/parameters/UserId_2'
      - name: date
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Body fat logs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BodyFatLogList'
      tags:
      - User
      security:
      - OAuth2:
        - weight
    servers:
    - url: https://api.fitbit.com
  /1/user/{user-id}/body/{resource-path}/date/{date}/{period}.json:
    get:
      summary: Get Body Time Series By Date
      description: Retrieves the user's body data (weight, BMI, or fat) over a period of time.
      operationId: getBodyTimeSeriesByDate
      parameters:
      - $ref: '#/components/parameters/UserId_2'
      - name: resource-path
        in: path
        required: true
        schema:
          type: string
          enum:
          - bmi
          - fat
          - weight
      - name: date
        in: path
        required: true
        schema:
          type: string
      - name: period
        in: path
        required: true
        schema:
          type: string
          enum:
          - 1d
          - 7d
          - 30d
          - 1w
          - 1m
          - 3m
          - 6m
          - 1y
          - max
      responses:
        '200':
          description: Body time series.
          content:
            application/json:
              schema:
                type: object
      tags:
      - User
      security:
      - OAuth2:
        - weight
    servers:
    - url: https://api.fitbit.com
  /1/user/{user-id}/body/log/weight/goal.json:
    get:
      summary: Get Body Weight Goal
      description: Retrieves the user's current body weight goal.
      operationId: getBodyWeightGoal
      parameters:
      - $ref: '#/components/parameters/UserId_2'
      responses:
        '200':
          description: Body weight goal.
      tags:
      - User
      security:
      - OAuth2:
        - weight
    servers:
    - url: https://api.fitbit.com
  /1/user/{user-id}/devices.json:
    get:
      summary: Get Devices
      description: Returns a list of the Fitbit devices connected to a user's account.
      operationId: getDevices
      parameters:
      - $ref: '#/components/parameters/UserId_3'
      responses:
        '200':
          description: List of devices.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Device'
      tags:
      - User
      security:
      - OAuth2:
        - settings
    servers:
    - url: https://api.fitbit.com
  /1/user/{user-id}/devices/tracker/{tracker-id}/alarms.json:
    get:
      summary: Get Alarms
      description: Returns alarms for a device.
      operationId: getAlarms
      parameters:
      - $ref: '#/components/parameters/UserId_3'
      - name: tracker-id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: List of alarms.
      tags:
      - User
      security:
      - OAuth2:
        - settings
    post:
      summary: Add Alarm
      description: Adds the alarm settings to a given device.
      operationId: addAlarm
      parameters:
      - $ref: '#/components/parameters/UserId_3'
      - name: tracker-id
        in: path
        required: true
        schema:
          type: string
      - name: time
        in: query
        required: true
        schema:
          type: string
      - name: enabled
        in: query
        required: true
        schema:
          type: boolean
      - name: recurring
        in: query
        required: true
        schema:
          type: boolean
      - name: weekDays
        in: query
        schema:
          type: string
      responses:
        '201':
          description: Alarm created.
      tags:
      - User
      security:
      - OAuth2:
        - settings
    servers:
    - url: https://api.fitbit.com
  /1/user/{user-id}/devices/tracker/{tracker-id}/alarms/{alarm-id}.json:
    delete:
      summary: Delete Alarm
      description: Deletes a specific alarm entry for the given tracker.
      operationId: deleteAlarm
      parameters:
      - $ref: '#/components/parameters/UserId_3'
      - name: tracker-id
        in: path
        required: true
        schema:
          type: string
      - name: alarm-id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '204':
          description: Alarm deleted.
      tags:
      - User
      security:
      - OAuth2:
        - settings
    servers:
    - url: https://api.fitbit.com
  /1/user/{user-id}/ecg/list.json:
    get:
      summary: Get ECG Log List
      description: Returns a list of a user's ECG log entries before or after a given day with offset, limit, and sort order.
      operationId: getEcgLogList
      parameters:
      - $ref: '#/components/parameters/UserId_4'
      - name: beforeDate
        in: query
        schema:
          type: string
      - name: afterDate
        in: query
        schema:
          type: string
      - name: sort
        in: query
        schema:
          type: string
          enum:
          - asc
          - desc
      - name: limit
        in: query
        schema:
          type: integer
      - name: offset
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: ECG log list.
          content:
            application/json:
              schema:
                type: object
                properties:
                  ecgReadings:
                    type: array
                    items:
                      $ref: '#/components/schemas/EcgReading'
      tags:
      - User
      security:
      - OAuth2:
        - electrocardiogram
        - irregular_rhythm_notifications
    servers:
    - url: https://api.fitbit.com
  /1/user/{user-id}/irn/alerts/list.json:
    get:
      summary: Get IRN Alerts List
      description: Returns the user's Irregular Rhythm Notification alerts list.
      operationId: getIrnAlertsList
      parameters:
      - $ref: '#/components/parameters/UserId_4'
      - name: beforeDate
        in: query
        schema:
          type: string
      - name: afterDate
        in: query
        schema:
          type: string
      - name: sort
        in: query
        schema:
          type: string
      - name: limit
        in: query
        schema:
          type: integer
      - name: offset
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: IRN alerts list.
      tags:
      - User
      security:
      - OAuth2:
        - electrocardiogram
        - irregular_rhythm_notifications
    servers:
    - url: https://api.fitbit.com
  /1/user/{user-id}/irn/profile.json:
    get:
      summary: Get IRN Profile
      description: Returns the user's IRN profile and enrollment status.
      operationId: getIrnProfile
      parameters:
      - $ref: '#/components/parameters/UserId_4'
      responses:
        '200':
          description: IRN profile.
      tags:
      - User
      security:
      - OAuth2:
        - electrocardiogram
        - irregular_rhythm_notifications
    servers:
    - url: https://api.fitbit.com
  /1.1/user/{user-id}/friends.json:
    get:
      summary: Get Friends
      description: Returns data of a user's friends.
      operationId: getFriends
      parameters:
      - $ref: '#/components/parameters/UserId_5'
      responses:
        '200':
          description: List of friends.
      tags:
      - User
      security:
      - OAuth2:
        - social
    servers:
    - url: https://api.fitbit.com
  /1.1/user/{user-id}/leaderboard/friends.json:
    get:
      summary: Get Friends Leaderboard
      description: Returns the user's friends leaderboard ranked by activity.
      operationId: getFriendsLeaderboard
      parameters:
      - $ref: '#/components/parameters/UserId_5'
      responses:
        '200':
          description: Friends leaderboard.
      tags:
      - User
      security:
      - OAuth2:
        - social
    servers:
    - url: https://api.fitbit.com
  /1/user/{user-id}/activities/heart/date/{date}/{period}.json:
    get:
      summary: Get Heart Rate Time Series By Date
      description: Retrieves a user's heart rate time series for the given date and period.
      operationId: getHeartRateTimeSeriesByDate
      parameters:
      - $ref: '#/components/parameters/UserId_6'
      - name: date
        in: path
        required: true
        schema:
          type: string
      - name: period
        in: path
        required: true
        schema:
          type: string
          enum:
          - 1d
          - 7d
          - 30d
          - 1w
          - 1m
      responses:
        '200':
          description: Heart rate time series.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HeartRateTimeSeries'
      tags:
      - User
      security:
      - OAuth2:
        - heartrate
    servers:
    - url: https://api.fitbit.com
  /1/user/{user-id}/activities/heart/date/{base-date}/{end-date}.json:
    get:
      summary: Get Heart Rate Time Series By Date Range
      description: Retrieves a user's heart rate time series for the given date range.
      operationId: getHeartRateTimeSeriesByDateRange
      parameters:
      - $ref: '#/components/parameters/UserId_6'
      - name: base-date
        in: path
        required: true
        schema:
          type: string
      - name: end-date
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Heart rate time series.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HeartRateTimeSeries'
      tags:
      - User
      security:
      - OAuth2:
        - heartrate
    servers:
    - url: https://api.fitbit.com
  /1/user/{user-id}/activities/heart/date/{date}/1d/{detail-level}.json:
    get:
      summary: Get Heart Rate Intraday Time Series
      description: Retrieves the user's heart rate intraday time series at the requested detail level (1sec, 1min, 5min, or 15min). Requires Intraday access.
      operationId: getHeartRateIntradayTimeSeries
      parameters:
      - $ref: '#/components/parameters/UserId_6'
      - name: date
        in: path
        required: true
        schema:
          type: string
      - name: detail-level
        in: path
        required: true
        schema:
          type: string
          enum:
          - 1sec
          - 1min
          - 5min
          - 15min
      responses:
        '200':
          description: Heart rate intraday data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HeartRateIntraday'
      tags:
      - User
      security:
      - OAuth2:
        - heartrate
    servers:
    - url: https://api.fitbit.com
  /1/user/{user-id}/foods/log/date/{date}.json:
    get:
      summary: Get Food Logs By Date
      description: Retrieves a summary and list of a user's food log entries for a given day.
      operationId: getFoodLogsByDate
      parameters:
      - $ref: '#/components/parameters/UserId_7'
      - name: date
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Food log summary.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FoodLogResponse'
      tags:
      - User
      security:
      - OAuth2:
        - nutrition
    servers:
    - url: https://api.fitbit.com
  /1/user/{user-id}/foods/log.json:
    post:
      summary: Log Food
      description: Creates a food log entry for the user.
      operationId: logFood
      parameters:
      - $ref: '#/components/parameters/UserId_7'
      - name: foodId
        in: query
        schema:
          type: integer
      - name: foodName
        in: query
        schema:
          type: string
      - name: mealTypeId
        in: query
        required: true
        schema:
          type: integer
          enum:
          - 1
          - 2
          - 3
          - 4
          - 5
          - 6
          - 7
      - name: unitId
        in: query
        required: true
        schema:
          type: integer
      - name: amount
        in: query
        required: true
        schema:
          type: number
      - name: date
        in: query
        required: true
        schema:
          type: string
          format: date
      - name: calories
        in: query
        schema:
          type: integer
      - name: brandName
        in: query
        schema:
          type: string
      - name: nutritionValues
        in: query
        schema:
          type: string
      responses:
        '201':
          description: Food log entry created.
      tags:
      - User
      security:
      - OAuth2:
        - nutrition
    servers:
    - url: https://api.fitbit.com
  /1/user/{user-id}/foods/log/{food-log-id}.json:
    delete:
      summary: Delete Food Log
      description: Deletes a user's food log entry with the given ID.
      operationId: deleteFoodLog
      parameters:
      - $ref: '#/components/parameters/UserId_7'
      - name: food-log-id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '204':
          description: Food log deleted.
      tags:
      - User
      security:
      - OAuth2:
        - nutrition
    servers:
    - url: https://api.fitbit.com
  /1/user/{user-id}/foods/log/water/date/{date}.json:
    get:
      summary: Get Water Logs
      description: Retrieves a list of a user's water log entries for a given day.
      operationId: getWaterLogs
      parameters:
      - $ref: '#/components/parameters/UserId_7'
      - name: date
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Water logs.
      tags:
      - User
      security:
      - OAuth2:
        - nutrition
    servers:
    - url: https://api.fitbit.com
  /1/user/{user-id}/foods/log/water.json:
    post:
      summary: Log Water
      description: Creates a water log entry.
      operationId: logWater
      parameters:
      - $ref: '#/components/parameters/UserId_7'
      - name: date
        in: query
        required: true
        schema:
          type: string
          format: date
      - name: amount
        in: query
        required: true
        schema:
          type: number
      - name: unit
        in: query
        schema:
          type: string
          enum:
          - ml
          - fl oz
          - cup
      responses:
        '201':
          description: Water log created.
      tags:
      - User
      security:
      - OAuth2:
        - nutrition
    servers:
    - url: https://api.fitbit.com
  /1/user/{user-id}/foods/log/goal.json:
    get:
      summary: Get Food Goals
      description: Retrieves the user's current daily calorie consumption goal and/or food plan.
      operationId: getFoodGoals
      parameters:
      - $ref: '#/components/parameters/UserId_7'
      responses:
        '200':
          description: Food goals.
      tags:
      - User
      security:
      - OAuth2:
        - nutrition
    servers:
    - url: https://api.fitbit.com
  /1.2/user/{user-id}/sleep/date/{date}.json:
    get:
      summary: Get Sleep Log By Date
      description: Retrieves a list of a user's sleep log entries for a given date.
      operationId: getSleepLogByDate
      parameters:
      - $ref: '#/components/parameters/UserId_8'
      - name: date
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Sleep log.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SleepLog'
      tags:
      - User
      security:
      - OAuth2:
        - sleep
    servers:
    - url: https://api.fitbit.com
  /1.2/user/{user-id}/sleep/date/{base-date}/{end-date}.json:
    get:
      summary: Get Sleep Log By Date Range
      description: Retrieves a list of a user's sleep log entries over a date range.
      operationId: getSleepLogByDateRange
      parameters:
      - $ref: '#/components/parameters/UserId_8'
      - name: base-date
        in: path
        required: true
        schema:
          type: string
      - name: end-date
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Sleep log.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SleepLog'
      tags:
      - User
      security:
      - OAuth2:
        - sleep
    servers:
    - url: https://api.fitbit.com
  /1.2/user/{user-id}/sleep/list.json:
    get:
      summary: Get Sleep Log List
      description: Retrieves a list of sleep log entries before or after a given date with offset, limit, and sort order.
      operationId: getSleepLogList
      parameters:
      - $ref: '#/components/parameters/UserId_8'
      - name: beforeDate
        in: query
        schema:
          type: string
      - name: afterDate
        in: query
        schema:
          type: string
      - name: sort
        in: query
        schema:
          type: string
          enum:
          - asc
          - desc
      - name: limit
        in: query
        schema:
          type: integer
          maximum: 100
      - name: offset
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: Sleep log list.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SleepLog'
      tags:
      - User
      security:
      - OAuth2:
        - sleep
    servers:
    - url: https://api.fitbit.com
  /1.2/user/{user-id}/sleep.json:
    post:
      summary: Log Sleep
      description: Creates a sleep log entry for the user.
      operationId: logSleep
      parameters:
      - $ref: '#/components/parameters/UserId_8'
      - name: startTime
        in: query
        required: true
        schema:
          type: string
      - name: duration
        in: query
        required: true
        schema:
          type: integer
      - name: date
        in: query
        required: true
        schema:
          type: string
          format: date
      responses:
        '201':
          description: Sleep log created.
      tags:
      - User
      security:
      - OAuth2:
        - sleep
    servers:
    - url: https://api.fitbit.com
  /1.2/user/{user-id}/sleep/{log-id}.json:
    delete:
      summary: Delete Sleep Log
      description: Deletes a user's sleep log entry with the given ID.
      operationId: deleteSleepLog
      parameters:
      - $ref: '#/components/parameters/UserId_8'
      - name: log-id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '204':
          description: Sleep log deleted.
      tags:
      - User
      security:
      - OAuth2:
        - sleep
    servers:
    - url: https://api.fitbit.com
  /1/user/{user-id}/sleep/goal.json:
    get:
      summary: Get Sleep Goal
      description: Retrieves the user's current sleep goal.
      operationId: getSleepGoal
      parameters:
      - $ref: '#/components/parameters/UserId_8'
      responses:
        '200':
          description: Sleep goal.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SleepGoal'
      tags:
      - User
      security:
      - OAuth2:
        - sleep
    post:
      summary: Update Sleep Goal
      description: Creates or updates the user's sleep goal.
      operationId: updateSleepGoal
      parameters:
      - $ref: '#/components/parameters/UserId_8'
      - name: minDuration
        in: query
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Sleep goal updated.
      tags:
      - User
      security:
      - OAuth2:
        - sleep
    servers:
    - url: https://api.fitbit.com
  /1/user/{user-id}/spo2/date/{date}.json:
    get:
      summary: Get SpO2 Summary By Date
      description: Returns the daily summary of SpO2 measurements for the user.
      operationId: getSpo2SummaryByDate
      parameters:
      - $ref: '#/components/parameters/UserId_9'
      - name: date
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: SpO2 summary.
      tags:
      - User
      security:
      - OAuth2:
        - oxygen_saturation
        - respiratory_rate
        - temperature
        - heartrate
        - cardio_fitness
    servers:
    - url: https://api.fitbit.com
  /1/user/{user-id}/spo2/date/{base-date}/{end-date}.json:
    get:
      summary: Get SpO2 Summary By Date Range
      description: Returns daily SpO2 summary for a date range.
      operationId: getSpo2SummaryByDateRange
      parameters:
      - $ref: '#/components/parameters/UserId_9'
      - name: base-date
        in: path
        required: true
        schema:
          type: string
      - name: end-date
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: SpO2 summary.
      tags:
      - User
      security:
      - OAuth2:
        - oxygen_saturation
        - respiratory_rate
        - temperature
        - heartrate
        - cardio_fitness
    servers:
    - url: https://api.fitbit.com
  /1/user/{user-id}/br/date/{date}.json:
    get:
      summary: Get Breathing Rate Summary By Date
      description: Returns average breathing rate (breaths per minute) during sleep for the date.
      operationId: getBreathingRateByDate
      parameters:
      - $ref: '#/components/parameters/UserId_9'
      - name: date
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Breathing rate summary.
      tags:
      - User
      security:
      - OAuth2:
        - oxygen_saturation
        - respiratory_rate
        - temperature
        - heartrate
        - cardio_fitness
    servers:
    - url: https://api.fitbit.com
  /1/user/{user-id}/temp/skin/date/{date}.json:
    get:
      summary: Get Skin Temperature Summary By Date
      description: Returns skin temperature variation relative to the user's baseline.
      operationId: getSkinTemperatureByDate
      parameters:
      - $ref: '#/components/parameters/UserId_9'
      - name: date
        in: path
        required: true
        schema:
         

# --- truncated at 32 KB (49 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fitbit/refs/heads/main/openapi/fitbit-user-api-openapi.yml