google-api-python-client 2.196.0__py3-none-any.whl → 2.198.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. {google_api_python_client-2.196.0.dist-info → google_api_python_client-2.198.0.dist-info}/METADATA +1 -1
  2. {google_api_python_client-2.196.0.dist-info → google_api_python_client-2.198.0.dist-info}/RECORD +269 -264
  3. googleapiclient/discovery_cache/documents/accesscontextmanager.v1.json +6 -6
  4. googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json +10 -2
  5. googleapiclient/discovery_cache/documents/admin.directory_v1.json +14 -4
  6. googleapiclient/discovery_cache/documents/admin.directoryv1.json +14 -4
  7. googleapiclient/discovery_cache/documents/admin.reports_v1.json +8 -4
  8. googleapiclient/discovery_cache/documents/admin.reportsv1.json +8 -4
  9. googleapiclient/discovery_cache/documents/admob.v1.json +3 -3
  10. googleapiclient/discovery_cache/documents/admob.v1beta.json +3 -3
  11. googleapiclient/discovery_cache/documents/agentregistry.v1alpha.json +58 -46
  12. googleapiclient/discovery_cache/documents/aiplatform.v1.json +2128 -279
  13. googleapiclient/discovery_cache/documents/aiplatform.v1beta1.json +9049 -1244
  14. googleapiclient/discovery_cache/documents/alertcenter.v1beta1.json +17 -3
  15. googleapiclient/discovery_cache/documents/alloydb.v1.json +60 -7
  16. googleapiclient/discovery_cache/documents/alloydb.v1alpha.json +58 -2
  17. googleapiclient/discovery_cache/documents/alloydb.v1beta.json +58 -2
  18. googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json +39 -1
  19. googleapiclient/discovery_cache/documents/analyticsadmin.v1beta.json +5 -1
  20. googleapiclient/discovery_cache/documents/analyticshub.v1.json +39 -2
  21. googleapiclient/discovery_cache/documents/androidmanagement.v1.json +79 -2
  22. googleapiclient/discovery_cache/documents/androidpublisher.v3.json +73 -8
  23. googleapiclient/discovery_cache/documents/apigee.v1.json +12 -7
  24. googleapiclient/discovery_cache/documents/apphub.v1.json +5 -5
  25. googleapiclient/discovery_cache/documents/apphub.v1alpha.json +5 -5
  26. googleapiclient/discovery_cache/documents/artifactregistry.v1.json +292 -3
  27. googleapiclient/discovery_cache/documents/artifactregistry.v1beta1.json +3 -3
  28. googleapiclient/discovery_cache/documents/artifactregistry.v1beta2.json +3 -3
  29. googleapiclient/discovery_cache/documents/assuredworkloads.v1.json +83 -1
  30. googleapiclient/discovery_cache/documents/assuredworkloads.v1beta1.json +147 -1
  31. googleapiclient/discovery_cache/documents/authorizedbuyersmarketplace.v1alpha.json +2 -2
  32. googleapiclient/discovery_cache/documents/authorizedbuyersmarketplace.v1beta.json +2 -2
  33. googleapiclient/discovery_cache/documents/backupdr.v1.json +69 -5
  34. googleapiclient/discovery_cache/documents/batch.v1.json +2 -2
  35. googleapiclient/discovery_cache/documents/beyondcorp.v1.json +3 -3
  36. googleapiclient/discovery_cache/documents/beyondcorp.v1alpha.json +3 -3
  37. googleapiclient/discovery_cache/documents/bigquery.v2.json +144 -43
  38. googleapiclient/discovery_cache/documents/bigqueryconnection.v1.json +44 -1
  39. googleapiclient/discovery_cache/documents/bigquerydatapolicy.v2.json +20 -1
  40. googleapiclient/discovery_cache/documents/bigquerydatatransfer.v1.json +32 -1
  41. googleapiclient/discovery_cache/documents/bigtableadmin.v2.json +3 -3
  42. googleapiclient/discovery_cache/documents/blogger.v3.json +2 -2
  43. googleapiclient/discovery_cache/documents/calendar.v3.json +14 -5
  44. googleapiclient/discovery_cache/documents/ces.v1.json +625 -176
  45. googleapiclient/discovery_cache/documents/ces.v1beta.json +893 -181
  46. googleapiclient/discovery_cache/documents/chat.v1.json +49 -9
  47. googleapiclient/discovery_cache/documents/chromemanagement.v1.json +844 -3
  48. googleapiclient/discovery_cache/documents/chromewebstore.v2.json +39 -1
  49. googleapiclient/discovery_cache/documents/classroom.v1.json +29 -5
  50. googleapiclient/discovery_cache/documents/cloudbuild.v1.json +48 -1
  51. googleapiclient/discovery_cache/documents/cloudbuild.v2.json +3 -3
  52. googleapiclient/discovery_cache/documents/cloudchannel.v1.json +2 -2
  53. googleapiclient/discovery_cache/documents/clouddeploy.v1.json +70 -3
  54. googleapiclient/discovery_cache/documents/clouderrorreporting.v1beta1.json +163 -13
  55. googleapiclient/discovery_cache/documents/cloudidentity.v1.json +78 -5
  56. googleapiclient/discovery_cache/documents/cloudidentity.v1beta1.json +115 -5
  57. googleapiclient/discovery_cache/documents/cloudkms.v1.json +104 -45
  58. googleapiclient/discovery_cache/documents/cloudlocationfinder.v1.json +1 -3
  59. googleapiclient/discovery_cache/documents/cloudlocationfinder.v1alpha.json +1 -3
  60. googleapiclient/discovery_cache/documents/cloudnumberregistry.v1alpha.json +2534 -0
  61. googleapiclient/discovery_cache/documents/cloudproductregistry.v1.json +546 -0
  62. googleapiclient/discovery_cache/documents/cloudscheduler.v1.json +5 -5
  63. googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json +5 -5
  64. googleapiclient/discovery_cache/documents/cloudsearch.v1.json +4 -4
  65. googleapiclient/discovery_cache/documents/cloudsupport.v2.json +57 -2
  66. googleapiclient/discovery_cache/documents/cloudsupport.v2beta.json +21 -16
  67. googleapiclient/discovery_cache/documents/cloudtasks.v2.json +9 -9
  68. googleapiclient/discovery_cache/documents/cloudtasks.v2beta2.json +4 -68
  69. googleapiclient/discovery_cache/documents/cloudtasks.v2beta3.json +9 -9
  70. googleapiclient/discovery_cache/documents/cloudtrace.v1.json +223 -1
  71. googleapiclient/discovery_cache/documents/cloudtrace.v2.json +223 -1
  72. googleapiclient/discovery_cache/documents/cloudtrace.v2beta1.json +223 -1
  73. googleapiclient/discovery_cache/documents/composer.v1beta1.json +5 -1
  74. googleapiclient/discovery_cache/documents/compute.alpha.json +6106 -3346
  75. googleapiclient/discovery_cache/documents/compute.beta.json +2159 -404
  76. googleapiclient/discovery_cache/documents/compute.v1.json +511 -26
  77. googleapiclient/discovery_cache/documents/config.v1.json +62 -10
  78. googleapiclient/discovery_cache/documents/connectors.v1.json +48 -1
  79. googleapiclient/discovery_cache/documents/connectors.v2.json +170 -1
  80. googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json +238 -1790
  81. googleapiclient/discovery_cache/documents/container.v1.json +343 -71
  82. googleapiclient/discovery_cache/documents/container.v1beta1.json +334 -74
  83. googleapiclient/discovery_cache/documents/containeranalysis.v1.json +268 -65
  84. googleapiclient/discovery_cache/documents/containeranalysis.v1alpha1.json +266 -71
  85. googleapiclient/discovery_cache/documents/containeranalysis.v1beta1.json +269 -74
  86. googleapiclient/discovery_cache/documents/databasecenter.v1beta.json +3633 -0
  87. googleapiclient/discovery_cache/documents/dataflow.v1b3.json +11 -7
  88. googleapiclient/discovery_cache/documents/dataform.v1.json +32 -18
  89. googleapiclient/discovery_cache/documents/dataform.v1beta1.json +174 -18
  90. googleapiclient/discovery_cache/documents/datalineage.v1.json +344 -4
  91. googleapiclient/discovery_cache/documents/datamanager.v1.json +928 -44
  92. googleapiclient/discovery_cache/documents/datamigration.v1.json +29 -7
  93. googleapiclient/discovery_cache/documents/datamigration.v1beta1.json +5 -5
  94. googleapiclient/discovery_cache/documents/datapipelines.v1.json +2 -2
  95. googleapiclient/discovery_cache/documents/dataplex.v1.json +1185 -69
  96. googleapiclient/discovery_cache/documents/dataproc.v1.json +129 -73
  97. googleapiclient/discovery_cache/documents/datastream.v1.json +270 -1
  98. googleapiclient/discovery_cache/documents/developerconnect.v1.json +14 -1
  99. googleapiclient/discovery_cache/documents/developerknowledge.v1.json +2 -2
  100. googleapiclient/discovery_cache/documents/developerknowledge.v1alpha.json +83 -3
  101. googleapiclient/discovery_cache/documents/dfareporting.v4.json +10 -3
  102. googleapiclient/discovery_cache/documents/dfareporting.v5.json +12 -23
  103. googleapiclient/discovery_cache/documents/dialogflow.v2.json +211 -1
  104. googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json +211 -1
  105. googleapiclient/discovery_cache/documents/dialogflow.v3.json +142 -1
  106. googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json +142 -1
  107. googleapiclient/discovery_cache/documents/discoveryengine.v1.json +644 -37
  108. googleapiclient/discovery_cache/documents/discoveryengine.v1alpha.json +906 -37
  109. googleapiclient/discovery_cache/documents/discoveryengine.v1beta.json +528 -35
  110. googleapiclient/discovery_cache/documents/displayvideo.v2.json +176 -73
  111. googleapiclient/discovery_cache/documents/displayvideo.v3.json +211 -98
  112. googleapiclient/discovery_cache/documents/displayvideo.v4.json +215 -100
  113. googleapiclient/discovery_cache/documents/dlp.v2.json +521 -5
  114. googleapiclient/discovery_cache/documents/documentai.v1.json +140 -3
  115. googleapiclient/discovery_cache/documents/documentai.v1beta3.json +3 -3
  116. googleapiclient/discovery_cache/documents/domains.v1.json +10 -1
  117. googleapiclient/discovery_cache/documents/domains.v1alpha2.json +10 -1
  118. googleapiclient/discovery_cache/documents/domains.v1beta1.json +10 -1
  119. googleapiclient/discovery_cache/documents/eventarc.v1.json +6 -106
  120. googleapiclient/discovery_cache/documents/fcm.v1.json +12 -2
  121. googleapiclient/discovery_cache/documents/firebase.v1beta1.json +5 -1
  122. googleapiclient/discovery_cache/documents/firebaseappdistribution.v1.json +10 -3
  123. googleapiclient/discovery_cache/documents/firebaseappdistribution.v1alpha.json +5 -3
  124. googleapiclient/discovery_cache/documents/firebaseapphosting.v1.json +3 -3
  125. googleapiclient/discovery_cache/documents/firebaseapphosting.v1beta.json +22 -3
  126. googleapiclient/discovery_cache/documents/firebasedataconnect.v1.json +194 -9
  127. googleapiclient/discovery_cache/documents/firebasedataconnect.v1beta.json +194 -9
  128. googleapiclient/discovery_cache/documents/firebaseml.v2beta.json +301 -9
  129. googleapiclient/discovery_cache/documents/firestore.v1.json +5 -1
  130. googleapiclient/discovery_cache/documents/firestore.v1beta1.json +5 -1
  131. googleapiclient/discovery_cache/documents/gkebackup.v1.json +228 -2
  132. googleapiclient/discovery_cache/documents/gkehub.v1.json +2396 -1257
  133. googleapiclient/discovery_cache/documents/gkehub.v1alpha.json +438 -75
  134. googleapiclient/discovery_cache/documents/gkehub.v1beta.json +422 -73
  135. googleapiclient/discovery_cache/documents/gkehub.v1beta1.json +31 -1
  136. googleapiclient/discovery_cache/documents/gkehub.v2.json +47 -3
  137. googleapiclient/discovery_cache/documents/gkehub.v2alpha.json +47 -3
  138. googleapiclient/discovery_cache/documents/gkehub.v2beta.json +47 -3
  139. googleapiclient/discovery_cache/documents/gmail.v1.json +35 -9
  140. googleapiclient/discovery_cache/documents/gmailpostmastertools.v2.json +3 -3
  141. googleapiclient/discovery_cache/documents/health.v4.json +2040 -49
  142. googleapiclient/discovery_cache/documents/healthcare.v1.json +7 -3
  143. googleapiclient/discovery_cache/documents/healthcare.v1beta1.json +33 -3
  144. googleapiclient/discovery_cache/documents/homegraph.v1.json +95 -3
  145. googleapiclient/discovery_cache/documents/hypercomputecluster.v1.json +18 -14
  146. googleapiclient/discovery_cache/documents/iamcredentials.v1.json +3 -3
  147. googleapiclient/discovery_cache/documents/language.v1.json +37 -1
  148. googleapiclient/discovery_cache/documents/language.v1beta2.json +37 -1
  149. googleapiclient/discovery_cache/documents/language.v2.json +37 -1
  150. googleapiclient/discovery_cache/documents/logging.v2.json +59 -24
  151. googleapiclient/discovery_cache/documents/looker.v1.json +97 -15
  152. googleapiclient/discovery_cache/documents/managedidentities.v1.json +2 -2
  153. googleapiclient/discovery_cache/documents/managedidentities.v1alpha1.json +2 -2
  154. googleapiclient/discovery_cache/documents/managedidentities.v1beta1.json +2 -2
  155. googleapiclient/discovery_cache/documents/managedkafka.v1.json +19 -1
  156. googleapiclient/discovery_cache/documents/memcache.v1.json +3 -3
  157. googleapiclient/discovery_cache/documents/memcache.v1beta2.json +3 -3
  158. googleapiclient/discovery_cache/documents/merchantapi.accounts_v1.json +7 -5
  159. googleapiclient/discovery_cache/documents/merchantapi.accounts_v1beta.json +7 -5
  160. googleapiclient/discovery_cache/documents/merchantapi.conversions_v1.json +5 -3
  161. googleapiclient/discovery_cache/documents/merchantapi.conversions_v1beta.json +5 -3
  162. googleapiclient/discovery_cache/documents/merchantapi.datasources_v1.json +7 -5
  163. googleapiclient/discovery_cache/documents/merchantapi.datasources_v1beta.json +7 -5
  164. googleapiclient/discovery_cache/documents/merchantapi.inventories_v1.json +5 -3
  165. googleapiclient/discovery_cache/documents/merchantapi.inventories_v1beta.json +5 -3
  166. googleapiclient/discovery_cache/documents/merchantapi.issueresolution_v1.json +5 -3
  167. googleapiclient/discovery_cache/documents/merchantapi.issueresolution_v1beta.json +5 -3
  168. googleapiclient/discovery_cache/documents/merchantapi.lfp_v1.json +5 -3
  169. googleapiclient/discovery_cache/documents/merchantapi.lfp_v1beta.json +5 -3
  170. googleapiclient/discovery_cache/documents/merchantapi.notifications_v1.json +6 -4
  171. googleapiclient/discovery_cache/documents/merchantapi.notifications_v1beta.json +6 -4
  172. googleapiclient/discovery_cache/documents/merchantapi.ordertracking_v1.json +5 -3
  173. googleapiclient/discovery_cache/documents/merchantapi.ordertracking_v1beta.json +5 -3
  174. googleapiclient/discovery_cache/documents/merchantapi.products_v1.json +467 -7
  175. googleapiclient/discovery_cache/documents/merchantapi.products_v1beta.json +10 -3
  176. googleapiclient/discovery_cache/documents/merchantapi.promotions_v1.json +5 -3
  177. googleapiclient/discovery_cache/documents/merchantapi.promotions_v1beta.json +5 -3
  178. googleapiclient/discovery_cache/documents/merchantapi.quota_v1.json +5 -3
  179. googleapiclient/discovery_cache/documents/merchantapi.quota_v1beta.json +5 -3
  180. googleapiclient/discovery_cache/documents/merchantapi.reports_v1.json +6 -4
  181. googleapiclient/discovery_cache/documents/merchantapi.reports_v1beta.json +6 -4
  182. googleapiclient/discovery_cache/documents/merchantapi.reviews_v1beta.json +5 -3
  183. googleapiclient/discovery_cache/documents/migrationcenter.v1alpha1.json +76 -1
  184. googleapiclient/discovery_cache/documents/monitoring.v1.json +147 -3
  185. googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json +6 -1
  186. googleapiclient/discovery_cache/documents/mybusinessverifications.v1.json +1 -20
  187. googleapiclient/discovery_cache/documents/netapp.v1.json +258 -17
  188. googleapiclient/discovery_cache/documents/netapp.v1beta1.json +275 -17
  189. googleapiclient/discovery_cache/documents/networkconnectivity.v1.json +363 -3
  190. googleapiclient/discovery_cache/documents/networkconnectivity.v1alpha1.json +16 -1
  191. googleapiclient/discovery_cache/documents/networkmanagement.v1.json +1358 -18
  192. googleapiclient/discovery_cache/documents/networkmanagement.v1beta1.json +47 -3
  193. googleapiclient/discovery_cache/documents/networksecurity.v1.json +594 -3
  194. googleapiclient/discovery_cache/documents/networksecurity.v1beta1.json +1082 -8
  195. googleapiclient/discovery_cache/documents/networkservices.v1.json +1127 -126
  196. googleapiclient/discovery_cache/documents/networkservices.v1beta1.json +23 -11
  197. googleapiclient/discovery_cache/documents/notebooks.v1.json +3 -3
  198. googleapiclient/discovery_cache/documents/notebooks.v2.json +24 -7
  199. googleapiclient/discovery_cache/documents/observability.v1.json +76 -1
  200. googleapiclient/discovery_cache/documents/ondemandscanning.v1.json +253 -59
  201. googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json +253 -59
  202. googleapiclient/discovery_cache/documents/oracledatabase.v1.json +6720 -2499
  203. googleapiclient/discovery_cache/documents/orgpolicy.v2.json +30 -30
  204. googleapiclient/discovery_cache/documents/osconfig.v1.json +243 -1
  205. googleapiclient/discovery_cache/documents/osconfig.v1alpha.json +243 -1
  206. googleapiclient/discovery_cache/documents/osconfig.v1beta.json +243 -1
  207. googleapiclient/discovery_cache/documents/osconfig.v2.json +243 -1
  208. googleapiclient/discovery_cache/documents/osconfig.v2beta.json +243 -1
  209. googleapiclient/discovery_cache/documents/oslogin.v1.json +5 -1
  210. googleapiclient/discovery_cache/documents/oslogin.v1alpha.json +5 -1
  211. googleapiclient/discovery_cache/documents/oslogin.v1beta.json +5 -1
  212. googleapiclient/discovery_cache/documents/pagespeedonline.v5.json +5 -1
  213. googleapiclient/discovery_cache/documents/parametermanager.v1.json +1 -11
  214. googleapiclient/discovery_cache/documents/paymentsresellersubscription.v1.json +7 -4
  215. googleapiclient/discovery_cache/documents/places.v1.json +210 -12
  216. googleapiclient/discovery_cache/documents/policytroubleshooter.v3beta.json +17 -3
  217. googleapiclient/discovery_cache/documents/privateca.v1.json +13 -4
  218. googleapiclient/discovery_cache/documents/privateca.v1beta1.json +3 -3
  219. googleapiclient/discovery_cache/documents/pubsub.v1.json +40 -3
  220. googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json +6 -4
  221. googleapiclient/discovery_cache/documents/redis.v1.json +348 -33
  222. googleapiclient/discovery_cache/documents/redis.v1beta1.json +348 -33
  223. googleapiclient/discovery_cache/documents/retail.v2.json +5 -5
  224. googleapiclient/discovery_cache/documents/retail.v2alpha.json +5 -5
  225. googleapiclient/discovery_cache/documents/retail.v2beta.json +5 -5
  226. googleapiclient/discovery_cache/documents/run.v1.json +27 -14
  227. googleapiclient/discovery_cache/documents/run.v2.json +58 -13
  228. googleapiclient/discovery_cache/documents/saasservicemgmt.v1.json +75 -32
  229. googleapiclient/discovery_cache/documents/saasservicemgmt.v1beta1.json +949 -80
  230. googleapiclient/discovery_cache/documents/searchads360.v23.json +59984 -0
  231. googleapiclient/discovery_cache/documents/securitycenter.v1.json +1568 -3723
  232. googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json +1358 -3043
  233. googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json +1417 -3068
  234. googleapiclient/discovery_cache/documents/securityposture.v1.json +4 -4
  235. googleapiclient/discovery_cache/documents/servicecontrol.v1.json +9 -1
  236. googleapiclient/discovery_cache/documents/servicecontrol.v2.json +9 -1
  237. googleapiclient/discovery_cache/documents/servicedirectory.v1.json +3 -3
  238. googleapiclient/discovery_cache/documents/servicedirectory.v1beta1.json +3 -3
  239. googleapiclient/discovery_cache/documents/servicemanagement.v1.json +5 -3
  240. googleapiclient/discovery_cache/documents/sheets.v4.json +4 -4
  241. googleapiclient/discovery_cache/documents/solar.v1.json +46 -1
  242. googleapiclient/discovery_cache/documents/sqladmin.v1.json +342 -19
  243. googleapiclient/discovery_cache/documents/sqladmin.v1beta4.json +342 -19
  244. googleapiclient/discovery_cache/documents/storage.v1.json +12 -2
  245. googleapiclient/discovery_cache/documents/storagebatchoperations.v1.json +209 -49
  246. googleapiclient/discovery_cache/documents/tagmanager.v2.json +134 -1
  247. googleapiclient/discovery_cache/documents/threatintelligence.v1beta.json +479 -3
  248. googleapiclient/discovery_cache/documents/toolresults.v1beta3.json +11 -3
  249. googleapiclient/discovery_cache/documents/trafficdirector.v2.json +11 -1
  250. googleapiclient/discovery_cache/documents/travelimpactmodel.v1.json +408 -3
  251. googleapiclient/discovery_cache/documents/vault.v1.json +35 -13
  252. googleapiclient/discovery_cache/documents/vmmigration.v1.json +12 -3
  253. googleapiclient/discovery_cache/documents/vmmigration.v1alpha1.json +12 -3
  254. googleapiclient/discovery_cache/documents/vmwareengine.v1.json +80 -2
  255. googleapiclient/discovery_cache/documents/vpcaccess.v1.json +3 -3
  256. googleapiclient/discovery_cache/documents/vpcaccess.v1beta1.json +3 -3
  257. googleapiclient/discovery_cache/documents/walletobjects.v1.json +6 -1
  258. googleapiclient/discovery_cache/documents/webcontentpublisher.v1.json +167 -0
  259. googleapiclient/discovery_cache/documents/webrisk.v1.json +2 -2
  260. googleapiclient/discovery_cache/documents/workloadmanager.v1.json +213 -213
  261. googleapiclient/discovery_cache/documents/workspaceevents.v1.json +36 -1
  262. googleapiclient/discovery_cache/documents/workstations.v1.json +43 -3
  263. googleapiclient/discovery_cache/documents/workstations.v1beta.json +41 -1
  264. googleapiclient/discovery_cache/documents/youtube.v3.json +201 -33
  265. googleapiclient/discovery_cache/documents/youtubereporting.v1.json +6 -1
  266. googleapiclient/version.py +1 -1
  267. {google_api_python_client-2.196.0.dist-info → google_api_python_client-2.198.0.dist-info}/WHEEL +0 -0
  268. {google_api_python_client-2.196.0.dist-info → google_api_python_client-2.198.0.dist-info}/licenses/LICENSE +0 -0
  269. {google_api_python_client-2.196.0.dist-info → google_api_python_client-2.198.0.dist-info}/top_level.txt +0 -0
@@ -4,6 +4,51 @@
4
4
  "scopes": {
5
5
  "https://www.googleapis.com/auth/cloud-platform": {
6
6
  "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
7
+ },
8
+ "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly": {
9
+ "description": "See your Google Health activity and fitness data"
10
+ },
11
+ "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly": {
12
+ "description": "Add activity and fitness data to Google Health, and edit or delete the data it adds."
13
+ },
14
+ "https://www.googleapis.com/auth/googlehealth.ecg.readonly": {
15
+ "description": "See your Google Health ECG data"
16
+ },
17
+ "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly": {
18
+ "description": "See your Google Health health metrics and measurement data"
19
+ },
20
+ "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly": {
21
+ "description": "Add health metric and measurements data to Google Health, and edit or delete the data it adds."
22
+ },
23
+ "https://www.googleapis.com/auth/googlehealth.irn.readonly": {
24
+ "description": "See your Google Health Irregular Rhythm Notifications data"
25
+ },
26
+ "https://www.googleapis.com/auth/googlehealth.location.readonly": {
27
+ "description": "See exercise GPS location data in Google Health"
28
+ },
29
+ "https://www.googleapis.com/auth/googlehealth.location.writeonly": {
30
+ "description": "Add exercise GPS location data to Google Health, and edit or delete the data it adds."
31
+ },
32
+ "https://www.googleapis.com/auth/googlehealth.nutrition.writeonly": {
33
+ "description": "Add nutrition data to Google Health, and edit or delete the data it adds."
34
+ },
35
+ "https://www.googleapis.com/auth/googlehealth.profile.readonly": {
36
+ "description": "See your Google Health profile data"
37
+ },
38
+ "https://www.googleapis.com/auth/googlehealth.profile.writeonly": {
39
+ "description": "Add profile data to Google Health, and edit or delete the data it adds."
40
+ },
41
+ "https://www.googleapis.com/auth/googlehealth.settings.readonly": {
42
+ "description": "See your Google Health settings"
43
+ },
44
+ "https://www.googleapis.com/auth/googlehealth.settings.writeonly": {
45
+ "description": "Add settings data to Google Health, and edit or delete the data it adds."
46
+ },
47
+ "https://www.googleapis.com/auth/googlehealth.sleep.readonly": {
48
+ "description": "See your Google Health sleep data"
49
+ },
50
+ "https://www.googleapis.com/auth/googlehealth.sleep.writeonly": {
51
+ "description": "Add sleep data to Google Health, and edit or delete the data it adds."
7
52
  }
8
53
  }
9
54
  }
@@ -242,6 +287,145 @@
242
287
  "https://www.googleapis.com/auth/cloud-platform"
243
288
  ]
244
289
  }
290
+ },
291
+ "resources": {
292
+ "subscriptions": {
293
+ "methods": {
294
+ "create": {
295
+ "description": "Creates a subscription for a specific user to a specific subscriber. This method requires the subscriber to have a `SubscriptionCreatePolicy` set to `MANUAL` for the given data types.",
296
+ "flatPath": "v4/projects/{projectsId}/subscribers/{subscribersId}/subscriptions",
297
+ "httpMethod": "POST",
298
+ "id": "health.projects.subscribers.subscriptions.create",
299
+ "parameterOrder": [
300
+ "parent"
301
+ ],
302
+ "parameters": {
303
+ "parent": {
304
+ "description": "Required. The parent subscriber. Format: projects/{project}/subscribers/{subscriber} The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise.",
305
+ "location": "path",
306
+ "pattern": "^projects/[^/]+/subscribers/[^/]+$",
307
+ "required": true,
308
+ "type": "string"
309
+ },
310
+ "subscriptionId": {
311
+ "description": "Optional. The {subscription_id} is user-settable (4-36 chars, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) or system-generated otherwise. If provided, the ID must be unique within the parent subscriber.",
312
+ "location": "query",
313
+ "type": "string"
314
+ }
315
+ },
316
+ "path": "v4/{+parent}/subscriptions",
317
+ "request": {
318
+ "$ref": "CreateSubscriptionPayload"
319
+ },
320
+ "response": {
321
+ "$ref": "Subscription"
322
+ },
323
+ "scopes": [
324
+ "https://www.googleapis.com/auth/cloud-platform"
325
+ ]
326
+ },
327
+ "delete": {
328
+ "description": "Deletes a specific user subscription, stopping notifications for this user to this subscriber.",
329
+ "flatPath": "v4/projects/{projectsId}/subscribers/{subscribersId}/subscriptions/{subscriptionsId}",
330
+ "httpMethod": "DELETE",
331
+ "id": "health.projects.subscribers.subscriptions.delete",
332
+ "parameterOrder": [
333
+ "name"
334
+ ],
335
+ "parameters": {
336
+ "name": {
337
+ "description": "Required. The resource name of the subscription to delete. Format: `projects/{project}/subscribers/{subscriber}/subscriptions/{subscription}` Example: `projects/my-project/subscribers/my-subscriber-123/subscriptions/my-subscription-456` The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise. The {subscription} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) or system-generated if not provided during creation.",
338
+ "location": "path",
339
+ "pattern": "^projects/[^/]+/subscribers/[^/]+/subscriptions/[^/]+$",
340
+ "required": true,
341
+ "type": "string"
342
+ }
343
+ },
344
+ "path": "v4/{+name}",
345
+ "response": {
346
+ "$ref": "Empty"
347
+ },
348
+ "scopes": [
349
+ "https://www.googleapis.com/auth/cloud-platform"
350
+ ]
351
+ },
352
+ "list": {
353
+ "description": "Lists all active subscriptions for a given subscriber. This can be filtered, for example, by user or data type.",
354
+ "flatPath": "v4/projects/{projectsId}/subscribers/{subscribersId}/subscriptions",
355
+ "httpMethod": "GET",
356
+ "id": "health.projects.subscribers.subscriptions.list",
357
+ "parameterOrder": [
358
+ "parent"
359
+ ],
360
+ "parameters": {
361
+ "filter": {
362
+ "description": "Optional. A filter to apply to the list of subscriptions. The filter syntax is described in https://google.aip.dev/160. The filter can be applied to the following fields: - `user` - `data_type` The `user` identifier (e.g., `user1` in `users/user1`) refers to the public `health_user_id` Example: user = \"users/user1\" Example: user = \"users/user1\" OR user = \"users/user2\" Example: user = \"users/user1\" AND (data_type = \"sleep\" OR data_type = \"weight\")",
363
+ "location": "query",
364
+ "type": "string"
365
+ },
366
+ "pageSize": {
367
+ "description": "Optional. The maximum number of subscriptions to return. The service may return fewer than this value. If unspecified, at most 50 subscriptions will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.",
368
+ "format": "int32",
369
+ "location": "query",
370
+ "type": "integer"
371
+ },
372
+ "pageToken": {
373
+ "description": "Optional. A page token, received from a previous `ListSubscriptions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSubscriptions` must match the call that provided the page token.",
374
+ "location": "query",
375
+ "type": "string"
376
+ },
377
+ "parent": {
378
+ "description": "Required. The parent subscriber. Format: projects/{project}/subscribers/{subscriber} The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise.",
379
+ "location": "path",
380
+ "pattern": "^projects/[^/]+/subscribers/[^/]+$",
381
+ "required": true,
382
+ "type": "string"
383
+ }
384
+ },
385
+ "path": "v4/{+parent}/subscriptions",
386
+ "response": {
387
+ "$ref": "ListSubscriptionsResponse"
388
+ },
389
+ "scopes": [
390
+ "https://www.googleapis.com/auth/cloud-platform"
391
+ ]
392
+ },
393
+ "patch": {
394
+ "description": "Updates the data types for an existing user subscription.",
395
+ "flatPath": "v4/projects/{projectsId}/subscribers/{subscribersId}/subscriptions/{subscriptionsId}",
396
+ "httpMethod": "PATCH",
397
+ "id": "health.projects.subscribers.subscriptions.patch",
398
+ "parameterOrder": [
399
+ "name"
400
+ ],
401
+ "parameters": {
402
+ "name": {
403
+ "description": "Identifier. The resource name of the Subscription. Format: `projects/{project}/subscribers/{subscriber}/subscriptions/{subscription}` Example: `projects/my-project/subscribers/my-subscriber-123/subscriptions/my-subscription-456` The {project} ID is mandatory (6-30 characters, matching /a-z{6,30}/) The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise. The {subscription} ID is user-settable (4-36 chars, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) or system-generated otherwise.",
404
+ "location": "path",
405
+ "pattern": "^projects/[^/]+/subscribers/[^/]+/subscriptions/[^/]+$",
406
+ "required": true,
407
+ "type": "string"
408
+ },
409
+ "updateMask": {
410
+ "description": "Optional. The list of fields to update.",
411
+ "format": "google-fieldmask",
412
+ "location": "query",
413
+ "type": "string"
414
+ }
415
+ },
416
+ "path": "v4/{+name}",
417
+ "request": {
418
+ "$ref": "Subscription"
419
+ },
420
+ "response": {
421
+ "$ref": "Subscription"
422
+ },
423
+ "scopes": [
424
+ "https://www.googleapis.com/auth/cloud-platform"
425
+ ]
426
+ }
427
+ }
428
+ }
245
429
  }
246
430
  }
247
431
  }
@@ -268,8 +452,42 @@
268
452
  "path": "v4/{+name}",
269
453
  "response": {
270
454
  "$ref": "Identity"
455
+ },
456
+ "scopes": [
457
+ "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly",
458
+ "https://www.googleapis.com/auth/googlehealth.ecg.readonly",
459
+ "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly",
460
+ "https://www.googleapis.com/auth/googlehealth.irn.readonly",
461
+ "https://www.googleapis.com/auth/googlehealth.profile.readonly",
462
+ "https://www.googleapis.com/auth/googlehealth.settings.readonly",
463
+ "https://www.googleapis.com/auth/googlehealth.sleep.readonly"
464
+ ]
465
+ },
466
+ "getIrnProfile": {
467
+ "description": "Returns user's IRN Profile details.",
468
+ "flatPath": "v4/users/{usersId}/irnProfile",
469
+ "httpMethod": "GET",
470
+ "id": "health.users.getIrnProfile",
471
+ "parameterOrder": [
472
+ "name"
473
+ ],
474
+ "parameters": {
475
+ "name": {
476
+ "description": "Required. The resource name of the IRN Profile. Format: `users/{user}/irnProfile` Example: `users/1234567890/irnProfile` or `users/me/irnProfile` The {user} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal `me` can also be used to refer to the authenticated user.",
477
+ "location": "path",
478
+ "pattern": "^users/[^/]+/irnProfile$",
479
+ "required": true,
480
+ "type": "string"
271
481
  }
272
482
  },
483
+ "path": "v4/{+name}",
484
+ "response": {
485
+ "$ref": "IrnProfile"
486
+ },
487
+ "scopes": [
488
+ "https://www.googleapis.com/auth/googlehealth.irn.readonly"
489
+ ]
490
+ },
273
491
  "getProfile": {
274
492
  "description": "Returns user Profile details.",
275
493
  "flatPath": "v4/users/{usersId}/profile",
@@ -290,7 +508,10 @@
290
508
  "path": "v4/{+name}",
291
509
  "response": {
292
510
  "$ref": "Profile"
293
- }
511
+ },
512
+ "scopes": [
513
+ "https://www.googleapis.com/auth/googlehealth.profile.readonly"
514
+ ]
294
515
  },
295
516
  "getSettings": {
296
517
  "description": "Returns user settings details.",
@@ -312,7 +533,10 @@
312
533
  "path": "v4/{+name}",
313
534
  "response": {
314
535
  "$ref": "Settings"
315
- }
536
+ },
537
+ "scopes": [
538
+ "https://www.googleapis.com/auth/googlehealth.settings.readonly"
539
+ ]
316
540
  },
317
541
  "updateProfile": {
318
542
  "description": "Updates the user's profile details.",
@@ -343,7 +567,10 @@
343
567
  },
344
568
  "response": {
345
569
  "$ref": "Profile"
346
- }
570
+ },
571
+ "scopes": [
572
+ "https://www.googleapis.com/auth/googlehealth.profile.writeonly"
573
+ ]
347
574
  },
348
575
  "updateSettings": {
349
576
  "description": "Updates the user's settings details.",
@@ -374,7 +601,10 @@
374
601
  },
375
602
  "response": {
376
603
  "$ref": "Settings"
377
- }
604
+ },
605
+ "scopes": [
606
+ "https://www.googleapis.com/auth/googlehealth.settings.writeonly"
607
+ ]
378
608
  }
379
609
  },
380
610
  "resources": {
@@ -405,7 +635,14 @@
405
635
  },
406
636
  "response": {
407
637
  "$ref": "Operation"
408
- }
638
+ },
639
+ "scopes": [
640
+ "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly",
641
+ "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly",
642
+ "https://www.googleapis.com/auth/googlehealth.location.writeonly",
643
+ "https://www.googleapis.com/auth/googlehealth.nutrition.writeonly",
644
+ "https://www.googleapis.com/auth/googlehealth.sleep.writeonly"
645
+ ]
409
646
  },
410
647
  "create": {
411
648
  "description": "Creates a single identifiable data point.",
@@ -430,7 +667,14 @@
430
667
  },
431
668
  "response": {
432
669
  "$ref": "Operation"
433
- }
670
+ },
671
+ "scopes": [
672
+ "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly",
673
+ "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly",
674
+ "https://www.googleapis.com/auth/googlehealth.location.writeonly",
675
+ "https://www.googleapis.com/auth/googlehealth.nutrition.writeonly",
676
+ "https://www.googleapis.com/auth/googlehealth.sleep.writeonly"
677
+ ]
434
678
  },
435
679
  "dailyRollUp": {
436
680
  "description": "Roll up data points over civil time intervals for supported data types.",
@@ -455,10 +699,16 @@
455
699
  },
456
700
  "response": {
457
701
  "$ref": "DailyRollUpDataPointsResponse"
458
- }
702
+ },
703
+ "scopes": [
704
+ "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly",
705
+ "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly",
706
+ "https://www.googleapis.com/auth/googlehealth.location.readonly",
707
+ "https://www.googleapis.com/auth/googlehealth.sleep.readonly"
708
+ ]
459
709
  },
460
710
  "exportExerciseTcx": {
461
- "description": "Exports exercise data in TCX format. Note: While the Authorization section below states that any one of the listed scopes is accepted, this specific method requires the user to provide both one of the `activity_and_fitness` scopes (`normal` or `readonly`) AND one of the `location` scopes (`normal` or `readonly`) in their access token to succeed.",
711
+ "description": "Exports exercise data in TCX format. **IMPORTANT:** HTTP clients must append `?alt=media` to the request URL to download the raw TCX file. Example: `https://health.googleapis.com/v4/users/me/dataTypes/exercise/dataPoints/EXERCISE_ID:exportExerciseTcx?alt=media` Without `alt=media`, the server returns a JSON response (`ExportExerciseTcxResponse`) which is intended primarily for gRPC clients. **Note:** While the Authorization section below states that any one of the listed scopes is accepted, this specific method requires the user to provide both one of the `activity_and_fitness` scopes (`normal` or `readonly`) AND one of the `location` scopes (`normal` or `readonly`) in their access token to succeed.",
462
712
  "flatPath": "v4/users/{usersId}/dataTypes/{dataTypesId}/dataPoints/{dataPointsId}:exportExerciseTcx",
463
713
  "httpMethod": "GET",
464
714
  "id": "health.users.dataTypes.dataPoints.exportExerciseTcx",
@@ -483,6 +733,10 @@
483
733
  "response": {
484
734
  "$ref": "ExportExerciseTcxResponse"
485
735
  },
736
+ "scopes": [
737
+ "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly",
738
+ "https://www.googleapis.com/auth/googlehealth.location.readonly"
739
+ ],
486
740
  "supportsMediaDownload": true,
487
741
  "useMediaDownloadService": true
488
742
  },
@@ -506,7 +760,13 @@
506
760
  "path": "v4/{+name}",
507
761
  "response": {
508
762
  "$ref": "DataPoint"
509
- }
763
+ },
764
+ "scopes": [
765
+ "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly",
766
+ "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly",
767
+ "https://www.googleapis.com/auth/googlehealth.location.readonly",
768
+ "https://www.googleapis.com/auth/googlehealth.sleep.readonly"
769
+ ]
510
770
  },
511
771
  "list": {
512
772
  "description": "Query user health and fitness data points.",
@@ -518,7 +778,7 @@
518
778
  ],
519
779
  "parameters": {
520
780
  "filter": {
521
- "description": "Optional. Filter expression following https://google.aip.dev/160. A time range (either physical or civil) can be specified. The supported filter fields are: - Interval start time: - Pattern: `{interval_data_type}.interval.start_time` - Supported comparison operators: `>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND` - Example: - `steps.interval.start_time >= \"2023-11-24T00:00:00Z\" AND steps.interval.start_time < \"2023-11-25T00:00:00Z\"` - `distance.interval.start_time >= \"2024-08-14T12:34:56Z\"` - Interval civil start time: - Pattern: `{interval_data_type}.interval.civil_start_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `steps.interval.civil_start_time >= \"2023-11-24\" AND steps.interval.civil_start_time < \"2023-11-25\"` - `distance.interval.civil_start_time >= \"2024-08-14T12:34:56\"` - Sample observation physical time: - Pattern: `{sample_data_type}.sample_time.physical_time` - Supported comparison operators: `>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND` - Example: - `weight.sample_time.physical_time >= \"2023-11-24T00:00:00Z\" AND weight.sample_time.physical_time < \"2023-11-25T00:00:00Z\"` - `weight.sample_time.physical_time >= \"2024-08-14T12:34:56Z\"` - Sample observation civil time: - Pattern: `{sample_data_type}.sample_time.civil_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `weight.sample_time.civil_time >= \"2023-11-24\" AND weight.sample_time.civil_time < \"2023-11-25\"` - `weight.sample_time.civil_time >= \"2024-08-14T12:34:56\"` - Daily summary date: - Pattern: `{daily_summary_data_type}.date` - Supported comparison operators: `>=`, `<` - Date literal expected in ISO 8601 `YYYY-MM-DD` format - Supported logical operators: `AND` - Example: - `daily_heart_rate_variability.date < \"2024-08-15\"` - Session civil start time (**Excluding Sleep**): - Pattern: `{session_data_type}.interval.civil_start_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `exercise.interval.civil_start_time >= \"2023-11-24\" AND exercise.interval.civil_start_time < \"2023-11-25\"` - `exercise.interval.civil_start_time >= \"2024-08-14T12:34:56\"` - Session end time (**Sleep specific**): - Pattern: `sleep.interval.end_time` - Supported comparison operators: `>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND`, `OR` - Example: - `sleep.interval.end_time >= \"2023-11-24T00:00:00Z\" AND sleep.interval.end_time < \"2023-11-25T00:00:00Z\"` - Session civil end time (**Sleep specific**): - Pattern: `sleep.interval.civil_end_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND`, `OR` - Example: - `sleep.interval.civil_end_time >= \"2023-11-24\" AND sleep.interval.civil_end_time < \"2023-11-25\"` Data points in the response will be ordered by the interval start time in descending order.",
781
+ "description": "Optional. Filter expression following https://google.aip.dev/160. A time range (either physical or civil) can be specified. The supported filter fields are: - Interval start time: - Pattern: `{interval_data_type}.interval.start_time` - Supported comparison operators: `>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND` - Example: - `steps.interval.start_time >= \"2023-11-24T00:00:00Z\" AND steps.interval.start_time < \"2023-11-25T00:00:00Z\"` - `distance.interval.start_time >= \"2024-08-14T12:34:56Z\"` - Interval civil start time: - Pattern: `{interval_data_type}.interval.civil_start_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `steps.interval.civil_start_time >= \"2023-11-24\" AND steps.interval.civil_start_time < \"2023-11-25\"` - `distance.interval.civil_start_time >= \"2024-08-14T12:34:56\"` - Sample observation physical time: - Pattern: `{sample_data_type}.sample_time.physical_time` - Supported comparison operators: `>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND` - Example: - `weight.sample_time.physical_time >= \"2023-11-24T00:00:00Z\" AND weight.sample_time.physical_time < \"2023-11-25T00:00:00Z\"` - `weight.sample_time.physical_time >= \"2024-08-14T12:34:56Z\"` - Sample observation civil time: - Pattern: `{sample_data_type}.sample_time.civil_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `weight.sample_time.civil_time >= \"2023-11-24\" AND weight.sample_time.civil_time < \"2023-11-25\"` - `weight.sample_time.civil_time >= \"2024-08-14T12:34:56\"` - Daily summary date: - Pattern: `{daily_summary_data_type}.date` - Supported comparison operators: `>=`, `<` - Date literal expected in ISO 8601 `YYYY-MM-DD` format - Supported logical operators: `AND` - Example: - `daily_heart_rate_variability.date < \"2024-08-15\"` - Session civil start time (**Excluding Sleep and ECG**): - Pattern: `{session_data_type}.interval.civil_start_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `exercise.interval.civil_start_time >= \"2023-11-24\" AND exercise.interval.civil_start_time < \"2023-11-25\"` - `exercise.interval.civil_start_time >= \"2024-08-14T12:34:56\"` - Session start time (**ECG specific**): - Pattern: `electrocardiogram.interval.start_time` - Supported comparison operators: `>=` - Timestamp literal expected in RFC-3339 format - Example: - `electrocardiogram.interval.start_time >= \"2024-08-14T12:34:56Z\"` - Note: Only filtering by start time is supported for ECG. Filtering by end time (e.g., `electrocardiogram.interval.end_time`) is not supported. - Session end time (**Sleep specific**): - Pattern: `sleep.interval.end_time` - Supported comparison operators: `>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND`, `OR` - Example: - `sleep.interval.end_time >= \"2023-11-24T00:00:00Z\" AND sleep.interval.end_time < \"2023-11-25T00:00:00Z\"` - Session civil end time (**Sleep specific**): - Pattern: `sleep.interval.civil_end_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND`, `OR` - Example: - `sleep.interval.civil_end_time >= \"2023-11-24\" AND sleep.interval.civil_end_time < \"2023-11-25\"` Data points in the response will be ordered by the interval start time in descending order.",
522
782
  "location": "query",
523
783
  "type": "string"
524
784
  },
@@ -544,7 +804,13 @@
544
804
  "path": "v4/{+parent}/dataPoints",
545
805
  "response": {
546
806
  "$ref": "ListDataPointsResponse"
547
- }
807
+ },
808
+ "scopes": [
809
+ "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly",
810
+ "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly",
811
+ "https://www.googleapis.com/auth/googlehealth.location.readonly",
812
+ "https://www.googleapis.com/auth/googlehealth.sleep.readonly"
813
+ ]
548
814
  },
549
815
  "patch": {
550
816
  "description": "Updates a single identifiable data point. If a data point with the specified `name` is not found, the request will fail.",
@@ -556,7 +822,7 @@
556
822
  ],
557
823
  "parameters": {
558
824
  "name": {
559
- "description": "Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `total-calories` for the `total_calories` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens.",
825
+ "description": "Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `heart-rate` for the `heart_rate` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens.",
560
826
  "location": "path",
561
827
  "pattern": "^users/[^/]+/dataTypes/[^/]+/dataPoints/[^/]+$",
562
828
  "required": true,
@@ -569,7 +835,14 @@
569
835
  },
570
836
  "response": {
571
837
  "$ref": "Operation"
572
- }
838
+ },
839
+ "scopes": [
840
+ "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly",
841
+ "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly",
842
+ "https://www.googleapis.com/auth/googlehealth.location.writeonly",
843
+ "https://www.googleapis.com/auth/googlehealth.nutrition.writeonly",
844
+ "https://www.googleapis.com/auth/googlehealth.sleep.writeonly"
845
+ ]
573
846
  },
574
847
  "reconcile": {
575
848
  "description": "Reconcile data points from multiple data sources into a single data stream.",
@@ -612,7 +885,13 @@
612
885
  "path": "v4/{+parent}/dataPoints:reconcile",
613
886
  "response": {
614
887
  "$ref": "ReconcileDataPointsResponse"
615
- }
888
+ },
889
+ "scopes": [
890
+ "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly",
891
+ "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly",
892
+ "https://www.googleapis.com/auth/googlehealth.location.readonly",
893
+ "https://www.googleapis.com/auth/googlehealth.sleep.readonly"
894
+ ]
616
895
  },
617
896
  "rollUp": {
618
897
  "description": "Roll up data points over physical time intervals for supported data types.",
@@ -637,18 +916,118 @@
637
916
  },
638
917
  "response": {
639
918
  "$ref": "RollUpDataPointsResponse"
919
+ },
920
+ "scopes": [
921
+ "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly",
922
+ "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly",
923
+ "https://www.googleapis.com/auth/googlehealth.location.readonly",
924
+ "https://www.googleapis.com/auth/googlehealth.sleep.readonly"
925
+ ]
640
926
  }
641
927
  }
642
928
  }
643
929
  }
930
+ },
931
+ "pairedDevices": {
932
+ "methods": {
933
+ "get": {
934
+ "description": "Returns user's Device.",
935
+ "flatPath": "v4/users/{usersId}/pairedDevices/{pairedDevicesId}",
936
+ "httpMethod": "GET",
937
+ "id": "health.users.pairedDevices.get",
938
+ "parameterOrder": [
939
+ "name"
940
+ ],
941
+ "parameters": {
942
+ "name": {
943
+ "description": "Required. The name of the device to retrieve. Format: users/{user}/devices/{device}",
944
+ "location": "path",
945
+ "pattern": "^users/[^/]+/pairedDevices/[^/]+$",
946
+ "required": true,
947
+ "type": "string"
948
+ }
949
+ },
950
+ "path": "v4/{+name}",
951
+ "response": {
952
+ "$ref": "PairedDevice"
953
+ },
954
+ "scopes": [
955
+ "https://www.googleapis.com/auth/googlehealth.settings.readonly"
956
+ ]
957
+ },
958
+ "list": {
959
+ "description": "Returns the user's list of paired 1P trackers and smartwatches.",
960
+ "flatPath": "v4/users/{usersId}/pairedDevices",
961
+ "httpMethod": "GET",
962
+ "id": "health.users.pairedDevices.list",
963
+ "parameterOrder": [
964
+ "parent"
965
+ ],
966
+ "parameters": {
967
+ "pageSize": {
968
+ "description": "Optional. The maximum number of devices to return. The service may return fewer than this value. If unspecified, at most 5 devices will be returned. The maximum value is 100. values above 100 will be coerced to 100.",
969
+ "format": "int32",
970
+ "location": "query",
971
+ "type": "integer"
972
+ },
973
+ "pageToken": {
974
+ "description": "Optional. A page token, received from a previous `ListPairedDevices` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPairedDevices` must match the call that provided the page token.",
975
+ "location": "query",
976
+ "type": "string"
977
+ },
978
+ "parent": {
979
+ "description": "Required. The parent, which owns this collection of devices. Format: users/{user}",
980
+ "location": "path",
981
+ "pattern": "^users/[^/]+$",
982
+ "required": true,
983
+ "type": "string"
984
+ }
985
+ },
986
+ "path": "v4/{+parent}/pairedDevices",
987
+ "response": {
988
+ "$ref": "ListPairedDevicesResponse"
989
+ },
990
+ "scopes": [
991
+ "https://www.googleapis.com/auth/googlehealth.settings.readonly"
992
+ ]
993
+ }
644
994
  }
645
995
  }
646
996
  }
647
997
  }
648
998
  },
649
- "revision": "20260503",
999
+ "revision": "20260618",
650
1000
  "rootUrl": "https://health.googleapis.com/",
651
1001
  "schemas": {
1002
+ "ActiveEnergyBurned": {
1003
+ "description": "Energy burned as part of an activity, excluding the basal energy burn.",
1004
+ "id": "ActiveEnergyBurned",
1005
+ "properties": {
1006
+ "interval": {
1007
+ "$ref": "ObservationTimeInterval",
1008
+ "description": "Required. Observed interval"
1009
+ },
1010
+ "kcal": {
1011
+ "description": "Required. Energy burned during an activity, measured in kilocalories.",
1012
+ "format": "double",
1013
+ "type": "number"
1014
+ }
1015
+ },
1016
+ "type": "object"
1017
+ },
1018
+ "ActiveEnergyBurnedRollupValue": {
1019
+ "description": "Represents the result of the rollup of active energy burned.",
1020
+ "id": "ActiveEnergyBurnedRollupValue",
1021
+ "properties": {
1022
+ "kcalSum": {
1023
+ "description": "Output only. Sum of the active energy burned in kilocalories.",
1024
+ "format": "double",
1025
+ "readOnly": true,
1026
+ "type": "number"
1027
+ }
1028
+ },
1029
+ "type": "object"
1030
+ },
652
1031
  "ActiveMinutes": {
653
1032
  "description": "Record of active minutes in a given time interval.",
654
1033
  "id": "ActiveMinutes",
@@ -864,6 +1243,54 @@
864
1243
  },
865
1244
  "type": "object"
866
1245
  },
1246
+ "AlertWindow": {
1247
+ "description": "An analysis window evaluated for AFib. Note: The current version of the algorithm will only produce alerts if all windows are positive. So anything returned from the API will always have the positive bit set to true. Internally, windows can be negative, however. We never save \"inconclusive\" windows (they aren't produced by the algorithm).",
1248
+ "id": "AlertWindow",
1249
+ "properties": {
1250
+ "civilEndTime": {
1251
+ "$ref": "CivilDateTime",
1252
+ "description": "Output only. Observed interval end time in civil time in the timezone the subject is in at the end of the observed interval",
1253
+ "readOnly": true
1254
+ },
1255
+ "civilStartTime": {
1256
+ "$ref": "CivilDateTime",
1257
+ "description": "Output only. Observed interval start time in civil time in the timezone the subject is in at the start of the observed interval",
1258
+ "readOnly": true
1259
+ },
1260
+ "endTime": {
1261
+ "description": "Required. The end time of the analysis window.",
1262
+ "format": "google-datetime",
1263
+ "type": "string"
1264
+ },
1265
+ "endUtcOffset": {
1266
+ "description": "Required. The UTC offset of the user's timezone when the analysis window ended.",
1267
+ "format": "google-duration",
1268
+ "type": "string"
1269
+ },
1270
+ "heartBeats": {
1271
+ "description": "Optional. All heart beats in the interval contained in this analysis window.",
1272
+ "items": {
1273
+ "$ref": "HeartBeat"
1274
+ },
1275
+ "type": "array"
1276
+ },
1277
+ "positive": {
1278
+ "description": "Optional. Flag indicating whether the window was positive for AFib or not. A `true` value indicates that AFib was detected in this window. A `false` value means AFib was not detected, but does not guarantee the absence of AFib.",
1279
+ "type": "boolean"
1280
+ },
1281
+ "startTime": {
1282
+ "description": "Required. Observed interval. The start time of the analysis window.",
1283
+ "format": "google-datetime",
1284
+ "type": "string"
1285
+ },
1286
+ "startUtcOffset": {
1287
+ "description": "Required. The UTC offset of the user's timezone when the analysis window started.",
1288
+ "format": "google-duration",
1289
+ "type": "string"
1290
+ }
1291
+ },
1292
+ "type": "object"
1293
+ },
867
1294
  "Altitude": {
868
1295
  "description": "Captures the altitude gain (i.e. deltas), and not level above sea, for a user in millimeters.",
869
1296
  "id": "Altitude",
@@ -939,7 +1366,117 @@
939
1366
  "items": {
940
1367
  "type": "string"
941
1368
  },
942
- "type": "array"
1369
+ "type": "array"
1370
+ }
1371
+ },
1372
+ "type": "object"
1373
+ },
1374
+ "BloodGlucose": {
1375
+ "description": "Represents a blood glucose level measurement. LINT: LEGACY_NAMES",
1376
+ "id": "BloodGlucose",
1377
+ "properties": {
1378
+ "bloodGlucoseMilligramsPerDeciliter": {
1379
+ "description": "Required. Blood glucose level concentration in mg/dL.",
1380
+ "format": "double",
1381
+ "type": "number"
1382
+ },
1383
+ "mealType": {
1384
+ "description": "Optional. Meal type of the measurement.",
1385
+ "enum": [
1386
+ "MEAL_TYPE_UNSPECIFIED",
1387
+ "BREAKFAST",
1388
+ "LUNCH",
1389
+ "DINNER",
1390
+ "SNACK"
1391
+ ],
1392
+ "enumDescriptions": [
1393
+ "Unspecified meal type.",
1394
+ "Breakfast.",
1395
+ "Lunch.",
1396
+ "Dinner.",
1397
+ "Snack."
1398
+ ],
1399
+ "type": "string"
1400
+ },
1401
+ "measurementSource": {
1402
+ "description": "Optional. Source of the measurement.",
1403
+ "enum": [
1404
+ "MEASUREMENT_SOURCE_UNSPECIFIED",
1405
+ "SELF_MONITORING_BLOOD_GLUCOSE",
1406
+ "CONTINUOUS_GLUCOSE_MONITORING",
1407
+ "LAB_TEST"
1408
+ ],
1409
+ "enumDescriptions": [
1410
+ "Unspecified measurement source.",
1411
+ "Self-monitoring of blood glucose (Blood glucose meter)",
1412
+ "Continuous glucose monitoring device",
1413
+ "Laboratory test"
1414
+ ],
1415
+ "type": "string"
1416
+ },
1417
+ "measurementTiming": {
1418
+ "description": "Optional. Timing of the measurement.",
1419
+ "enum": [
1420
+ "MEASUREMENT_TIMING_UNSPECIFIED",
1421
+ "AFTER_MEAL",
1422
+ "BEFORE_MEAL",
1423
+ "FASTING",
1424
+ "GENERAL",
1425
+ "BEFORE_BED",
1426
+ "OVER_NIGHT"
1427
+ ],
1428
+ "enumDescriptions": [
1429
+ "Unspecified measurement timing.",
1430
+ "Measurement taken after meal.",
1431
+ "Measurement taken before meal.",
1432
+ "Measurement taken while fasting.",
1433
+ "General measurement (not associated with a meal or time of day).",
1434
+ "Measurement taken before bed.",
1435
+ "Measurement taken over night."
1436
+ ],
1437
+ "type": "string"
1438
+ },
1439
+ "notes": {
1440
+ "description": "Optional. Standard free-form notes captured at manual logging.",
1441
+ "type": "string"
1442
+ },
1443
+ "sampleTime": {
1444
+ "$ref": "ObservationSampleTime",
1445
+ "description": "Required. The time at which blood glucose was measured."
1446
+ },
1447
+ "specimen": {
1448
+ "description": "Optional. Type of body fluid used to measure the blood glucose.",
1449
+ "enum": [
1450
+ "SPECIMEN_UNSPECIFIED",
1451
+ "CAPILLARY_BLOOD",
1452
+ "INTERSTITIAL_FLUID",
1453
+ "PLASMA",
1454
+ "SERUM",
1455
+ "TEARS",
1456
+ "WHOLE_BLOOD"
1457
+ ],
1458
+ "enumDescriptions": [
1459
+ "Unspecified specimen.",
1460
+ "Capillary blood.",
1461
+ "Interstitial fluid.",
1462
+ "Plasma.",
1463
+ "Serum.",
1464
+ "Tears.",
1465
+ "Whole blood."
1466
+ ],
1467
+ "type": "string"
1468
+ }
1469
+ },
1470
+ "type": "object"
1471
+ },
1472
+ "BloodGlucoseRollupValue": {
1473
+ "description": "Represents the result of the rollup of the blood glucose data type. LINT: LEGACY_NAMES",
1474
+ "id": "BloodGlucoseRollupValue",
1475
+ "properties": {
1476
+ "bloodGlucoseMilligramsPerDeciliterAvg": {
1477
+ "description": "Average blood glucose level in mg/dL.",
1478
+ "format": "double",
1479
+ "type": "number"
943
1480
  }
944
1481
  },
945
1482
  "type": "object"
@@ -1046,6 +1583,92 @@
1046
1583
  },
1047
1584
  "type": "object"
1048
1585
  },
1586
+ "CoreBodyTemperature": {
1587
+ "description": "Core body temperature measurement, distinct from peripheral body temperature, reflects the temperature of the body's internal organs.",
1588
+ "id": "CoreBodyTemperature",
1589
+ "properties": {
1590
+ "id": {
1591
+ "description": "Optional. The unique identifier of the core body temperature measurement.",
1592
+ "type": "string"
1593
+ },
1594
+ "measurementLocation": {
1595
+ "description": "Optional. The location of the core body temperature measurement.",
1596
+ "enum": [
1597
+ "MEASUREMENT_LOCATION_UNSPECIFIED",
1598
+ "OTHER",
1599
+ "ARMPIT",
1600
+ "BODY",
1601
+ "EAR",
1602
+ "FINGER",
1603
+ "GASTRO_INTESTINAL",
1604
+ "MOUTH",
1605
+ "RECTUM",
1606
+ "TOE",
1607
+ "EAR_DRUM",
1608
+ "TEMPORAL_ARTERY",
1609
+ "FOREHEAD",
1610
+ "URINARY_BLADDER",
1611
+ "NASAL",
1612
+ "NASOPHARYNGEAL",
1613
+ "WRIST",
1614
+ "VAGINA"
1615
+ ],
1616
+ "enumDescriptions": [
1617
+ "Measurement location is unspecified.",
1618
+ "Other measurement location.",
1619
+ "Armpit measurement location.",
1620
+ "Body measurement location.",
1621
+ "Ear measurement location.",
1622
+ "Finger measurement location.",
1623
+ "Gastro-intestinal measurement location.",
1624
+ "Mouth measurement location.",
1625
+ "Rectum measurement location.",
1626
+ "Toe measurement location.",
1627
+ "Ear drum measurement location.",
1628
+ "Temporal artery measurement location.",
1629
+ "Forehead measurement location.",
1630
+ "Urinary bladder measurement location.",
1631
+ "Nasal measurement location.",
1632
+ "Nasopharyngeal measurement location.",
1633
+ "Wrist measurement location.",
1634
+ "Vagina measurement location."
1635
+ ],
1636
+ "type": "string"
1637
+ },
1638
+ "sampleTime": {
1639
+ "$ref": "ObservationSampleTime",
1640
+ "description": "Required. The time at which core body temperature was measured."
1641
+ },
1642
+ "temperatureCelsius": {
1643
+ "description": "Required. The core body temperature in Celsius.",
1644
+ "format": "double",
1645
+ "type": "number"
1646
+ }
1647
+ },
1648
+ "type": "object"
1649
+ },
1650
+ "CoreBodyTemperatureRollupValue": {
1651
+ "description": "Represents the result of the rollup of the core body temperature data type.",
1652
+ "id": "CoreBodyTemperatureRollupValue",
1653
+ "properties": {
1654
+ "temperatureCelsiusAvg": {
1655
+ "description": "Average core body temperature in Celsius.",
1656
+ "format": "double",
1657
+ "type": "number"
1658
+ },
1659
+ "temperatureCelsiusMax": {
1660
+ "description": "Maximum core body temperature in Celsius.",
1661
+ "format": "double",
1662
+ "type": "number"
1663
+ },
1664
+ "temperatureCelsiusMin": {
1665
+ "description": "Minimum core body temperature in Celsius.",
1666
+ "format": "double",
1667
+ "type": "number"
1668
+ }
1669
+ },
1670
+ "type": "object"
1671
+ },
1049
1672
  "CreateSubscriberPayload": {
1050
1673
  "description": "Payload for creating a subscriber.",
1051
1674
  "id": "CreateSubscriberPayload",
@@ -1068,6 +1691,24 @@
1068
1691
  },
1069
1692
  "type": "object"
1070
1693
  },
1694
+ "CreateSubscriptionPayload": {
1695
+ "description": "Payload for creating a subscription.",
1696
+ "id": "CreateSubscriptionPayload",
1697
+ "properties": {
1698
+ "dataTypes": {
1699
+ "description": "Optional. Data types subscribed to.",
1700
+ "items": {
1701
+ "type": "string"
1702
+ },
1703
+ "type": "array"
1704
+ },
1705
+ "user": {
1706
+ "description": "Required. Immutable. The resource name of the user for whom this subscription is active. Format: `users/{user}` where `{user}` is the public `healthUserId` as returned by the `GetIdentity` action in the profile PAPI (see `google.devicesandservices.health.v4main.HealthProfileService.GetIdentity`).",
1707
+ "type": "string"
1708
+ }
1709
+ },
1710
+ "type": "object"
1711
+ },
1071
1712
  "DailyHeartRateVariability": {
1072
1713
  "description": "Represents the daily heart rate variability data type. At least one of the following fields must be set: - `average_heart_rate_variability_milliseconds` - `non_rem_heart_rate_beats_per_minute` - `entropy` - `deep_sleep_root_mean_square_of_successive_differences_milliseconds`",
1073
1714
  "id": "DailyHeartRateVariability",
@@ -1249,9 +1890,13 @@
1249
1890
  "type": "object"
1250
1891
  },
1251
1892
  "DailyRollupDataPoint": {
1252
- "description": "Value of a daily rollup for a single civil time interval (aggregation window)",
1893
+ "description": "Value of a daily rollup for a single civil time interval (aggregation window) of reconciled data points from all data sources, excluding those data points that are identified as recorded by wearables in intervals when they were not actually worn.",
1253
1894
  "id": "DailyRollupDataPoint",
1254
1895
  "properties": {
1896
+ "activeEnergyBurned": {
1897
+ "$ref": "ActiveEnergyBurnedRollupValue",
1898
+ "description": "Returned by default when rolling up data points from the `active-energy-burned` data type."
1899
+ },
1255
1900
  "activeMinutes": {
1256
1901
  "$ref": "ActiveMinutesRollupValue",
1257
1902
  "description": "Returned by default when rolling up data points from the `active-minutes` data type, or when requested explicitly using the `active-minutes` rollup type identifier."
@@ -1268,6 +1913,10 @@
1268
1913
  "$ref": "AltitudeRollupValue",
1269
1914
  "description": "Returned by default when rolling up data points from the `altitude` data type, or when requested explicitly using the `altitude` rollup type identifier."
1270
1915
  },
1916
+ "bloodGlucose": {
1917
+ "$ref": "BloodGlucoseRollupValue",
1918
+ "description": "Returned by default when rolling up data points from the `blood-glucose` data type."
1919
+ },
1271
1920
  "bodyFat": {
1272
1921
  "$ref": "BodyFatRollupValue",
1273
1922
  "description": "Returned by default when rolling up data points from the `body-fat` data type, or when requested explicitly using the `body-fat` rollup type identifier."
@@ -1284,6 +1933,10 @@
1284
1933
  "$ref": "CivilDateTime",
1285
1934
  "description": "Start time of the window this value aggregates over"
1286
1935
  },
1936
+ "coreBodyTemperature": {
1937
+ "$ref": "CoreBodyTemperatureRollupValue",
1938
+ "description": "Returned by default when rolling up data points from the `core-body-temperature` data type, or when requested explicitly using the `core-body-temperature` rollup type identifier."
1939
+ },
1287
1940
  "distance": {
1288
1941
  "$ref": "DistanceRollupValue",
1289
1942
  "description": "Returned by default when rolling up data points from the `distance` data type, or when requested explicitly using the `distance` rollup type identifier."
@@ -1304,6 +1957,10 @@
1304
1957
  "$ref": "HydrationLogRollupValue",
1305
1958
  "description": "Returned by default when rolling up data points from the `hydration-log` data type, or when requested explicitly using the `hydration-log` rollup type identifier."
1306
1959
  },
1960
+ "nutritionLog": {
1961
+ "$ref": "NutritionLogRollupValue",
1962
+ "description": "Returned by default when rolling up data points from the `nutrition-log` data type, or when requested explicitly using the `nutrition-log` rollup type identifier."
1963
+ },
1307
1964
  "restingHeartRatePersonalRange": {
1308
1965
  "$ref": "RestingHeartRatePersonalRangeRollupValue",
1309
1966
  "description": "Returned by default when rolling up data points from the `daily-resting-heart-rate` data type, or when requested explicitly using the `resting-heart-rate-personal-range` rollup type identifier."
@@ -1416,6 +2073,10 @@
1416
2073
  "description": "A computed or recorded metric.",
1417
2074
  "id": "DataPoint",
1418
2075
  "properties": {
2076
+ "activeEnergyBurned": {
2077
+ "$ref": "ActiveEnergyBurned",
2078
+ "description": "Optional. Data for points in the `active-energy-burned` interval data type collection."
2079
+ },
1419
2080
  "activeMinutes": {
1420
2081
  "$ref": "ActiveMinutes",
1421
2082
  "description": "Optional. Data for points in the `active-minutes` interval data type collection."
@@ -1436,10 +2097,18 @@
1436
2097
  "$ref": "BasalEnergyBurned",
1437
2098
  "description": "Optional. Data for points in the `basal-energy-burned` interval data type collection."
1438
2099
  },
2100
+ "bloodGlucose": {
2101
+ "$ref": "BloodGlucose",
2102
+ "description": "Optional. Data for points in the `blood-glucose` sample data type collection."
2103
+ },
1439
2104
  "bodyFat": {
1440
2105
  "$ref": "BodyFat",
1441
2106
  "description": "Optional. Data for points in the `body-fat` sample data type collection."
1442
2107
  },
2108
+ "coreBodyTemperature": {
2109
+ "$ref": "CoreBodyTemperature",
2110
+ "description": "Optional. Data for points in the `core-body-temperature` sample data type collection."
2111
+ },
1443
2112
  "dailyHeartRateVariability": {
1444
2113
  "$ref": "DailyHeartRateVariability",
1445
2114
  "description": "Optional. Data for points in the `daily-heart-rate-variability` daily data type collection."
@@ -1476,6 +2145,10 @@
1476
2145
  "$ref": "Distance",
1477
2146
  "description": "Optional. Data for points in the `distance` interval data type collection."
1478
2147
  },
2148
+ "electrocardiogram": {
2149
+ "$ref": "Electrocardiogram",
2150
+ "description": "Optional. Data for points in the `electrocardiogram` session data type collection."
2151
+ },
1479
2152
  "exercise": {
1480
2153
  "$ref": "Exercise",
1481
2154
  "description": "Optional. Data for points in the `exercise` session data type collection."
@@ -1484,6 +2157,14 @@
1484
2157
  "$ref": "Floors",
1485
2158
  "description": "Optional. Data for points in the `floors` interval data type collection."
1486
2159
  },
2160
+ "food": {
2161
+ "$ref": "Food",
2162
+ "description": "Optional. The food details."
2163
+ },
2164
+ "foodMeasurementUnit": {
2165
+ "$ref": "FoodMeasurementUnit",
2166
+ "description": "Optional. The food measurement unit details."
2167
+ },
1487
2168
  "heartRate": {
1488
2169
  "$ref": "HeartRate",
1489
2170
  "description": "Optional. Data for points in the `heart-rate` sample data type collection."
@@ -1500,10 +2181,18 @@
1500
2181
  "$ref": "HydrationLog",
1501
2182
  "description": "Optional. Data for points in the `hydration-log` session data type collection."
1502
2183
  },
2184
+ "irregularRhythmNotification": {
2185
+ "$ref": "IrregularRhythmNotification",
2186
+ "description": "Optional. Data for points in the `irregular-rhythm-notification` session data type collection."
2187
+ },
1503
2188
  "name": {
1504
- "description": "Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `total-calories` for the `total_calories` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens.",
2189
+ "description": "Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `heart-rate` for the `heart_rate` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens.",
1505
2190
  "type": "string"
1506
2191
  },
2192
+ "nutritionLog": {
2193
+ "$ref": "NutritionLog",
2194
+ "description": "Optional. Data for points in the `nutrition-log` session data type collection."
2195
+ },
1507
2196
  "oxygenSaturation": {
1508
2197
  "$ref": "OxygenSaturation",
1509
2198
  "description": "Optional. Data for points in the `oxygen-saturation` sample data type collection."
@@ -1754,6 +2443,80 @@
1754
2443
  },
1755
2444
  "type": "object"
1756
2445
  },
2446
+ "Electrocardiogram": {
2447
+ "description": "Represents an Electrocardiogram (ECG) measurement session. This data type is based on SaMD feature and any changes to it may require additional review.",
2448
+ "id": "Electrocardiogram",
2449
+ "properties": {
2450
+ "beatsPerMinuteAvg": {
2451
+ "description": "Optional. Average heart rate recorded during ECG reading in beats per minute.",
2452
+ "format": "int64",
2453
+ "type": "string"
2454
+ },
2455
+ "interval": {
2456
+ "$ref": "SessionTimeInterval",
2457
+ "description": "Required. Observed interval. NOTE: Historical ECG data lacks timezone offsets, so `start_utc_offset` and `end_utc_offset` will be missing or default to zero. As a result, the civil time fields within this interval will default to UTC. It is recommended to use physical time fields instead for accurate time referencing. NOTE: The `start_time` and `end_time` of the interval are equal, representing the reading time."
2458
+ },
2459
+ "leadNumber": {
2460
+ "description": "Optional. The number of leads used for ECG reading.",
2461
+ "format": "int32",
2462
+ "type": "integer"
2463
+ },
2464
+ "medicalDeviceInfo": {
2465
+ "$ref": "MedicalDeviceInfo",
2466
+ "description": "Output only. The meta information for the compatible device used to conduct the measurement. ECG measurements typically populate `firmware_version`, `feature_version`, and `device_model`.",
2467
+ "readOnly": true
2468
+ },
2469
+ "millivoltsScalingFactor": {
2470
+ "description": "Optional. The factor by which to divide waveform samples to get voltage in millivolts: millivolts = waveform_sample / millivolts_scaling_factor.",
2471
+ "format": "int32",
2472
+ "type": "integer"
2473
+ },
2474
+ "resultClassification": {
2475
+ "description": "Optional. The result classification of the ECG reading.",
2476
+ "enum": [
2477
+ "RESULT_CLASSIFICATION_UNSPECIFIED",
2478
+ "NORMAL_SINUS_RHYTHM",
2479
+ "ATRIAL_FIBRILLATION",
2480
+ "INCONCLUSIVE",
2481
+ "INCONCLUSIVE_HIGH_HEART_RATE",
2482
+ "INCONCLUSIVE_LOW_HEART_RATE",
2483
+ "UNREADABLE",
2484
+ "NOT_ANALYZED"
2485
+ ],
2486
+ "enumDescriptions": [
2487
+ "Unspecified result classification.",
2488
+ "Heart rhythm appears normal. Corresponds to result \"Normal Sinus Rhythm\".",
2489
+ "Signs of Atrial Fibrillation detected. Corresponds to result \"Atrial Fibrillation\".",
2490
+ "The reading is inconclusive as it could not be classified. Corresponds to result \"Inconclusive\".",
2491
+ "The reading is inconclusive as it could not be classified because heart rate is high (>120bpm). Corresponds to result \"Inconclusive: High heart rate\".",
2492
+ "The reading is inconclusive as it could not be classified because heart rate is low (<50bpm). Corresponds to result \"Inconclusive: Low heart rate\".",
2493
+ "The reading is unreadable.",
2494
+ "The reading was not analyzed."
2495
+ ],
2496
+ "type": "string"
2497
+ },
2498
+ "samplingFrequencyHertz": {
2499
+ "description": "Optional. The sampling frequency of waveform samples in hertz.",
2500
+ "format": "int32",
2501
+ "type": "integer"
2502
+ },
2503
+ "waveformSamples": {
2504
+ "description": "Optional. An array of voltage values representing lead I ECG values. Each sample represents voltage difference in ECG graph. The first value in array corresponds to the start of the reading.",
2505
+ "items": {
2506
+ "format": "int32",
2507
+ "type": "integer"
2508
+ },
2509
+ "type": "array"
2510
+ }
2511
+ },
2512
+ "type": "object"
2513
+ },
2514
+ "Empty": {
2515
+ "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }",
2516
+ "id": "Empty",
2517
+ "properties": {},
2518
+ "type": "object"
2519
+ },
1757
2520
  "EndpointAuthorization": {
1758
2521
  "description": "Authorization mechanism for a subscriber endpoint. For all requests sent by the Webhooks service, the JSON payload is cryptographically signed. The signature is delivered in the `X-HEALTHAPI-SIGNATURE` HTTP header. This is an ECDSA (NIST P256) signature of the JSON payload. Clients must verify this signature using Google Health API's public key to confirm the payload was sent by the Health API.",
1759
2522
  "id": "EndpointAuthorization",
@@ -1770,6 +2533,70 @@
1770
2533
  },
1771
2534
  "type": "object"
1772
2535
  },
2536
+ "EnergyQuantity": {
2537
+ "description": "Represents the energy quantity.",
2538
+ "id": "EnergyQuantity",
2539
+ "properties": {
2540
+ "kcal": {
2541
+ "description": "Required. Value representing the energy in kilocalories.",
2542
+ "format": "double",
2543
+ "type": "number"
2544
+ },
2545
+ "userProvidedUnit": {
2546
+ "description": "Optional. Value representing the user provided unit.",
2547
+ "enum": [
2548
+ "ENERGY_UNIT_UNSPECIFIED",
2549
+ "JOULE",
2550
+ "KILOJOULE",
2551
+ "KILOCALORIE",
2552
+ "SMALL_CALORIE",
2553
+ "CALORIE"
2554
+ ],
2555
+ "enumDescriptions": [
2556
+ "Unspecified energy unit.",
2557
+ "Value representing joule.",
2558
+ "Value representing kilojoule.",
2559
+ "Value representing kilocalorie.",
2560
+ "Value representing small calorie.",
2561
+ "Value representing calorie."
2562
+ ],
2563
+ "type": "string"
2564
+ }
2565
+ },
2566
+ "type": "object"
2567
+ },
2568
+ "EnergyQuantityRollup": {
2569
+ "description": "Rollup for the energy quantity.",
2570
+ "id": "EnergyQuantityRollup",
2571
+ "properties": {
2572
+ "kcalSum": {
2573
+ "description": "Required. The sum of the energy in kilocalories.",
2574
+ "format": "double",
2575
+ "type": "number"
2576
+ },
2577
+ "userProvidedUnitLast": {
2578
+ "description": "Optional. The user provided unit on the last element.",
2579
+ "enum": [
2580
+ "ENERGY_UNIT_UNSPECIFIED",
2581
+ "JOULE",
2582
+ "KILOJOULE",
2583
+ "KILOCALORIE",
2584
+ "SMALL_CALORIE",
2585
+ "CALORIE"
2586
+ ],
2587
+ "enumDescriptions": [
2588
+ "Unspecified energy unit.",
2589
+ "Value representing joule.",
2590
+ "Value representing kilojoule.",
2591
+ "Value representing kilocalorie.",
2592
+ "Value representing small calorie.",
2593
+ "Value representing calorie."
2594
+ ],
2595
+ "type": "string"
2596
+ }
2597
+ },
2598
+ "type": "object"
2599
+ },
1773
2600
  "Exercise": {
1774
2601
  "description": "An exercise that stores information about a physical activity.",
1775
2602
  "id": "Exercise",
@@ -1804,33 +2631,371 @@
1804
2631
  "description": "Required. The type of activity performed during an exercise.",
1805
2632
  "enum": [
1806
2633
  "EXERCISE_TYPE_UNSPECIFIED",
1807
- "RUNNING",
1808
- "WALKING",
2634
+ "AEROBIC_WORKOUT",
2635
+ "ARCHERY",
2636
+ "ASSAULT_BIKE",
2637
+ "BACKPACKING",
2638
+ "BADMINTON",
2639
+ "BALLET",
2640
+ "BALLROOM_DANCE",
2641
+ "BARRE_CLASS",
2642
+ "BASEBALL",
2643
+ "BASKETBALL",
1809
2644
  "BIKING",
1810
- "SWIMMING",
2645
+ "BILLIARDS",
2646
+ "BODY_WEIGHT",
2647
+ "BOOTCAMP",
2648
+ "BOWLING",
2649
+ "BOXING",
2650
+ "BREAKDANCING",
2651
+ "CALISTHENICS",
2652
+ "CANOEING",
2653
+ "CARDIO_SCULPT",
2654
+ "CARDIO_WORKOUT",
2655
+ "CARPENTRY",
2656
+ "CHEERLEADING",
2657
+ "CIRCUIT_TRAINING",
2658
+ "CLEANING",
2659
+ "CLIMBING",
2660
+ "CORE_TRAINING",
2661
+ "CRICKET",
2662
+ "CROQUET",
2663
+ "CROSS_COUNTRY_SKI",
2664
+ "CROSS_TRAINING",
2665
+ "CROSSFIT",
2666
+ "CURLING",
2667
+ "DANCING",
2668
+ "DIVING",
2669
+ "ELECTRIC_BIKE",
2670
+ "ELECTRIC_SCOOTER",
2671
+ "ELLIPTICAL",
2672
+ "EQUESTRIAN_SPORTS",
2673
+ "EXERCISE_CLASS",
2674
+ "FENCING",
2675
+ "FIELD_HOCKEY",
2676
+ "FISHING",
2677
+ "FITNESS_GAMING",
2678
+ "FOILING",
2679
+ "FOOTBALL_AMERICAN",
2680
+ "FOOTBALL_AUSTRALIAN",
2681
+ "FREE_WEIGHTS",
2682
+ "FRISBEE_PLAYING_GENERAL",
2683
+ "FUNCTIONAL_STRENGTH_TRAINING",
2684
+ "GARDENING",
2685
+ "GOLF",
2686
+ "GYMNASTICS",
2687
+ "HANDBALL",
2688
+ "HAND_CYCLING",
2689
+ "HIIT",
1811
2690
  "HIKING",
1812
- "YOGA",
2691
+ "HIP_HOP",
2692
+ "HOCKEY",
2693
+ "HOEING",
2694
+ "HOUSEHOLD_CHORES",
2695
+ "HUNTING",
2696
+ "ICE_SKATING",
2697
+ "INCLINE_RUN",
2698
+ "INCLINE_WALK",
2699
+ "INDOOR_CLIMBING",
2700
+ "INTERVAL_WORKOUT",
2701
+ "JAZZ_DANCE",
2702
+ "JIU_JITSU",
2703
+ "JUMPING_ROPE",
2704
+ "KARATE",
2705
+ "KAYAKING",
2706
+ "KICKBOXING",
2707
+ "KITESURFING",
2708
+ "LACROSSE",
2709
+ "MARTIAL_ARTS",
2710
+ "MEDITATE",
2711
+ "MODERN_DANCE",
2712
+ "MOTOCROSS",
2713
+ "MOTORCYCLE",
2714
+ "MOUNTAIN_BIKE",
2715
+ "MOWING_LAWN",
2716
+ "MUAY_THAI",
2717
+ "MULTISPORT",
2718
+ "MUSICAL_PERFORMANCE",
2719
+ "NORDIC_WALKING",
2720
+ "ORIENTEERING",
2721
+ "OTHER",
2722
+ "OUTDOOR_BIKE",
2723
+ "OUTDOOR_WORKOUT",
2724
+ "PADDLEBOARDING",
2725
+ "PADEL",
2726
+ "PAINTING",
2727
+ "PARAGLIDING",
2728
+ "PARKOUR",
2729
+ "PICKELBALL",
1813
2730
  "PILATES",
1814
- "WORKOUT",
1815
- "HIIT",
1816
- "WEIGHTLIFTING",
2731
+ "POLO",
2732
+ "POWERLIFTING",
2733
+ "POWER_WALKING",
2734
+ "RACKET_SPORTS",
2735
+ "RACQUETBALL",
2736
+ "RESISTANCE_BANDS",
2737
+ "ROCK_CLIMBING",
2738
+ "ROLLERBLADING",
2739
+ "ROLLER_SKATING",
2740
+ "ROWING",
2741
+ "ROWING_MACHINE",
2742
+ "RUCKING",
2743
+ "RUGBY",
2744
+ "RUNNING",
2745
+ "SAILING",
2746
+ "SCOOTERING",
2747
+ "SCUBA_DIVING",
2748
+ "SHOOTING",
2749
+ "SHOVELING",
2750
+ "SKATEBOARDING",
2751
+ "SKATING",
2752
+ "SKIING",
2753
+ "SKYDIVING",
2754
+ "SNORKELING",
2755
+ "SNOWBOARDING",
2756
+ "SNOWMOBILING",
2757
+ "SNOWSHOEING",
2758
+ "SNOW_SPORT",
2759
+ "SOCCER",
2760
+ "SOFTBALL",
2761
+ "SPEED_SKATING",
2762
+ "SPINNING",
2763
+ "SPORT",
2764
+ "SQUASH",
2765
+ "STAIRCLIMBER",
2766
+ "STATIONARY_BIKE",
2767
+ "STEP_TRAINING",
1817
2768
  "STRENGTH_TRAINING",
1818
- "OTHER"
2769
+ "STRETCHING",
2770
+ "STROLLER_WALK",
2771
+ "SURFING",
2772
+ "SWIMMING",
2773
+ "SWIMMING_OPEN_WATER",
2774
+ "SWIMMING_POOL",
2775
+ "SYNCHRONIZED_SWIMMING",
2776
+ "TABATA_WORKOUT",
2777
+ "TABLE_TENNIS",
2778
+ "TAEKWONDO",
2779
+ "TAI_CHI",
2780
+ "TANGO",
2781
+ "TENNIS",
2782
+ "TRACK_AND_FIELD",
2783
+ "TRAIL_RUN",
2784
+ "TRAMPOLINE",
2785
+ "TREADMILL",
2786
+ "TREADMILL_WALK",
2787
+ "TRX",
2788
+ "ULTIMATE_FRISBEE",
2789
+ "UNICYCLING",
2790
+ "VOLLEYBALL",
2791
+ "VOLLEYBALL_BEACH",
2792
+ "WAKEBOARDING",
2793
+ "WALKING",
2794
+ "WALK_WITH_WEIGHTS",
2795
+ "WATER_AEROBICS",
2796
+ "WATER_JOGGING",
2797
+ "WATER_POLO",
2798
+ "WATER_SKIING",
2799
+ "WATER_SPORT",
2800
+ "WATER_VOLLEYBALL",
2801
+ "WEEDING",
2802
+ "WEIGHTLIFTING",
2803
+ "WEIGHT_MACHINES",
2804
+ "WEIGHTS",
2805
+ "WHEELCHAIR",
2806
+ "WINDSURFING",
2807
+ "WORKOUT",
2808
+ "WRESTLING",
2809
+ "YOGA",
2810
+ "YOGA_BIKRAM",
2811
+ "YOGA_HATHA",
2812
+ "YOGA_POWER",
2813
+ "YOGA_VINYASA",
2814
+ "ZUMBA"
1819
2815
  ],
1820
2816
  "enumDescriptions": [
1821
2817
  "Exercise type is unspecified.",
1822
- "Running type.",
1823
- "Walking type.",
2818
+ "Aerobic workout type.",
2819
+ "Archery type.",
2820
+ "Assault bike type.",
2821
+ "Backpacking type.",
2822
+ "Badminton type.",
2823
+ "Ballet type.",
2824
+ "Ballroom dance type.",
2825
+ "Barre class type.",
2826
+ "Baseball type.",
2827
+ "Basketball type.",
1824
2828
  "Biking type.",
1825
- "Swimming type.",
2829
+ "Billiards type.",
2830
+ "Body weight type.",
2831
+ "Bootcamp type.",
2832
+ "Bowling type.",
2833
+ "Boxing type.",
2834
+ "Breakdancing type.",
2835
+ "Calisthenics type.",
2836
+ "Canoeing type.",
2837
+ "Cardio sculpt type.",
2838
+ "Cardio workout type.",
2839
+ "Carpentry type.",
2840
+ "Cheerleading type.",
2841
+ "Circuit training type.",
2842
+ "Cleaning type.",
2843
+ "Climbing type.",
2844
+ "Core training type.",
2845
+ "Cricket type.",
2846
+ "Croquet type.",
2847
+ "Cross country ski type.",
2848
+ "Cross training type.",
2849
+ "Crossfit type.",
2850
+ "Curling type.",
2851
+ "Dancing type.",
2852
+ "Diving type.",
2853
+ "Electric bike type.",
2854
+ "Electric scooter type.",
2855
+ "Elliptical type.",
2856
+ "Equestrian sports type.",
2857
+ "Exercise class type.",
2858
+ "Fencing type.",
2859
+ "Field hockey type.",
2860
+ "Fishing type.",
2861
+ "Fitness gaming type.",
2862
+ "Foiling type.",
2863
+ "Football american type.",
2864
+ "Football australian type.",
2865
+ "Free weights type.",
2866
+ "Frisbee playing general type.",
2867
+ "Functional strength training type.",
2868
+ "Gardening type.",
2869
+ "Golf type.",
2870
+ "Gymnastics type.",
2871
+ "Handball type.",
2872
+ "Hand cycling type.",
2873
+ "Hiit type.",
1826
2874
  "Hiking type.",
1827
- "Yoga type.",
2875
+ "Hip hop type.",
2876
+ "Hockey type.",
2877
+ "Hoeing type.",
2878
+ "Household chores type.",
2879
+ "Hunting type.",
2880
+ "Ice skating type.",
2881
+ "Incline run type.",
2882
+ "Incline walk type.",
2883
+ "Indoor climbing type.",
2884
+ "Interval workout type.",
2885
+ "Jazz dance type.",
2886
+ "Jiu jitsu type.",
2887
+ "Jumping rope type.",
2888
+ "Karate type.",
2889
+ "Kayaking type.",
2890
+ "Kickboxing type.",
2891
+ "Kitesurfing type.",
2892
+ "Lacrosse type.",
2893
+ "Martial arts type.",
2894
+ "Meditate type.",
2895
+ "Modern dance type.",
2896
+ "Motocross type.",
2897
+ "Motorcycle type.",
2898
+ "Mountain bike type.",
2899
+ "Mowing lawn type.",
2900
+ "Muay thai type.",
2901
+ "Multisport type.",
2902
+ "Musical performance type.",
2903
+ "Nordic walking type.",
2904
+ "Orienteering type.",
2905
+ "Other type.",
2906
+ "Outdoor bike type.",
2907
+ "Outdoor workout type.",
2908
+ "Paddleboarding type.",
2909
+ "Padel type.",
2910
+ "Painting type.",
2911
+ "Paragliding type.",
2912
+ "Parkour type.",
2913
+ "Pickelball type.",
1828
2914
  "Pilates type.",
1829
- "Workout type.",
1830
- "HIIT type.",
1831
- "Weightlifting type.",
2915
+ "Polo type.",
2916
+ "Powerlifting type.",
2917
+ "Power walking type.",
2918
+ "Racket sports type.",
2919
+ "Racquetball type.",
2920
+ "Resistance bands type.",
2921
+ "Rock climbing type.",
2922
+ "Rollerblading type.",
2923
+ "Roller skating type.",
2924
+ "Rowing type.",
2925
+ "Rowing machine type.",
2926
+ "Rucking type.",
2927
+ "Rugby type.",
2928
+ "Running type.",
2929
+ "Sailing type.",
2930
+ "Scootering type.",
2931
+ "Scuba diving type.",
2932
+ "Shooting type.",
2933
+ "Shoveling type.",
2934
+ "Skateboarding type.",
2935
+ "Skating type.",
2936
+ "Skiing type.",
2937
+ "Skydiving type.",
2938
+ "Snorkeling type.",
2939
+ "Snowboarding type.",
2940
+ "Snowmobiling type.",
2941
+ "Snowshoeing type.",
2942
+ "Snow sport type.",
2943
+ "Soccer type.",
2944
+ "Softball type.",
2945
+ "Speed skating type.",
2946
+ "Spinning type.",
2947
+ "Sport type.",
2948
+ "Squash type.",
2949
+ "Stairclimber type.",
2950
+ "Stationary bike type.",
2951
+ "Step training type.",
1832
2952
  "Strength training type.",
1833
- "Other type."
2953
+ "Stretching type.",
2954
+ "Stroller walk type.",
2955
+ "Surfing type.",
2956
+ "Swimming type.",
2957
+ "Swimming open water type.",
2958
+ "Swimming pool type.",
2959
+ "Synchronized swimming type.",
2960
+ "Tabata workout type.",
2961
+ "Table tennis type.",
2962
+ "Taekwondo type.",
2963
+ "Tai chi type.",
2964
+ "Tango type.",
2965
+ "Tennis type.",
2966
+ "Track and field type.",
2967
+ "Trail run type.",
2968
+ "Trampoline type.",
2969
+ "Treadmill type.",
2970
+ "Treadmill walk type.",
2971
+ "Trx type.",
2972
+ "Ultimate frisbee type.",
2973
+ "Unicycling type.",
2974
+ "Volleyball type.",
2975
+ "Volleyball beach type.",
2976
+ "Wakeboarding type.",
2977
+ "Walking type.",
2978
+ "Walk with weights type.",
2979
+ "Water aerobics type.",
2980
+ "Water jogging type.",
2981
+ "Water polo type.",
2982
+ "Water skiing type.",
2983
+ "Water sport type.",
2984
+ "Water volleyball type.",
2985
+ "Weeding type.",
2986
+ "Weightlifting type.",
2987
+ "Weight machines type.",
2988
+ "Weights type.",
2989
+ "Wheelchair type.",
2990
+ "Windsurfing type.",
2991
+ "Workout type.",
2992
+ "Wrestling type.",
2993
+ "Yoga type.",
2994
+ "Yoga bikram type.",
2995
+ "Yoga hatha type.",
2996
+ "Yoga power type.",
2997
+ "Yoga vinyasa type.",
2998
+ "Zumba type."
1834
2999
  ],
1835
3000
  "type": "string"
1836
3001
  },
@@ -1929,7 +3094,7 @@
1929
3094
  "id": "ExportExerciseTcxResponse",
1930
3095
  "properties": {
1931
3096
  "tcxData": {
1932
- "description": "Contains the exported TCX data.",
3097
+ "description": "Contains the exported TCX data. This field is intended for gRPC clients, as media download integration is not supported for gRPC. HTTP clients should instead use the `alt=media` query parameter to download the raw binary TCX file.",
1933
3098
  "type": "string"
1934
3099
  }
1935
3100
  },
@@ -1963,6 +3128,159 @@
1963
3128
  },
1964
3129
  "type": "object"
1965
3130
  },
3131
+ "Food": {
3132
+ "description": "Represents a food item.",
3133
+ "id": "Food",
3134
+ "properties": {
3135
+ "accessLevel": {
3136
+ "description": "Required. The access level of the food.",
3137
+ "enum": [
3138
+ "FOOD_ACCESS_LEVEL_UNSPECIFIED",
3139
+ "FOOD_ACCESS_LEVEL_PUBLIC",
3140
+ "FOOD_ACCESS_LEVEL_PRIVATE"
3141
+ ],
3142
+ "enumDescriptions": [
3143
+ "Unspecified food access level.",
3144
+ "Public food access level.",
3145
+ "Private food access level."
3146
+ ],
3147
+ "type": "string"
3148
+ },
3149
+ "brand": {
3150
+ "description": "Optional. The brand of the food.",
3151
+ "type": "string"
3152
+ },
3153
+ "defaultServing": {
3154
+ "$ref": "FoodServing",
3155
+ "description": "Required. Value representing the default serving of the food."
3156
+ },
3157
+ "description": {
3158
+ "description": "Optional. The description of the food.",
3159
+ "type": "string"
3160
+ },
3161
+ "displayName": {
3162
+ "description": "Required. The display name of the food.",
3163
+ "type": "string"
3164
+ },
3165
+ "energyAvg": {
3166
+ "$ref": "EnergyQuantity",
3167
+ "description": "Optional. Value representing the average energy of the food for the default serving."
3168
+ },
3169
+ "energyFromFat": {
3170
+ "$ref": "EnergyQuantity",
3171
+ "description": "Optional. Value representing the energy from fat of the food for the default serving."
3172
+ },
3173
+ "energyMax": {
3174
+ "$ref": "EnergyQuantity",
3175
+ "description": "Optional. Value representing the maximum energy of the food for the default serving."
3176
+ },
3177
+ "energyMin": {
3178
+ "$ref": "EnergyQuantity",
3179
+ "description": "Optional. Value representing the minimum energy of the food for the default serving."
3180
+ },
3181
+ "languageCode": {
3182
+ "description": "Optional. The language code where the food is available in format xx-XX. Supported values are defined in Settings.food_language_code.",
3183
+ "type": "string"
3184
+ },
3185
+ "mealType": {
3186
+ "description": "Optional. The meal type associated with this food.",
3187
+ "enum": [
3188
+ "MEAL_TYPE_UNSPECIFIED",
3189
+ "BEFORE_BREAKFAST",
3190
+ "BREAKFAST",
3191
+ "BEFORE_LUNCH",
3192
+ "LUNCH",
3193
+ "BEFORE_DINNER",
3194
+ "DINNER",
3195
+ "AFTER_DINNER",
3196
+ "SNACK",
3197
+ "ANYTIME"
3198
+ ],
3199
+ "enumDescriptions": [
3200
+ "Unspecified meal type.",
3201
+ "Value representing a meal before breakfast.",
3202
+ "Value representing a breakfast.",
3203
+ "Value representing a morning snack.",
3204
+ "Value representing a lunch.",
3205
+ "Value representing an afternoon snack.",
3206
+ "Value representing dinner.",
3207
+ "Value representing an evening snack.",
3208
+ "Value representing any meal outside of the usual three meals per day.",
3209
+ "Value representing any time (legacy NA)."
3210
+ ],
3211
+ "type": "string"
3212
+ },
3213
+ "nutrients": {
3214
+ "description": "Optional. Value representing the nutrients of the food for the default serving.",
3215
+ "items": {
3216
+ "$ref": "NutrientQuantity"
3217
+ },
3218
+ "type": "array"
3219
+ },
3220
+ "servings": {
3221
+ "description": "Optional. The serving of the food.",
3222
+ "items": {
3223
+ "$ref": "FoodServing"
3224
+ },
3225
+ "type": "array"
3226
+ },
3227
+ "totalCarbohydrate": {
3228
+ "$ref": "WeightQuantity",
3229
+ "description": "Optional. Value representing the total carbohydrate of the food for the default serving."
3230
+ },
3231
+ "totalFat": {
3232
+ "$ref": "WeightQuantity",
3233
+ "description": "Optional. Value representing the total fat of the food for the default serving."
3234
+ }
3235
+ },
3236
+ "type": "object"
3237
+ },
3238
+ "FoodMeasurementUnit": {
3239
+ "description": "Represents a food measurement unit.",
3240
+ "id": "FoodMeasurementUnit",
3241
+ "properties": {
3242
+ "displayName": {
3243
+ "description": "Required. The display name of the food measurement unit (e.g., \"gram\", \"piece\").",
3244
+ "type": "string"
3245
+ },
3246
+ "pluralDisplayName": {
3247
+ "description": "Optional. The plural display name of the food measurement unit (e.g., \"grams\", \"pieces\").",
3248
+ "type": "string"
3249
+ }
3250
+ },
3251
+ "type": "object"
3252
+ },
3253
+ "FoodServing": {
3254
+ "description": "Represents different properties and information about the serving of a specific food.",
3255
+ "id": "FoodServing",
3256
+ "properties": {
3257
+ "amount": {
3258
+ "description": "Optional. Amount of food consumed, fractional values are supported.",
3259
+ "format": "double",
3260
+ "type": "number"
3261
+ },
3262
+ "foodMeasurementUnit": {
3263
+ "description": "Required. Food measurement unit",
3264
+ "type": "string"
3265
+ },
3266
+ "foodMeasurementUnitDisplayName": {
3267
+ "description": "Output only. Legacy measurement unit for serving size in singular form (e.g. \"piece\", \"gram\").",
3268
+ "readOnly": true,
3269
+ "type": "string"
3270
+ },
3271
+ "foodMeasurementUnitDisplayNamePlural": {
3272
+ "description": "Output only. Legacy measurement unit for serving size in plural form (e.g. \"pieces\", \"grams\").",
3273
+ "readOnly": true,
3274
+ "type": "string"
3275
+ },
3276
+ "multiplier": {
3277
+ "description": "Optional. Value representing the multiplier used to compute the energy when using this serving instead of the default serving.",
3278
+ "format": "double",
3279
+ "type": "number"
3280
+ }
3281
+ },
3282
+ "type": "object"
3283
+ },
1966
3284
  "GoogleDevicesandservicesHealthV4DataType": {
1967
3285
  "description": "Represents a type of health data a user can have data points recorded for. It matches the parent resource of collection containing data points of the given type. Clients currently do not need to interact with this resource directly.",
1968
3286
  "id": "GoogleDevicesandservicesHealthV4DataType",
@@ -1972,15 +3290,53 @@
1972
3290
  "type": "string"
1973
3291
  }
1974
3292
  },
1975
- "type": "object"
3293
+ "type": "object"
3294
+ },
3295
+ "GoogleDevicesandservicesHealthV4User": {
3296
+ "description": "Represents a user in the Google Health API. It matches the parent resource of collections owned by the user. Clients currently do not need to interact with this resource directly.",
3297
+ "id": "GoogleDevicesandservicesHealthV4User",
3298
+ "properties": {
3299
+ "name": {
3300
+ "description": "Identifier. The resource name of the user. The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. Format: `users/{user}`",
3301
+ "type": "string"
3302
+ }
3303
+ },
3304
+ "type": "object"
3305
+ },
3306
+ "GoogleDevicesandservicesHealthV4WebhookNotificationCloudLog": {
3307
+ "description": "Log message for a webhook notification sent by the Google Health API to a subscriber's endpoint. Includes the HTTP response received from the endpoint.",
3308
+ "id": "GoogleDevicesandservicesHealthV4WebhookNotificationCloudLog",
3309
+ "properties": {
3310
+ "httpResponse": {
3311
+ "$ref": "HttpResponse",
3312
+ "description": "Required. Represents the HTTP response. This message includes the status code, reason phrase, headers, and body."
3313
+ }
3314
+ },
3315
+ "type": "object"
3316
+ },
3317
+ "HeartBeat": {
3318
+ "description": "A single heart beat measurement.",
3319
+ "id": "HeartBeat",
3320
+ "properties": {
3321
+ "beatsPerMinute": {
3322
+ "description": "Required. The beats-per-minute value extrapolated from the time before the following heart beat. This is calculated as 60000 / rr, where rr is the gap between heart beats in milliseconds (IBI - Interbeat Interval).",
3323
+ "format": "int32",
3324
+ "type": "integer"
3325
+ },
3326
+ "civilTime": {
3327
+ "$ref": "CivilDateTime",
3328
+ "description": "Output only. The civil time in the timezone the subject is in at the time of the observation.",
3329
+ "readOnly": true
3330
+ },
3331
+ "physicalTime": {
3332
+ "description": "Required. The time of the heart beat measurement.",
3333
+ "format": "google-datetime",
3334
+ "type": "string"
1976
3335
  },
1977
- "GoogleDevicesandservicesHealthV4WebhookNotificationCloudLog": {
1978
- "description": "Log message for a webhook notification sent by the Google Health API to a subscriber's endpoint. Includes the HTTP response received from the endpoint.",
1979
- "id": "GoogleDevicesandservicesHealthV4WebhookNotificationCloudLog",
1980
- "properties": {
1981
- "httpResponse": {
1982
- "$ref": "HttpResponse",
1983
- "description": "Required. Represents the HTTP response. This message includes the status code, reason phrase, headers, and body."
3336
+ "utcOffset": {
3337
+ "description": "Required. The UTC offset of the user's timezone when the heart beat measurement occurred.",
3338
+ "format": "google-duration",
3339
+ "type": "string"
1984
3340
  }
1985
3341
  },
1986
3342
  "type": "object"
@@ -2075,7 +3431,7 @@
2075
3431
  "id": "HeartRateVariability",
2076
3432
  "properties": {
2077
3433
  "rootMeanSquareOfSuccessiveDifferencesMilliseconds": {
2078
- "description": "Optional. The root mean square of successive differences between normal heartbeats. This is a measure of heart rate variability used by Fitbit.",
3434
+ "description": "Optional. The root mean square of successive differences between normal heartbeats. This is a measure of heart rate variability used by Google Health.",
2079
3435
  "format": "double",
2080
3436
  "type": "number"
2081
3437
  },
@@ -2266,6 +3622,54 @@
2266
3622
  },
2267
3623
  "type": "object"
2268
3624
  },
3625
+ "IrnProfile": {
3626
+ "description": "Irregular Rhythm Notifications (IRN) Profile details. The Irregular Rhythm Notifications (IRN) feature checks for signs of atrial fibrillation (AFib). The IrnProfile details include information about the user's onboarding status, enrollment status, and the last update time of analyzable data for this feature.",
3627
+ "id": "IrnProfile",
3628
+ "properties": {
3629
+ "enrollmentStatus": {
3630
+ "description": "Required. Whether or not the user is currently enrolled in having their data processed for IRN alerts.",
3631
+ "type": "boolean"
3632
+ },
3633
+ "name": {
3634
+ "description": "Identifier. The resource name of this IrnProfile resource. Format: `users/{user}/irnProfile` Example: `users/1234567890/irnProfile` or `users/me/irnProfile` The {user} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal `me` can also be used to refer to the authenticated user.",
3635
+ "type": "string"
3636
+ },
3637
+ "onboardingStatus": {
3638
+ "description": "Required. Whether or not the user has onboarded onto the IRN feature.",
3639
+ "type": "boolean"
3640
+ },
3641
+ "updateTime": {
3642
+ "description": "Output only. The timestamp of the last piece of analyzable data synced by the user.",
3643
+ "format": "google-datetime",
3644
+ "readOnly": true,
3645
+ "type": "string"
3646
+ }
3647
+ },
3648
+ "type": "object"
3649
+ },
3650
+ "IrregularRhythmNotification": {
3651
+ "description": "Represents an Irregular Rhythm Notification alert, indicating a potential sign of atrial fibrillation (AFib). This data type is based on SaMD feature and any changes to it may require additional review.",
3652
+ "id": "IrregularRhythmNotification",
3653
+ "properties": {
3654
+ "alertWindows": {
3655
+ "description": "Optional. The overlapping analysis windows that were used to evaluate rhythm for potential AFib, containing specific information about the user's heart rhythm.",
3656
+ "items": {
3657
+ "$ref": "AlertWindow"
3658
+ },
3659
+ "type": "array"
3660
+ },
3661
+ "interval": {
3662
+ "$ref": "SessionTimeInterval",
3663
+ "description": "Required. Observed interval."
3664
+ },
3665
+ "medicalDeviceInfo": {
3666
+ "$ref": "MedicalDeviceInfo",
3667
+ "description": "Output only. The meta information for the compatible device used to conduct the measurement. Irregular Rhythm Notification measurements typically populate `algorithm_version`, `service_version`, and `device_model`.",
3668
+ "readOnly": true
3669
+ }
3670
+ },
3671
+ "type": "object"
3672
+ },
2269
3673
  "ListDataPointsResponse": {
2270
3674
  "description": "Response containing raw data points matching the query",
2271
3675
  "id": "ListDataPointsResponse",
@@ -2284,6 +3688,24 @@
2284
3688
  },
2285
3689
  "type": "object"
2286
3690
  },
3691
+ "ListPairedDevicesResponse": {
3692
+ "description": "Response message for ListPairedDevices.",
3693
+ "id": "ListPairedDevicesResponse",
3694
+ "properties": {
3695
+ "nextPageToken": {
3696
+ "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
3697
+ "type": "string"
3698
+ },
3699
+ "pairedDevices": {
3700
+ "description": "The paired devices of the user.",
3701
+ "items": {
3702
+ "$ref": "PairedDevice"
3703
+ },
3704
+ "type": "array"
3705
+ }
3706
+ },
3707
+ "type": "object"
3708
+ },
2287
3709
  "ListSubscribersResponse": {
2288
3710
  "description": "Response message for ListSubscribers.",
2289
3711
  "id": "ListSubscribersResponse",
@@ -2307,6 +3729,56 @@
2307
3729
  },
2308
3730
  "type": "object"
2309
3731
  },
3732
+ "ListSubscriptionsResponse": {
3733
+ "description": "Response message for ListSubscriptions.",
3734
+ "id": "ListSubscriptionsResponse",
3735
+ "properties": {
3736
+ "nextPageToken": {
3737
+ "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
3738
+ "type": "string"
3739
+ },
3740
+ "subscriptions": {
3741
+ "description": "The subscriptions from the specified subscriber.",
3742
+ "items": {
3743
+ "$ref": "Subscription"
3744
+ },
3745
+ "type": "array"
3746
+ }
3747
+ },
3748
+ "type": "object"
3749
+ },
3750
+ "MedicalDeviceInfo": {
3751
+ "description": "Software as Medical Device (SaMD) metadata. Used to construct the Unique Device Identifier (UDI).",
3752
+ "id": "MedicalDeviceInfo",
3753
+ "properties": {
3754
+ "algorithmVersion": {
3755
+ "description": "Output only. The algorithm version used by the feature.",
3756
+ "readOnly": true,
3757
+ "type": "string"
3758
+ },
3759
+ "deviceModel": {
3760
+ "description": "Output only. The model name or device type of the compatible device used to collect the data.",
3761
+ "readOnly": true,
3762
+ "type": "string"
3763
+ },
3764
+ "featureVersion": {
3765
+ "description": "Output only. The version of the feature/app running on the device.",
3766
+ "readOnly": true,
3767
+ "type": "string"
3768
+ },
3769
+ "firmwareVersion": {
3770
+ "description": "Output only. The firmware version running on the compatible device used to collect the data.",
3771
+ "readOnly": true,
3772
+ "type": "string"
3773
+ },
3774
+ "serviceVersion": {
3775
+ "description": "Output only. The service version used by the feature.",
3776
+ "readOnly": true,
3777
+ "type": "string"
3778
+ }
3779
+ },
3780
+ "type": "object"
3781
+ },
2310
3782
  "MetricsSummary": {
2311
3783
  "description": "Summary metrics for an exercise.",
2312
3784
  "id": "MetricsSummary",
@@ -2404,6 +3876,308 @@
2404
3876
  },
2405
3877
  "type": "object"
2406
3878
  },
3879
+ "NutrientQuantity": {
3880
+ "description": "Represents the quantity of a nutrient.",
3881
+ "id": "NutrientQuantity",
3882
+ "properties": {
3883
+ "nutrient": {
3884
+ "description": "Required. Value representing the nutrient.",
3885
+ "enum": [
3886
+ "NUTRIENT_UNSPECIFIED",
3887
+ "BIOTIN",
3888
+ "CAFFEINE",
3889
+ "CALCIUM",
3890
+ "CHLORIDE",
3891
+ "CARBOHYDRATES",
3892
+ "CHOLESTEROL",
3893
+ "CHROMIUM",
3894
+ "COPPER",
3895
+ "DIETARY_FIBER",
3896
+ "FOLIC_ACID",
3897
+ "IODINE",
3898
+ "IRON",
3899
+ "MAGNESIUM",
3900
+ "MANGANESE",
3901
+ "MOLYBDENUM",
3902
+ "MONOUNSATURATED_FAT",
3903
+ "NIACIN",
3904
+ "PANTOTHENIC_ACID",
3905
+ "PHOSPHORUS",
3906
+ "POLYUNSATURATED_FAT",
3907
+ "POTASSIUM",
3908
+ "PROTEIN",
3909
+ "RIBOFLAVIN",
3910
+ "SATURATED_FAT",
3911
+ "SELENIUM",
3912
+ "SODIUM",
3913
+ "SUGAR",
3914
+ "THIAMIN",
3915
+ "TRANS_FAT",
3916
+ "UNSATURATED_FAT",
3917
+ "VITAMIN_A",
3918
+ "VITAMIN_B12",
3919
+ "VITAMIN_B6",
3920
+ "VITAMIN_C",
3921
+ "VITAMIN_D",
3922
+ "VITAMIN_E",
3923
+ "VITAMIN_K",
3924
+ "ZINC",
3925
+ "FOLATE"
3926
+ ],
3927
+ "enumDescriptions": [
3928
+ "Unspecified nutrient.",
3929
+ "Value representing biotin nutrient.",
3930
+ "Value representing caffeine nutrient.",
3931
+ "Value representing calcium nutrient.",
3932
+ "Value representing chloride nutrient.",
3933
+ "Value representing carbohydrates nutrient.",
3934
+ "Value representing cholesterol nutrient.",
3935
+ "Value representing chromium nutrient.",
3936
+ "Value representing copper nutrient.",
3937
+ "Value representing dietary fiber nutrient.",
3938
+ "Value representing folic acid nutrient.",
3939
+ "Value representing iodine nutrient.",
3940
+ "Value representing iron nutrient.",
3941
+ "Value representing magnesium nutrient.",
3942
+ "Value representing manganese nutrient.",
3943
+ "Value representing molybdenum nutrient.",
3944
+ "Value representing monounsaturated fat nutrient.",
3945
+ "Value representing niacin nutrient.",
3946
+ "Value representing pantothenic acid nutrient.",
3947
+ "Value representing phosphorus nutrient.",
3948
+ "Value representing polyunsaturated fat nutrient.",
3949
+ "Value representing potassium nutrient.",
3950
+ "Value representing protein nutrient.",
3951
+ "Value representing riboflavin nutrient.",
3952
+ "Value representing saturated fat nutrient.",
3953
+ "Value representing selenium nutrient.",
3954
+ "Value representing sodium nutrient.",
3955
+ "Value representing sugar nutrient.",
3956
+ "Value representing thiamin nutrient.",
3957
+ "Value representing trans fat nutrient.",
3958
+ "Value representing unsaturated fat nutrient.",
3959
+ "Value representing vitamin A nutrient.",
3960
+ "Value representing vitamin B12 nutrient.",
3961
+ "Value representing vitamin B6 nutrient.",
3962
+ "Value representing vitamin C nutrient.",
3963
+ "Value representing vitamin D nutrient.",
3964
+ "Value representing vitamin E nutrient.",
3965
+ "Value representing vitamin K nutrient.",
3966
+ "Value representing zinc nutrient.",
3967
+ "Value representing folate nutrient."
3968
+ ],
3969
+ "type": "string"
3970
+ },
3971
+ "quantity": {
3972
+ "$ref": "WeightQuantity",
3973
+ "description": "Required. Value representing the quantity of the nutrient."
3974
+ }
3975
+ },
3976
+ "type": "object"
3977
+ },
3978
+ "NutrientQuantityRollup": {
3979
+ "description": "Nutrient quantity rollup.",
3980
+ "id": "NutrientQuantityRollup",
3981
+ "properties": {
3982
+ "nutrient": {
3983
+ "description": "Required. Aggregated nutrient.",
3984
+ "enum": [
3985
+ "NUTRIENT_UNSPECIFIED",
3986
+ "BIOTIN",
3987
+ "CAFFEINE",
3988
+ "CALCIUM",
3989
+ "CHLORIDE",
3990
+ "CARBOHYDRATES",
3991
+ "CHOLESTEROL",
3992
+ "CHROMIUM",
3993
+ "COPPER",
3994
+ "DIETARY_FIBER",
3995
+ "FOLIC_ACID",
3996
+ "IODINE",
3997
+ "IRON",
3998
+ "MAGNESIUM",
3999
+ "MANGANESE",
4000
+ "MOLYBDENUM",
4001
+ "MONOUNSATURATED_FAT",
4002
+ "NIACIN",
4003
+ "PANTOTHENIC_ACID",
4004
+ "PHOSPHORUS",
4005
+ "POLYUNSATURATED_FAT",
4006
+ "POTASSIUM",
4007
+ "PROTEIN",
4008
+ "RIBOFLAVIN",
4009
+ "SATURATED_FAT",
4010
+ "SELENIUM",
4011
+ "SODIUM",
4012
+ "SUGAR",
4013
+ "THIAMIN",
4014
+ "TRANS_FAT",
4015
+ "UNSATURATED_FAT",
4016
+ "VITAMIN_A",
4017
+ "VITAMIN_B12",
4018
+ "VITAMIN_B6",
4019
+ "VITAMIN_C",
4020
+ "VITAMIN_D",
4021
+ "VITAMIN_E",
4022
+ "VITAMIN_K",
4023
+ "ZINC",
4024
+ "FOLATE"
4025
+ ],
4026
+ "enumDescriptions": [
4027
+ "Unspecified nutrient.",
4028
+ "Value representing biotin nutrient.",
4029
+ "Value representing caffeine nutrient.",
4030
+ "Value representing calcium nutrient.",
4031
+ "Value representing chloride nutrient.",
4032
+ "Value representing carbohydrates nutrient.",
4033
+ "Value representing cholesterol nutrient.",
4034
+ "Value representing chromium nutrient.",
4035
+ "Value representing copper nutrient.",
4036
+ "Value representing dietary fiber nutrient.",
4037
+ "Value representing folic acid nutrient.",
4038
+ "Value representing iodine nutrient.",
4039
+ "Value representing iron nutrient.",
4040
+ "Value representing magnesium nutrient.",
4041
+ "Value representing manganese nutrient.",
4042
+ "Value representing molybdenum nutrient.",
4043
+ "Value representing monounsaturated fat nutrient.",
4044
+ "Value representing niacin nutrient.",
4045
+ "Value representing pantothenic acid nutrient.",
4046
+ "Value representing phosphorus nutrient.",
4047
+ "Value representing polyunsaturated fat nutrient.",
4048
+ "Value representing potassium nutrient.",
4049
+ "Value representing protein nutrient.",
4050
+ "Value representing riboflavin nutrient.",
4051
+ "Value representing saturated fat nutrient.",
4052
+ "Value representing selenium nutrient.",
4053
+ "Value representing sodium nutrient.",
4054
+ "Value representing sugar nutrient.",
4055
+ "Value representing thiamin nutrient.",
4056
+ "Value representing trans fat nutrient.",
4057
+ "Value representing unsaturated fat nutrient.",
4058
+ "Value representing vitamin A nutrient.",
4059
+ "Value representing vitamin B12 nutrient.",
4060
+ "Value representing vitamin B6 nutrient.",
4061
+ "Value representing vitamin C nutrient.",
4062
+ "Value representing vitamin D nutrient.",
4063
+ "Value representing vitamin E nutrient.",
4064
+ "Value representing vitamin K nutrient.",
4065
+ "Value representing zinc nutrient.",
4066
+ "Value representing folate nutrient."
4067
+ ],
4068
+ "type": "string"
4069
+ },
4070
+ "quantity": {
4071
+ "$ref": "WeightQuantityRollup",
4072
+ "description": "Required. Aggregated nutrient weight."
4073
+ }
4074
+ },
4075
+ "type": "object"
4076
+ },
4077
+ "NutritionLog": {
4078
+ "description": "Holds information about a user logged food. There are two ways of creating a nutrition log based on the food type: 1. Identified food: Using the food field, which is a reference to a Food resource. In this case fields `nutrients`, `energy`, `energy_from_fat`, `total_carbohydrate`, `total_fat`, `food_display_name` will be populated based on the referenced food. 2. Anonymous food: Using the `food_display_name` field and setting the `nutrients`, `energy`, `energy_from_fat`, `total_carbohydrate`, `total_fat` fields manually. The identified food is preferred over the anonymous food. Nutrition logs created from anonymous food are not be editable.",
4079
+ "id": "NutritionLog",
4080
+ "properties": {
4081
+ "energy": {
4082
+ "$ref": "EnergyQuantity",
4083
+ "description": "Optional. Value representing the energy of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually."
4084
+ },
4085
+ "energyFromFat": {
4086
+ "$ref": "EnergyQuantity",
4087
+ "description": "Optional. Value representing the energy from fat of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually."
4088
+ },
4089
+ "food": {
4090
+ "description": "Required. Represents the food ID.",
4091
+ "type": "string"
4092
+ },
4093
+ "foodDisplayName": {
4094
+ "description": "Value representing the display name of the food. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually.",
4095
+ "type": "string"
4096
+ },
4097
+ "interval": {
4098
+ "$ref": "SessionTimeInterval",
4099
+ "description": "Required. Observed interval."
4100
+ },
4101
+ "mealType": {
4102
+ "description": "Optional. Value representing the meal type of the nutrition log.",
4103
+ "enum": [
4104
+ "MEAL_TYPE_UNSPECIFIED",
4105
+ "BEFORE_BREAKFAST",
4106
+ "BREAKFAST",
4107
+ "BEFORE_LUNCH",
4108
+ "LUNCH",
4109
+ "BEFORE_DINNER",
4110
+ "DINNER",
4111
+ "AFTER_DINNER",
4112
+ "SNACK",
4113
+ "ANYTIME"
4114
+ ],
4115
+ "enumDescriptions": [
4116
+ "Unspecified meal type.",
4117
+ "Value representing a meal before breakfast.",
4118
+ "Value representing a breakfast.",
4119
+ "Value representing a morning snack.",
4120
+ "Value representing a lunch.",
4121
+ "Value representing an afternoon snack.",
4122
+ "Value representing dinner.",
4123
+ "Value representing an evening snack.",
4124
+ "Value representing any meal outside of the usual three meals per day.",
4125
+ "Value representing any time (legacy NA)."
4126
+ ],
4127
+ "type": "string"
4128
+ },
4129
+ "nutrients": {
4130
+ "description": "Optional. Value representing the nutrients of the nutrition log.",
4131
+ "items": {
4132
+ "$ref": "NutrientQuantity"
4133
+ },
4134
+ "type": "array"
4135
+ },
4136
+ "serving": {
4137
+ "$ref": "Serving",
4138
+ "description": "Optional. Value representing the nutrition log serving."
4139
+ },
4140
+ "totalCarbohydrate": {
4141
+ "$ref": "WeightQuantity",
4142
+ "description": "Optional. Value representing the total carbohydrate of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually."
4143
+ },
4144
+ "totalFat": {
4145
+ "$ref": "WeightQuantity",
4146
+ "description": "Optional. Value representing the total fat of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually."
4147
+ }
4148
+ },
4149
+ "type": "object"
4150
+ },
4151
+ "NutritionLogRollupValue": {
4152
+ "description": "Represents the result of the rollup of the nutrition log data type.",
4153
+ "id": "NutritionLogRollupValue",
4154
+ "properties": {
4155
+ "energy": {
4156
+ "$ref": "EnergyQuantityRollup",
4157
+ "description": "Energy rollup."
4158
+ },
4159
+ "energyFromFat": {
4160
+ "$ref": "EnergyQuantityRollup",
4161
+ "description": "Value Energy from fat rollup."
4162
+ },
4163
+ "nutrients": {
4164
+ "description": "List of the nutrient roll-ups by the nutrient type.",
4165
+ "items": {
4166
+ "$ref": "NutrientQuantityRollup"
4167
+ },
4168
+ "type": "array"
4169
+ },
4170
+ "totalCarbohydrate": {
4171
+ "$ref": "WeightQuantityRollup",
4172
+ "description": "Total carbohydrate rollup."
4173
+ },
4174
+ "totalFat": {
4175
+ "$ref": "WeightQuantityRollup",
4176
+ "description": "Total fat rollup."
4177
+ }
4178
+ },
4179
+ "type": "object"
4180
+ },
2407
4181
  "ObservationSampleTime": {
2408
4182
  "description": "Represents a sample time of an observed data point.",
2409
4183
  "id": "ObservationSampleTime",
@@ -2541,6 +4315,67 @@
2541
4315
  },
2542
4316
  "type": "object"
2543
4317
  },
4318
+ "PairedDevice": {
4319
+ "description": "User's Paired 1P Device The PairedDevice details include information about the device type, battery status, battery level, last sync time, device version, mac address, and features.",
4320
+ "id": "PairedDevice",
4321
+ "properties": {
4322
+ "batteryLevel": {
4323
+ "description": "Output only. The battery level of the device.",
4324
+ "format": "int32",
4325
+ "readOnly": true,
4326
+ "type": "integer"
4327
+ },
4328
+ "batteryStatus": {
4329
+ "description": "Output only. The battery status of the device. Supported: High | Medium | Low | Empty",
4330
+ "readOnly": true,
4331
+ "type": "string"
4332
+ },
4333
+ "deviceType": {
4334
+ "description": "Output only. The device type. Supported: TRACKER | SCALE",
4335
+ "enum": [
4336
+ "DEVICE_TYPE_UNSPECIFIED",
4337
+ "TRACKER",
4338
+ "SCALE"
4339
+ ],
4340
+ "enumDescriptions": [
4341
+ "Device type is not specified.",
4342
+ "Device type is tracker.",
4343
+ "Device type is scale."
4344
+ ],
4345
+ "readOnly": true,
4346
+ "type": "string"
4347
+ },
4348
+ "deviceVersion": {
4349
+ "description": "Output only. The product name of the device",
4350
+ "readOnly": true,
4351
+ "type": "string"
4352
+ },
4353
+ "features": {
4354
+ "description": "Output only. Lists of unique features supported by the device. Comprehensive list of supported features: **Fitness Tracking** - `ACTIVE_MINUTES`: Legacy active minutes. - `AUTOSTRIDE`: Automatic stride length calculation. - `BIKE_ONBOARDING`: Cycling UI support. - `CALORIES`: Daily burned calories. - `DISTANCE`: Daily distance tracking. - `ELEVATION`: Floors climbed. - `INACTIVITY_ALERTS`: Reminders to move. - `SEDENTARY_TIME`: Tracks inactive time. - `STEPS`: Daily steps. - `SWIM`: Swim tracking (laps/strokes). - `AUTORUN`: Automatic run detection. - `ACTIVE_ZONE_MINUTES`: Active Zone Minutes (AZM). **Heart Rate & Health** - `HEART_RATE`: Continuous heart rate (PPG). - `BAT_SIGNAL`: High/Low Heart Rate Alerts. **Advanced Sensors** - `SPO2`: Blood oxygen saturation. - `NIGHTTIME_OXYGEN_SATURATION`: Sleep SpO2. - `ESTIMATED_OXYGEN_VARIATION`: Estimated Oxygen Variation. - `EDA`: Electrodermal Activity (stress). - `SKIN_TEMPERATURE`: Skin temperature variation. - `INTERNAL_DEVICE_TEMPERATURE`: Internal device temperature. **Sleep & Wellness** - `SLEEP`: Basic sleep tracking. - `SMART_SLEEP`: Advanced sleep tracking (stages/score). - `BEDTIME_REMINDER`: Bedtime reminders. - `SOUNDSCAPE`: Snore and noise detection. **Advanced Workouts** - `WB`: Custom Workout Builder. - `AUTOCUES`: Auto Cues / Auto Lap. - `DWR_RUN`: Daily Run Recommendations. - `ADVANCED_RUNNING`: Advanced Running Dynamics (e.g., GCT, VO). **GPS & Location** - `GPS`: Built-in GPS. - `CONNECTED_GPS`: Connected GPS (uses phone). - `LOCATION_HINT`: Location helper. **Payments & NFC** - `PAYMENTS`: NFC payments (Fitbit Pay/Google Wallet). - `FELICA`: FeliCa support (Japan payments/transit). **Activity Detection** - `GROK`: SmartTrack automatic activity detection. - `RETRO_AR`: Retroactive Activity Recognition prompts. **Smart Features & UI** - `ALARMS`: Silent alarms. - `BLE_MUSIC_CONTROL`: BLE music control. - `MUSIC`: Direct music storage/control. - `YOUTUBE_MUSIC_SUPPORTED`: YouTube Music support. - `GALLERY`: App Gallery. - `TUTORIAL_SUPPORTED`: On-screen tutorials. - `SMILEY_EMOTE`: Legacy Zip face. - `MOBILE_TO_DEVICE_DEEPLINK`: Mobile to device settings deep link. - `HIDE_GALLERY`: Option to hide Gallery. - `HIDE_GOAL_SELECTION`: Option to hide goal selection. - `DIGITAL_WARRANTY_SUPPORTED`: Digital warranty display. - `DIRECT_DEVICE_SETTINGS_SUPPORTED`: Direct device settings management. **Gym HR Broadcasting** - `ASPEN_SUPPORTED`: Broadcast HR to gym equipment. - `ASPEN_REMOTE_UI_SUPPORTED`: Remote UI for HR sharing. **Privacy & Security** - `FINITE_IMPROBABILITY`: BLE Resolvable Private Address (RPA) privacy. - `DOMAIN_KEY_SYNC`: Domain key synchronization. **BLE Protocol** - `BONDING`: Secure BLE bonding. - `ADVERTISES_SERIAL`: Advertises serial number. - `STATUS_CHARACTERISTIC`: BLE Status Characteristic. - `TRACKER_CHANNEL_CHARACTERISTIC`: BLE Tracker Channel Characteristic. - `PING_CHARACTERISTIC`: BLE Ping Characteristic. **Cellular & Wi-Fi** - `MOBILE_DATA`: LTE cellular support. - `SINGLE_AP_WIFI`: Single AP Wi-Fi. - `MULTI_AP_WIFI`: Multi AP Wi-Fi. - `WIFI_FWUP`: Firmware updates over Wi-Fi. **Data Sync & Transfer** - `APP_SYNC`: Background app sync. - `LIVE_DATA`: Real-time data streaming. - `EVENT_BASED_SYNC_SUPPORTED`: Event-based sync. - `TIME_SERVICE`: Time synchronization service. - `REMOTE_FILE_PROVIDER`: Remote file transfer. - `DIRECT_COMMS_ALARMS`: Direct communication for alarms. - `DIRECT_COMMS_EXERCISE`: Direct communication for exercise. - `DIRECT_COMMS_BATTERY_ALERTS`: Direct communication for battery alerts. **Google Integrations** - `PARROT_TREE_SUPPORTED`: Find My Device support.",
4355
+ "items": {
4356
+ "type": "string"
4357
+ },
4358
+ "readOnly": true,
4359
+ "type": "array"
4360
+ },
4361
+ "lastSyncTime": {
4362
+ "description": "Output only. The time of last sync with the Fitbit mobile application.",
4363
+ "format": "google-datetime",
4364
+ "readOnly": true,
4365
+ "type": "string"
4366
+ },
4367
+ "macAddress": {
4368
+ "description": "Output only. Mac ID number of the device.",
4369
+ "readOnly": true,
4370
+ "type": "string"
4371
+ },
4372
+ "name": {
4373
+ "description": "Identifier. The resource name of this Device resource. Format: `users/{user}/pairedDevices/{paired_device}` Example: `users/1234567890/pairedDevices/123` or `users/me/pairedDevices/123`",
4374
+ "type": "string"
4375
+ }
4376
+ },
4377
+ "type": "object"
4378
+ },
2544
4379
  "Profile": {
2545
4380
  "description": "Profile details.",
2546
4381
  "id": "Profile",
@@ -2606,6 +4441,10 @@
2606
4441
  "description": "A reconciled computed or recorded metric.",
2607
4442
  "id": "ReconciledDataPoint",
2608
4443
  "properties": {
4444
+ "activeEnergyBurned": {
4445
+ "$ref": "ActiveEnergyBurned",
4446
+ "description": "Data for points in the `active-energy-burned` interval data type collection."
4447
+ },
2609
4448
  "activeMinutes": {
2610
4449
  "$ref": "ActiveMinutes",
2611
4450
  "description": "Data for points in the `active-minutes` interval data type collection."
@@ -2626,10 +4465,18 @@
2626
4465
  "$ref": "BasalEnergyBurned",
2627
4466
  "description": "Data for points in the `basal-energy-burned` interval data type collection."
2628
4467
  },
4468
+ "bloodGlucose": {
4469
+ "$ref": "BloodGlucose",
4470
+ "description": "Data for points in the `blood-glucose` sample data type collection."
4471
+ },
2629
4472
  "bodyFat": {
2630
4473
  "$ref": "BodyFat",
2631
4474
  "description": "Data for points in the `body-fat` sample data type collection."
2632
4475
  },
4476
+ "coreBodyTemperature": {
4477
+ "$ref": "CoreBodyTemperature",
4478
+ "description": "Data for points in the `core-body-temperature` sample data type collection."
4479
+ },
2633
4480
  "dailyHeartRateVariability": {
2634
4481
  "$ref": "DailyHeartRateVariability",
2635
4482
  "description": "Data for points in the `daily-heart-rate-variability` daily data type collection."
@@ -2659,7 +4506,7 @@
2659
4506
  "description": "Data for points in the `daily-vo2-max` daily data type collection."
2660
4507
  },
2661
4508
  "dataPointName": {
2662
- "description": "Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `total-calories` for the `total_calories` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens.",
4509
+ "description": "Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `heart-rate` for the `heart_rate` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens.",
2663
4510
  "type": "string"
2664
4511
  },
2665
4512
  "distance": {
@@ -2690,6 +4537,10 @@
2690
4537
  "$ref": "HydrationLog",
2691
4538
  "description": "Data for points in the `hydration-log` session data type collection."
2692
4539
  },
4540
+ "nutritionLog": {
4541
+ "$ref": "NutritionLog",
4542
+ "description": "Data for points in the `nutrition-log` session data type collection."
4543
+ },
2693
4544
  "oxygenSaturation": {
2694
4545
  "$ref": "OxygenSaturation",
2695
4546
  "description": "Data for points in the `oxygen-saturation` sample data type collection."
@@ -2847,9 +4698,13 @@
2847
4698
  "type": "object"
2848
4699
  },
2849
4700
  "RollupDataPoint": {
2850
- "description": "Value of a rollup for a single physical time interval (aggregation window)",
4701
+ "description": "Value of a rollup for a single physical time interval (aggregation window) of reconciled data points from all data sources, excluding those data points that are identified as recorded by wearables in intervals when they were not actually worn.",
2851
4702
  "id": "RollupDataPoint",
2852
4703
  "properties": {
4704
+ "activeEnergyBurned": {
4705
+ "$ref": "ActiveEnergyBurnedRollupValue",
4706
+ "description": "Returned by default when rolling up data points from the `active-energy-burned` data type."
4707
+ },
2853
4708
  "activeMinutes": {
2854
4709
  "$ref": "ActiveMinutesRollupValue",
2855
4710
  "description": "Returned by default when rolling up data points from the `active-minutes` data type, or when requested explicitly using the `active-minutes` rollup type identifier."
@@ -2866,6 +4721,10 @@
2866
4721
  "$ref": "AltitudeRollupValue",
2867
4722
  "description": "Returned by default when rolling up data points from the `altitude` data type, or when requested explicitly using the `altitude` rollup type identifier."
2868
4723
  },
4724
+ "bloodGlucose": {
4725
+ "$ref": "BloodGlucoseRollupValue",
4726
+ "description": "Returned by default when rolling up data points from the `blood-glucose` data type."
4727
+ },
2869
4728
  "bodyFat": {
2870
4729
  "$ref": "BodyFatRollupValue",
2871
4730
  "description": "Returned by default when rolling up data points from the `body-fat` data type, or when requested explicitly using the `body-fat` rollup type identifier."
@@ -2874,6 +4733,10 @@
2874
4733
  "$ref": "CaloriesInHeartRateZoneRollupValue",
2875
4734
  "description": "Returned by default when rolling up data points from the `calories-in-heart-rate-zone` data type, or when requested explicitly using the `calories-in-heart-rate-zone` rollup type identifier."
2876
4735
  },
4736
+ "coreBodyTemperature": {
4737
+ "$ref": "CoreBodyTemperatureRollupValue",
4738
+ "description": "Returned by default when rolling up data points from the `core-body-temperature` data type, or when requested explicitly using the `core-body-temperature` rollup type identifier."
4739
+ },
2877
4740
  "distance": {
2878
4741
  "$ref": "DistanceRollupValue",
2879
4742
  "description": "Returned by default when rolling up data points from the `distance` data type, or when requested explicitly using the `distance` rollup type identifier."
@@ -2895,6 +4758,10 @@
2895
4758
  "$ref": "HydrationLogRollupValue",
2896
4759
  "description": "Returned by default when rolling up data points from the `hydration-log` data type, or when requested explicitly using the `hydration-log` rollup type identifier."
2897
4760
  },
4761
+ "nutritionLog": {
4762
+ "$ref": "NutritionLogRollupValue",
4763
+ "description": "Returned by default when rolling up data points from the `nutrition-log` data type, or when requested explicitly using the `nutrition-log` rollup type identifier."
4764
+ },
2898
4765
  "runVo2Max": {
2899
4766
  "$ref": "RunVO2MaxRollupValue",
2900
4767
  "description": "Returned by default when rolling up data points from the `run-vo2-max` data type, or when requested explicitly using the `run-vo2-max` rollup type identifier."
@@ -2992,6 +4859,27 @@
2992
4859
  },
2993
4860
  "type": "object"
2994
4861
  },
4862
+ "Serving": {
4863
+ "description": "Represents different properties and information about the serving of a specific food.",
4864
+ "id": "Serving",
4865
+ "properties": {
4866
+ "amount": {
4867
+ "description": "Optional. Amount of food consumed, fractional values are supported.",
4868
+ "format": "double",
4869
+ "type": "number"
4870
+ },
4871
+ "foodMeasurementUnit": {
4872
+ "description": "Required. Food measurement unit",
4873
+ "type": "string"
4874
+ },
4875
+ "foodMeasurementUnitDisplayName": {
4876
+ "description": "Output only. Legacy measurement unit for serving size in singular form (e.g. \"piece\", \"gram\").",
4877
+ "readOnly": true,
4878
+ "type": "string"
4879
+ }
4880
+ },
4881
+ "type": "object"
4882
+ },
2995
4883
  "SessionTimeInterval": {
2996
4884
  "description": "Represents a time interval of session data point, which bundles multiple observed metrics together.",
2997
4885
  "id": "SessionTimeInterval",
@@ -3051,6 +4939,11 @@
3051
4939
  ],
3052
4940
  "type": "string"
3053
4941
  },
4942
+ "foodLanguageCode": {
4943
+ "description": "Output only. The food language code derived from the user's food database. Possible values: `'en-US'`, `'en-GB'`, `'de-DE'`, `'es-ES'`, `'fr-FR'`, `'zh-CN'`, `'zh-TW'`, `'ja-JP'`, `'en-AU'`, `'en-CA'`, `'it-IT'`, `'ko-KR'`, `'es-MX'`, `'en-IN'`, `'en-SG'`, `'en-PH'`, `'en-IE'`, `'fr-CA'`. Updates to this field are currently not supported.",
4944
+ "readOnly": true,
4945
+ "type": "string"
4946
+ },
3054
4947
  "glucoseUnit": {
3055
4948
  "description": "Optional. The measurement unit defined in the user's account settings.",
3056
4949
  "enum": [
@@ -3270,7 +5163,7 @@
3270
5163
  "type": "boolean"
3271
5164
  },
3272
5165
  "processed": {
3273
- "description": "Output only. Sleep and sleep stages algorithms finished processing.",
5166
+ "description": "Output only. Sleep and sleep stages algorithms finished processing. A `true` value indicates whether all data processing for the session is complete. A `false` value means sleep period is detected but sleep stages is still processing.",
3274
5167
  "readOnly": true,
3275
5168
  "type": "boolean"
3276
5169
  },
@@ -3624,7 +5517,7 @@
3624
5517
  "id": "SubscriberConfig",
3625
5518
  "properties": {
3626
5519
  "dataTypes": {
3627
- "description": "Required. Supported data types are: \"altitude\", \"distance\", \"floors\", \"sleep\", \"steps\", \"weight\". Values should be in kebab-case.",
5520
+ "description": "Required. See [Google Health API data types](https://developers.google.com/health/data-types) for the list of supported data types. Values should be in kebab-case.",
3628
5521
  "items": {
3629
5522
  "type": "string"
3630
5523
  },
@@ -3647,6 +5540,28 @@
3647
5540
  },
3648
5541
  "type": "object"
3649
5542
  },
5543
+ "Subscription": {
5544
+ "description": "A subscription to a data collection for a specific user, to be delivered to a subscriber.",
5545
+ "id": "Subscription",
5546
+ "properties": {
5547
+ "dataTypes": {
5548
+ "description": "Optional. Data types subscribed to. A subscriber will only receive notifications for data types that are declared here. A subscription can only subscribe to the data types of the subscriber. The values should be in the format \"users/{health_user_id}/dataTypes/{data_type}\" where `{data_type}` is one of \"altitude\", \"distance\", \"floors\", \"sleep\", \"steps\", \"weight\".",
5549
+ "items": {
5550
+ "type": "string"
5551
+ },
5552
+ "type": "array"
5553
+ },
5554
+ "name": {
5555
+ "description": "Identifier. The resource name of the Subscription. Format: `projects/{project}/subscribers/{subscriber}/subscriptions/{subscription}` Example: `projects/my-project/subscribers/my-subscriber-123/subscriptions/my-subscription-456` The {project} ID is mandatory (6-30 characters, matching /a-z{6,30}/) The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise. The {subscription} ID is user-settable (4-36 chars, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) or system-generated otherwise.",
5556
+ "type": "string"
5557
+ },
5558
+ "user": {
5559
+ "description": "Immutable. The resource name of the user for whom this subscription is active. Format: `users/{user}` where `{user}` is the public `healthUserId` as returned by the `GetIdentity` action in the profile PAPI (see `google.devicesandservices.health.v4main.HealthProfileService.GetIdentity`).",
5560
+ "type": "string"
5561
+ }
5562
+ },
5563
+ "type": "object"
5564
+ },
3650
5565
  "SwimLengthsData": {
3651
5566
  "description": "Swim lengths data over the time interval.",
3652
5567
  "id": "SwimLengthsData",
@@ -3905,7 +5820,7 @@
3905
5820
  "type": "number"
3906
5821
  },
3907
5822
  "userProvidedUnit": {
3908
- "description": "Optional. Value representing the user provided unit.",
5823
+ "description": "Optional. Value representing the user provided unit, used only for user-facing input and display purposes. In the API format, all volume quantities are converted to milliliters.",
3909
5824
  "enum": [
3910
5825
  "VOLUME_UNIT_UNSPECIFIED",
3911
5826
  "CUP_IMPERIAL",
@@ -3991,6 +5906,82 @@
3991
5906
  },
3992
5907
  "type": "object"
3993
5908
  },
5909
+ "WeightQuantity": {
5910
+ "description": "Represents the weight quantity.",
5911
+ "id": "WeightQuantity",
5912
+ "properties": {
5913
+ "grams": {
5914
+ "description": "Required. Value representing the weight in grams.",
5915
+ "format": "double",
5916
+ "type": "number"
5917
+ },
5918
+ "userProvidedUnit": {
5919
+ "description": "Optional. Value representing the user provided unit.",
5920
+ "enum": [
5921
+ "WEIGHT_UNIT_UNSPECIFIED",
5922
+ "GRAM",
5923
+ "KILOGRAM",
5924
+ "OUNCE",
5925
+ "POUND",
5926
+ "STONE",
5927
+ "MILLIGRAM",
5928
+ "MICROGRAM",
5929
+ "NANOGRAM"
5930
+ ],
5931
+ "enumDescriptions": [
5932
+ "Unspecified weight unit.",
5933
+ "Value representing gram.",
5934
+ "Value representing kilogram.",
5935
+ "Value representing ounce.",
5936
+ "Value representing pound.",
5937
+ "Value representing stone.",
5938
+ "Value representing milligram.",
5939
+ "Value representing microgram.",
5940
+ "Value representing nanogram."
5941
+ ],
5942
+ "type": "string"
5943
+ }
5944
+ },
5945
+ "type": "object"
5946
+ },
5947
+ "WeightQuantityRollup": {
5948
+ "description": "Rollup for the weight.",
5949
+ "id": "WeightQuantityRollup",
5950
+ "properties": {
5951
+ "gramsSum": {
5952
+ "description": "Required. The sum of the weight in grams.",
5953
+ "format": "double",
5954
+ "type": "number"
5955
+ },
5956
+ "userProvidedUnitLast": {
5957
+ "description": "Optional. The user provided unit on the last element.",
5958
+ "enum": [
5959
+ "WEIGHT_UNIT_UNSPECIFIED",
5960
+ "GRAM",
5961
+ "KILOGRAM",
5962
+ "OUNCE",
5963
+ "POUND",
5964
+ "STONE",
5965
+ "MILLIGRAM",
5966
+ "MICROGRAM",
5967
+ "NANOGRAM"
5968
+ ],
5969
+ "enumDescriptions": [
5970
+ "Unspecified weight unit.",
5971
+ "Value representing gram.",
5972
+ "Value representing kilogram.",
5973
+ "Value representing ounce.",
5974
+ "Value representing pound.",
5975
+ "Value representing stone.",
5976
+ "Value representing milligram.",
5977
+ "Value representing microgram.",
5978
+ "Value representing nanogram."
5979
+ ],
5980
+ "type": "string"
5981
+ }
5982
+ },
5983
+ "type": "object"
5984
+ },
3994
5985
  "WeightRollupValue": {
3995
5986
  "description": "Represents the result of the rollup of the weight data type.",
3996
5987
  "id": "WeightRollupValue",