WeFitter profile API

Profiles are containers for wearables data. The profiles can be seen as an extension of users in a different system. Profiles are anonymous objects which can participate in teams and challenges. Keep in mind, listing profiles and creating profiles need an administrative bearer token, all profile specific actions need a seperate bearer token that is returned after creating a profile. This bearer token is used in place of the administrative bearer token. (see profile create action for more information)

Operations 34

GET /profile/ List Profiles #
POST /profile/ Create Profile #
GET /profile/{profile_public_id}/activity_file/ #
GET /profile/{profile_public_id}/activity_file/{activity_id} #
GET /profile/{profile_public_id}/activity_segment/ Activity segment #
GET /profile/{profile_public_id}/biometric/ Bio Metric #
GET /profile/{profile_public_id}/biometric_measurement/ Biometric Measurement #
GET /profile/{profile_public_id}/bmi/ BMI #
GET /profile/{profile_public_id}/daily_detail/ Daily details #
GET /profile/{profile_public_id}/daily_summary/ Daily Summary #
GET /profile/{profile_public_id}/detail_sample/ Detail Sample #
GET /profile/{profile_public_id}/ecg_recordings/ Electrocardiograms #
GET /profile/{profile_public_id}/ecg_recordings/data/ Electrocardiogram data #
GET /profile/{profile_public_id}/ecg_recordings/pdf/ Electrocardiogram PDF #
GET /profile/{profile_public_id}/event/ Event #
POST /profile/{profile_public_id}/event/ Create Event #
GET /profile/{profile_public_id}/heartrate_sample/ Heart Rate Sample #
GET /profile/{profile_public_id}/heartrate_summary/ Heart Rate Summary #
GET /profile/{profile_public_id}/height/ Height #
GET /profile/{profile_public_id}/sleep_detail/ Sleep detail #
GET /profile/{profile_public_id}/sleep_sample/ Sleep Sample #
GET /profile/{profile_public_id}/sleep_summary/ Sleep Summary #
GET /profile/{profile_public_id}/stress_samples/ Stress Sample #
GET /profile/{profile_public_id}/stress_summary/ Stress Summary #
GET /profile/{profile_public_id}/track_sample/ Track Sample #
GET /profile/{profile_public_id}/weight/ Weight #
GET /profile/{profile_public_id}/workout/ Workout #
GET /profile/{public_id}/ Get Profile #
PUT /profile/{public_id}/ Update profile #
PATCH /profile/{public_id}/ Partial Update #
DELETE /profile/{public_id}/ Delete Profile #
GET /profile/{public_id}/challenge/ Challenge #
GET /profile/{public_id}/challenges/ #
GET /profile/{public_id}/connections/ Connections #

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/wefitter-profile-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

wefitter-profile-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: WeFitter app Profile API
  description: This is the WeFitter API
  termsOfService: https://www.wefitter.com/privacy/
  contact:
    email: hello@wefitter.com
  license:
    name: BSD License
  version: v1.3
servers:
- url: https://api.wefitter.com/api/v1.3
security:
- BearerProfile: []
tags:
- name: profile
  description: '

    Profiles are containers for wearables data.

    The profiles can be seen as an extension of users in a different system.

    Profiles are anonymous objects which can participate in teams and challenges.


    Keep in mind, listing profiles and creating profiles need an administrative bearer token, all profile specific actions

    need a seperate bearer token that is returned after creating a profile. This bearer token is used in place of the

    administrative bearer token. (see profile create action for more information)

    '
paths:
  /profile/:
    parameters: []
    get:
      operationId: profile_list
      summary: List Profiles
      description: Lists all available profiles
      parameters:
      - name: search
        in: query
        description: A search term.
        required: false
        schema:
          type: string
      - name: ordering
        in: query
        description: Which field to use when ordering the results.
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: offset
        in: query
        description: The initial index from which to return the results.
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                required:
                - count
                - results
                type: object
                properties:
                  count:
                    type: integer
                  next:
                    type:
                    - string
                    - 'null'
                    format: uri
                  previous:
                    type:
                    - string
                    - 'null'
                    format: uri
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/ProfileList'
      tags:
      - profile
      security:
      - BearerAdmin: []
      - BearerProfile: []
      deprecated: false
    post:
      operationId: profile_create
      summary: Create Profile
      description: '

        Creates a new profile.

        The bearer field contains a profile bearer token. When this is used in the Authorization header actions are performed

        as that profile, which will also enable access to private data.

        Using a profile bearer token disables administrative features such as creating profiles, making this token safe

        for ''public'' use.

        A profile bearer token has no expiration, so it remains valid as long as the profile is active.

        '
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileCreated'
      tags:
      - profile
      security:
      - BearerAdmin: []
      deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProfileCreated'
        required: true
  /profile/{profile_public_id}/activity_file/:
    parameters:
    - name: profile_public_id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: profile_activity_file_list
      description: ''
      responses:
        '200':
          description: ''
      tags:
      - profile
  /profile/{profile_public_id}/activity_file/{activity_id}:
    parameters:
    - name: profile_public_id
      in: path
      required: true
      schema:
        type: string
    - name: activity_id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: profile_activity_file_read
      description: ''
      responses:
        '200':
          description: ''
      tags:
      - profile
  /profile/{profile_public_id}/activity_segment/:
    parameters:
    - name: profile_public_id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: profile_activity_segment_list
      summary: Activity segment
      description: Lists segments of activities and small non-workout-like movements.
      parameters:
      - name: cursor
        in: query
        description: The pagination cursor value.
        required: false
        schema:
          type: string
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: date_start
        in: query
        description: Lower bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      - name: date_end
        in: query
        description: Upper bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: ''
          headers:
            api-results-next:
              description: Next page.
              schema:
                type: string
            api-results-previous:
              description: Previous page.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Activity'
      tags:
      - profile
      deprecated: false
  /profile/{profile_public_id}/biometric/:
    parameters:
    - name: profile_public_id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: profile_biometric_list
      summary: Bio Metric
      description: Lists changes in weight, height and bmi for the profile.
      parameters:
      - name: cursor
        in: query
        description: The pagination cursor value.
        required: false
        schema:
          type: string
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: date_start
        in: query
        description: Lower bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      - name: date_end
        in: query
        description: Upper bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: ''
          headers:
            api-results-next:
              description: Next page.
              schema:
                type: string
            api-results-previous:
              description: Previous page.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BioMetric'
      tags:
      - profile
      deprecated: false
  /profile/{profile_public_id}/biometric_measurement/:
    parameters:
    - name: profile_public_id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: profile_biometric_measurement_list
      summary: Biometric Measurement
      description: List changes in biometric measurements for the profile.
      parameters:
      - name: cursor
        in: query
        description: The pagination cursor value.
        required: false
        schema:
          type: string
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: date_start
        in: query
        description: Lower bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      - name: date_end
        in: query
        description: Upper bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      - name: measurement_type
        in: query
        required: true
        schema:
          type: string
          enum:
          - BLOOD_PRESSURE
          - BODY_FAT
          - BODY_FAT_MASS
          - GLUCOSE
          - SYSTOLIC_BP
          - DIASTOLIC_BP
          - PULSE_BP
          - TEMPERATURE
          - BLOOD_OXYGEN
          - HRV
          - VO2_MAX
          - METABOLIC_AGE
          - VASCULAR_AGE
          - VISCERAL_FAT
          - BODY_TEMPERATURE
          - SKIN_TEMPERATURE
          - BONE_MASS
          - MUSCLE_MASS
          - HYDRATION
          - BMR
          - FAT_RATIO
          - SPO2
          - OTHER
      responses:
        '200':
          description: ''
          headers:
            api-results-next:
              description: Next page.
              schema:
                type: string
            api-results-previous:
              description: Previous page.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BiometricMeasurement'
      tags:
      - profile
      deprecated: false
  /profile/{profile_public_id}/bmi/:
    parameters:
    - name: profile_public_id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: profile_bmi_list
      summary: BMI
      description: Presents the Body-Mass-Index over time.
      parameters:
      - name: cursor
        in: query
        description: The pagination cursor value.
        required: false
        schema:
          type: string
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: date_start
        in: query
        description: Lower bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      - name: date_end
        in: query
        description: Upper bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: ''
          headers:
            api-results-next:
              description: Next page.
              schema:
                type: string
            api-results-previous:
              description: Previous page.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BMI'
      tags:
      - profile
      deprecated: false
  /profile/{profile_public_id}/daily_detail/:
    parameters:
    - name: profile_public_id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: profile_daily_detail_list
      summary: Daily details
      description: Intraday data measured at a single point in time.
      parameters:
      - name: cursor
        in: query
        description: The pagination cursor value.
        required: false
        schema:
          type: string
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: date_start
        in: query
        description: Lower bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      - name: date_end
        in: query
        description: Upper bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: ''
          headers:
            api-results-next:
              description: Next page.
              schema:
                type: string
            api-results-previous:
              description: Previous page.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DailyDetail'
      tags:
      - profile
      deprecated: false
  /profile/{profile_public_id}/daily_summary/:
    parameters:
    - name: profile_public_id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: profile_daily_summary_list
      summary: Daily Summary
      description: Provides summarized data per day.
      parameters:
      - name: cursor
        in: query
        description: The pagination cursor value.
        required: false
        schema:
          type: string
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: date_start
        in: query
        description: Lower bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      - name: date_end
        in: query
        description: Upper bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      - name: deduplicate
        in: query
        description: If set to true, duplicates will be aggregated.
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: ''
          headers:
            api-results-next:
              description: Next page.
              schema:
                type: string
            api-results-previous:
              description: Previous page.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DailySummary'
      tags:
      - profile
      deprecated: false
  /profile/{profile_public_id}/detail_sample/:
    parameters:
    - name: profile_public_id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: profile_detail_sample_list
      summary: Detail Sample
      description: Presents detail samples.
      parameters:
      - name: cursor
        in: query
        description: The pagination cursor value.
        required: false
        schema:
          type: string
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: date_start
        in: query
        description: Lower bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      - name: date_end
        in: query
        description: Upper bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: ''
          headers:
            api-results-next:
              description: Next page.
              schema:
                type: string
            api-results-previous:
              description: Previous page.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DetailSample'
      tags:
      - profile
      deprecated: false
  /profile/{profile_public_id}/ecg_recordings/:
    parameters:
    - name: profile_public_id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: profile_ecg_recordings_list
      summary: Electrocardiograms
      description: '

        This endpoint returns a list of ECG recordings.

        '
      parameters:
      - name: cursor
        in: query
        description: The pagination cursor value.
        required: false
        schema:
          type: string
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: date_start
        in: query
        description: Lower bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      - name: date_end
        in: query
        description: Upper bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: ''
          headers:
            api-results-next:
              description: Next page.
              schema:
                type: string
            api-results-previous:
              description: Previous page.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ECGRecordings'
      tags:
      - profile
      deprecated: false
  /profile/{profile_public_id}/ecg_recordings/data/:
    parameters:
    - name: profile_public_id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: profile_ecg_recordings_data_list
      summary: Electrocardiogram data
      description: '

        This endpoint returns an ECG recording with data as an array of tuples `[(time, value)]`.

        Set the argument `date_end` to request a specific recording or leave it empty to receive the latest recording.

        '
      parameters:
      - name: cursor
        in: query
        description: The pagination cursor value.
        required: false
        schema:
          type: string
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: date_start
        in: query
        description: Lower bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      - name: date_end
        in: query
        description: Upper bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: ''
          headers:
            api-results-next:
              description: Next page.
              schema:
                type: string
            api-results-previous:
              description: Previous page.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ECGRecording'
      tags:
      - profile
      deprecated: false
  /profile/{profile_public_id}/ecg_recordings/pdf/:
    parameters:
    - name: profile_public_id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: profile_ecg_recordings_pdf_list
      summary: Electrocardiogram PDF
      description: Returns a PDF with generated ECG charts from a specific source and time. Contact api-support@wefitter.com to gain access.
      parameters:
      - name: datetime
        in: query
        description: The timestamp when the ECG has been recorded in the format `yyyymmddhhmmss`. e.g. `20210913132513`
        required: true
        schema:
          type: string
          format: date-time
      - name: source
        in: query
        required: true
        schema:
          type: string
          enum:
          - NONE
          - AGGREGATED
          - ANDROID
          - APPLE
          - FITBIT
          - GARMIN
          - GOOGLE_HEALTH
          - GOOGLEFIT
          - HEALTHCONNECT
          - HUAWEI
          - MYZONE
          - OMH
          - OMRON
          - OURA
          - POLAR
          - SAMSUNG
          - STRAVA
          - SUUNTO
          - WF
          - WHOOP
          - WITHINGS
      responses:
        '200':
          description: ''
      tags:
      - profile
      security:
      - BearerProfile: []
      deprecated: false
  /profile/{profile_public_id}/event/:
    parameters:
    - name: profile_public_id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: profile_event_list
      summary: Event
      description: Lists events, generic actions for which points have been awarded.
      parameters:
      - name: cursor
        in: query
        description: The pagination cursor value.
        required: false
        schema:
          type: string
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: date_start
        in: query
        description: Lower bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      - name: date_end
        in: query
        description: Upper bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: ''
          headers:
            api-results-next:
              description: Next page.
              schema:
                type: string
            api-results-previous:
              description: Previous page.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Event'
      tags:
      - profile
      deprecated: false
    post:
      operationId: profile_event_create
      summary: Create Event
      description: Create a new event for the profile.
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event'
      tags:
      - profile
      security:
      - BearerAdmin: []
      deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Event'
        required: true
  /profile/{profile_public_id}/heartrate_sample/:
    parameters:
    - name: profile_public_id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: profile_heartrate_sample_list
      summary: Heart Rate Sample
      description: Heart Rate measured at a single point in time.
      parameters:
      - name: cursor
        in: query
        description: The pagination cursor value.
        required: false
        schema:
          type: string
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: date_start
        in: query
        description: Lower bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      - name: date_end
        in: query
        description: Upper bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      - name: heart_rate_detail
        in: query
        description: If set to true it will add heart_rate_samples field
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: ''
          headers:
            api-results-next:
              description: Next page.
              schema:
                type: string
            api-results-previous:
              description: Previous page.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/HeartRateSample'
      tags:
      - profile
      deprecated: false
  /profile/{profile_public_id}/heartrate_summary/:
    parameters:
    - name: profile_public_id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: profile_heartrate_summary_list
      summary: Heart Rate Summary
      description: Presents heart rate information.
      parameters:
      - name: cursor
        in: query
        description: The pagination cursor value.
        required: false
        schema:
          type: string
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: date_start
        in: query
        description: Lower bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      - name: date_end
        in: query
        description: Upper bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: ''
          headers:
            api-results-next:
              description: Next page.
              schema:
                type: string
            api-results-previous:
              description: Previous page.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/HeartRateSummary'
      tags:
      - profile
      deprecated: false
  /profile/{profile_public_id}/height/:
    parameters:
    - name: profile_public_id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: profile_height_list
      summary: Height
      description: Lists changes in height for the profile.
      parameters:
      - name: cursor
        in: query
        description: The pagination cursor value.
        required: false
        schema:
          type: string
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: date_start
        in: query
        description: Lower bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      - name: date_end
        in: query
        description: Upper bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: ''
          headers:
            api-results-next:
              description: Next page.
              schema:
                type: string
            api-results-previous:
              description: Previous page.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Height'
      tags:
      - profile
      deprecated: false
  /profile/{profile_public_id}/sleep_detail/:
    parameters:
    - name: profile_public_id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: profile_sleep_detail_list
      summary: Sleep detail
      description: Provides sleep detail data.
      parameters:
      - name: cursor
        in: query
        description: The pagination cursor value.
        required: false
        schema:
          type: string
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: date_start
        in: query
        description: Lower bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      - name: date_end
        in: query
        description: Upper bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: ''
          headers:
            api-results-next:
              description: Next page.
              schema:
                type: string
            api-results-previous:
              description: Previous page.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SleepDetail'
      tags:
      - profile
      deprecated: false
  /profile/{profile_public_id}/sleep_sample/:
    parameters:
    - name: profile_public_id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: profile_sleep_sample_list
      summary: Sleep Sample
      description: 'Presents sample data for sleep: hrv, movement, heart_rate and sleep_stages,'
      parameters:
      - name: cursor
        in: query
        description: The pagination cursor value.
        required: false
        schema:
          type: string
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: date_start
        in: query
        description: Lower bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      - name: date_end
        in: query
        description: Upper bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: ''
          headers:
            api-results-next:
              description: Next page.
              schema:
                type: string
            api-results-previous:
              description: Previous page.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SleepSample'
      tags:
      - profile
      deprecated: false
  /profile/{profile_public_id}/sleep_summary/:
    parameters:
    - name: profile_public_id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: profile_sleep_summary_list
      summary: Sleep Summary
      description: Provides summarized sleep data.
      parameters:
      - name: cursor
        in: query
        description: The pagination cursor value.
        required: false
        schema:
          type: string
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: date_start
        in: query
        description: Lower bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      - name: date_end
        in: query
        description: Upper bound of date or timestamp.
        required: false
        schema:
          type: string
          format: date-time
      - name: detail
        in: query
        description: If set to true and only 1 result is returned, it will add a detail field
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: ''
          headers:
            api-results-next:
              description: Next page.
              schema:
                type: string
            api-results-previous:
              description: Previous page.
              schema:
                type:

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