Welltory AI Coach: Wellness & Lifestyle

Welltory AI Coach: Wellness & Lifestyle · GPT アクション

Welltory Wellness Data

Fetch Welltory biomarkers data for enriched Chat GPT conversations. Ideal for health and wellness insights.

  • GET /mydataFetch user wellness data from Welltory
元の API スキーマ
{
  "openapi": "3.1.0",
  "info": {
    "title": "Welltory Wellness Data",
    "description": "Fetch Welltory biomarkers data for enriched Chat GPT conversations. Ideal for health and wellness insights.",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://gpt-api.welltory.com"
    }
  ],
  "paths": {
    "/mydata": {
      "get": {
        "operationId": "getMyData",
        "summary": "Fetch user wellness data from Welltory",
        "parameters": [
          {
            "in": "query",
            "name": "reason",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Reason why user need this data"
          },
          {
            "in": "query",
            "name": "context",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Detailed context what user asking about for this request"
          },
          {
            "in": "query",
            "name": "reason_short",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Reason why user need this data in one word"
          },
          {
            "in": "query",
            "name": "context_short",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Detailed context what user asking about for this request in one word"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/myDataResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "userProfile": {
        "type": "object",
        "description": "User wellness metrics and parameters",
        "properties": {
          "name": {
            "type": "string",
            "example": "Jane Doe",
            "description": "User name"
          },
          "age": {
            "type": "integer",
            "example": 29,
            "description": "User age (full years)"
          },
          "gender": {
            "type": "string",
            "example": "f"
          },
          "language_settings": {
            "type": "string",
            "description": "User preferred language",
            "example": "ru"
          },
          "geo_country": {
            "type": "string",
            "example": "Thailand",
            "description": "User country of current location"
          },
          "geo_city": {
            "type": "string",
            "example": "Nathon",
            "description": "User place of current location"
          },
          "fitness_tracker": {
            "type": "string",
            "description": "User fitness tracker (if any)",
            "example": "applewatch"
          },
          "weight": {
            "type": "integer",
            "example": 90,
            "description": "User weight in kg"
          },
          "height": {
            "type": "integer",
            "example": 169,
            "description": "User height in cm"
          },
          "unit_system": {
            "type": "string",
            "example": "metric",
            "description": "User units of measurement - metric or imperial"
          }
        }
      },
      "userData": {
        "type": "object",
        "properties": {
          "categories": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/dataItem"
                  }
                }
              }
            }
          },
          "data_correlations": {
            "type": "array",
            "description": "Significant correlations between user data streams",
            "nullable": true,
            "items": {
              "type": "object",
              "properties": {
                "created": {
                  "type": "string",
                  "description": "Correlation date",
                  "example": "2023-12-05"
                },
                "causal_pairs": {
                  "type": "string",
                  "description": "Data types that are correlated",
                  "example": "Cloudiness - Stress (HRV)"
                },
                "comparison_offset": {
                  "type": "integer",
                  "description": "Lag (days), e.g., if it's 0 - X data affects Y data on the same day, if it's 1 - on the next day",
                  "example": 1
                },
                "value": {
                  "type": "number",
                  "description": "Correlation value, showing how much two variables change together. Positive means they move in sync, negative means one rises as the other falls",
                  "example": -0.4048
                }
              }
            }
          }
        }
      },
      "baselineChangeTrend": {
        "type": "object",
        "description": "Significant baseline changes with detected trend",
        "properties": {
          "trend_start_date": {
            "type": "string",
            "description": "The date when the trend for baseline change started",
            "example": "2023-11-08"
          },
          "start_baseline_value": {
            "oneOf": [
              {
                "type": "number"
              },
              {
                "type": "string"
              }
            ],
            "description": "The baseline value at the start of the trend",
            "example": 65.52
          },
          "trend_detection_date": {
            "type": "string",
            "description": "The date when the trend for baseline change was detected",
            "example": "2023-12-01"
          },
          "detection_baseline_value": {
            "oneOf": [
              {
                "type": "number"
              },
              {
                "type": "string"
              }
            ],
            "description": "The baseline value at the time of trend detection",
            "example": 70.45
          },
          "baselines_history": {
            "type": "array",
            "description": "History of baseline values with corresponding dates (between trend start date and detection date)",
            "items": {
              "type": "object",
              "example": "{\"2023-11-08\": 65.52}",
              "additionalProperties": {
                "oneOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string"
                  }
                ]
              }
            }
          }
        }
      },
      "dataItem": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "User data type title",
            "example": "Health"
          },
          "description": {
            "type": "string",
            "description": "User data type description",
            "example": "Your body's ability to maintain a stable internal environment, or homeostasis, based on your heart rate variability",
            "nullable": true
          },
          "trend_type": {
            "type": "string",
            "description": "How to evaluate changes in data",
            "example": "lower_is_better"
          },
          "unit": {
            "type": "string",
            "description": "Data value is measured in",
            "example": "h"
          },
          "today_values": {
            "type": "object",
            "description": "Data values for today",
            "example": "{\"2023-12-05T01:20:45\": 100}",
            "nullable": true,
            "additionalProperties": {
              "oneOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          "yesterday_values": {
            "type": "object",
            "description": "Data values for yesterday",
            "example": "{\"2023-12-04T00:08:25\": 50, \"2023-12-04T02:24:09\": 50}",
            "nullable": true,
            "additionalProperties": {
              "oneOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          "recent_values": {
            "type": "object",
            "description": "Data values for recent month. May be absent if there is baseline",
            "additionalProperties": {
              "oneOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          "baseline": {
            "type": "array",
            "description": "Base value for this data type and this user as of the current date",
            "nullable": true,
            "items": {
              "type": "object",
              "properties": {
                "value": {
                  "oneOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string"
                    }
                  ],
                  "description": "User baseline value for this data type",
                  "example": 74.5,
                  "nullable": true
                },
                "ranking_quantile_in_population": {
                  "type": "array",
                  "description": "User baseline value percentile of the comparable population distribution (reference group)",
                  "nullable": true,
                  "items": {
                    "type": "object",
                    "properties": {
                      "user_better_than_percent": {
                        "type": "number",
                        "description": "Percent of users in reference group with \"worse\" baseline values (depends on trend_type, \"lower_is_better\" or \"higher_is_better\")",
                        "example": 86.7
                      },
                      "reference_group_description": {
                        "type": "string",
                        "description": "Characteristics of user's reference group for this type of data. May include age, gender, bmi, workout and mediation activity. Empty string means \"all users\"",
                        "example": "gender_f,age_25-35,bmi_<=27,workout_no"
                      }
                    }
                  }
                }
              }
            }
          },
          "baseline_change_trend": {
            "$ref": "#/components/schemas/baselineChangeTrend"
          },
          "physical_norm": {
            "type": "string",
            "description": "Physiological normal range for this data type (if applicable)",
            "example": "80.0 - 60.0",
            "nullable": true
          }
        }
      },
      "myDataResponse": {
        "type": "object",
        "description": "User data",
        "properties": {
          "profile": {
            "$ref": "#/components/schemas/userProfile"
          },
          "recent_activity": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "tons_of_communication"
            },
            "description": "User recent last 2 weeks activity",
            "nullable": true
          },
          "lifestyle": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "example": "several times a week"
            },
            "description": "User lifestyle",
            "nullable": true
          },
          "menstrual_cycle": {
            "type": "string",
            "description": "User menstrual cycle (if applicable)",
            "example": "Days Since Last Period: 26 days. Current Possible Cycle Phase: Luteal Phase",
            "nullable": true
          },
          "instruction": {
            "type": "object",
            "description": "Set of instructions for GPT",
            "properties": {
              "title": {
                "type": "string"
              },
              "unit_system_preference": {
                "type": "string",
                "description": "Instructions for converting data to the user preferred measurement system"
              }
            }
          },
          "user_data": {
            "$ref": "#/components/schemas/userData"
          },
          "user_segments": {
            "type": "array",
            "description": "Groups we categorize users into, based on their data. Cover all life aspects: physical and mental health, behavior, habits, social status, personal traits, etc",
            "items": {
              "type": "string",
              "example": "Meditation Low"
            }
          }
        }
      }
    }
  }
}