{"components":{"schemas":{"Dashboard":{"description":"\u516c\u5f00\u4eea\u8868\u76d8\u7f13\u5b58\uff1b\u4e0a\u6e38\u5206\u533a\u548c\u8bb0\u5f55\u5b57\u6bb5\u968f\u53ef\u7528\u6570\u636e\u53d8\u5316\uff0c\u4e0d\u542b\u5185\u90e8 files\u3002","not":{"required":["files"]},"type":"object"},"Dataset":{"properties":{"columns":{"items":{"type":"string"},"type":"array"},"dataset":{"type":"string"},"label":{"type":"string"},"rows":{"items":{"type":"object"},"type":"array"}},"required":["dataset","label","columns","rows"],"type":"object"},"Envelope":{"properties":{"api_version":{"const":"v1"},"data":{},"generated_at":{"type":["string","null"]},"links":{"type":"object"},"meta":{"type":"object"},"profile_id":{"type":"string"},"resource":{"type":"string"}},"required":["api_version","resource","generated_at","data"],"type":"object"},"Error":{"properties":{"api_version":{"type":"string"},"code":{"type":"string"},"error":{"anyOf":[{"type":"string"},{"properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"type":"object"}]}},"required":["error"],"type":"object"},"OpenAPI":{"properties":{"info":{"type":"object"},"openapi":{"const":"3.1.0"},"paths":{"type":"object"}},"required":["openapi","info","paths"],"type":"object"},"Page":{"properties":{"count":{"minimum":0,"type":"integer"},"limit":{"type":["integer","null"]},"offset":{"minimum":0,"type":"integer"},"total":{"minimum":0,"type":"integer"}},"required":["total","offset","limit","count"],"type":"object"},"Section":{"properties":{"key":{"type":"string"},"label":{"type":"string"},"section":{"type":"string"},"summary":{}},"required":["key","section","label","summary"],"type":"object"},"Series":{"properties":{"dimension":{"enum":["date","period"]},"granularity":{"enum":["daily","weekly","monthly"]},"metrics":{"items":{"type":"object"},"type":"array"},"points":{"items":{"type":"object"},"type":"array"}},"required":["granularity","dimension","metrics","points"],"type":"object"},"Table":{"properties":{"label":{"type":"string"},"rows":{"items":{"type":"object"},"type":"array"},"table":{"type":"string"}},"required":["table","label","rows"],"type":"object"}},"securitySchemes":{"SessionCookie":{"description":"\u4ec5\u79c1\u6709\u6a21\u5f0f\u9700\u8981\uff1a\u5728\u672c\u7ad9\u4eea\u8868\u76d8\u767b\u5f55\u540e\u7531\u6d4f\u89c8\u5668\u7ba1\u7406\uff1b\u4e0d\u662f Google Health OAuth \u4ee4\u724c\u3002","in":"cookie","name":"fitflare_session","type":"apiKey"}}},"info":{"description":"\u5355\u4eba\u53ea\u8bfb\u672c\u5730\u7f13\u5b58 API\u3002/me \u59cb\u7ec8\u5bf9\u5e94\u914d\u7f6e\u7684\u552f\u4e00\u8d26\u6237\u3002\u672c\u90e8\u7f72\u4e3a\u516c\u5f00\u6a21\u5f0f\uff0c\u65e0\u9700\u767b\u5f55\u5373\u53ef\u8bfb\u53d6\u3002\u5b57\u6bb5\u4e0d\u627f\u8bfa\u533f\u540d\u5316\u3002","title":"Fitflare Personal API","version":"v1"},"openapi":"3.1.0","paths":{"/api/public/v1":{"get":{"description":"\u4e2a\u4eba\u8d26\u6237\u5165\u53e3\u3001\u8d44\u6e90\u5206\u7c7b\u4e0e\u6587\u6863\u94fe\u63a5\u3002","operationId":"index","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"data":{"type":"object"},"resource":{"const":"public-api-index"}},"type":"object"}]}}},"description":"data \u5bf9\u8c61"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u79c1\u6709\u6a21\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u4f1a\u8bdd"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u4e0d\u5b58\u5728\u6216\u4e0d\u53ef\u89c1\u7684\u8d44\u6e90"},"500":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"\u670d\u52a1\u5f02\u5e38\uff1b\u53ef\u80fd\u4e3a\u6587\u672c\u54cd\u5e94"}},"summary":"API \u7d22\u5f15","tags":["\u8d26\u6237\u4e0e\u6307\u6807"]}},"/api/public/v1/docs":{"get":{"description":"\u5f53\u524d\u6587\u6863\u9875\u9762\uff1b\u65e0\u9700\u6570\u636e\u8bbf\u95ee\u6743\u9650\u3002","operationId":"docs","parameters":[],"responses":{"200":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"HTML \u9875\u9762"}},"security":[],"summary":"HTML \u6587\u6863","tags":["\u6587\u6863\u5165\u53e3"]}},"/api/public/v1/docs.md":{"get":{"description":"\u7531\u540c\u4e00\u63a5\u53e3\u76ee\u5f55\u751f\u6210\u7684\u7eaf\u6587\u672c\u7248\u672c\uff1b\u65e0\u9700\u6570\u636e\u8bbf\u95ee\u6743\u9650\u3002","operationId":"markdown","parameters":[],"responses":{"200":{"content":{"text/markdown":{"schema":{"type":"string"}}},"description":"Markdown \u6587\u672c"}},"security":[],"summary":"Markdown \u6587\u6863","tags":["\u6587\u6863\u5165\u53e3"]}},"/api/public/v1/me":{"get":{"description":"\u8d26\u6237\u8d44\u6599\u3001\u6982\u89c8\u3001\u8986\u76d6\u8303\u56f4\u3001\u6570\u636e\u5730\u56fe\u3001\u5feb\u7167\u72b6\u6001\u53ca\u94fe\u63a5\u3002","operationId":"profile","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"data":{"type":"object"},"resource":{"const":"profile-summary"}},"type":"object"}]}}},"description":"data \u5bf9\u8c61"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u79c1\u6709\u6a21\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u4f1a\u8bdd"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u4e0d\u5b58\u5728\u6216\u4e0d\u53ef\u89c1\u7684\u8d44\u6e90"},"500":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"\u670d\u52a1\u5f02\u5e38\uff1b\u53ef\u80fd\u4e3a\u6587\u672c\u54cd\u5e94"}},"summary":"\u6211\u7684\u8d26\u6237","tags":["\u8d26\u6237\u4e0e\u6307\u6807"]}},"/api/public/v1/me/catalog":{"get":{"description":"\u5404\u6570\u636e\u57df\u7684\u8986\u76d6\u8303\u56f4\u3001\u6838\u5fc3\u6307\u6807\u3001\u6765\u6e90\u548c\u72b6\u6001\u3002","operationId":"catalog","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"data":{"type":"object"},"resource":{"const":"catalog"}},"type":"object"}]}}},"description":"data \u5bf9\u8c61"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u79c1\u6709\u6a21\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u4f1a\u8bdd"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u4e0d\u5b58\u5728\u6216\u4e0d\u53ef\u89c1\u7684\u8d44\u6e90"},"500":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"\u670d\u52a1\u5f02\u5e38\uff1b\u53ef\u80fd\u4e3a\u6587\u672c\u54cd\u5e94"}},"summary":"\u6570\u636e\u76ee\u5f55","tags":["\u8d26\u6237\u4e0e\u6307\u6807"]}},"/api/public/v1/me/charts/{chart_key}.svg":{"get":{"description":"\u8fd4\u56de\u53ef\u5d4c\u5165\u7684 SVG\uff1b\u5404\u6307\u6807\u72ec\u7acb\u5f52\u4e00\u5316\u3002\u7f3a\u5c11\u6570\u636e\u65f6\u4ecd\u8fd4\u56de\u5e26\u7a7a\u72b6\u6001\u6587\u5b57\u7684 SVG\u3002","operationId":"chart","parameters":[{"description":"\u9884\u7f6e\u6216\u81ea\u5b9a\u4e49\u8d8b\u52bf\u56fe\u3002","example":"series","in":"path","name":"chart_key","required":true,"schema":{"enum":["series","overview-trend","weekly-trend","sleep-trend","activity-trend"],"type":"string"}},{"description":"\u9017\u53f7\u5206\u9694\u7684\u6570\u503c\u6307\u6807\uff1b\u672a\u6307\u5b9a\u6216\u5168\u90e8\u4e0d\u5339\u914d\u65f6\u4f7f\u7528\u5168\u90e8\u53ef\u7528\u6307\u6807\u3002","example":"sleep_hours,steps,hrv","in":"query","name":"metrics","required":false,"schema":{"type":"string"}},{"description":"\u8986\u76d6\u9884\u7f6e\u56fe\u7c92\u5ea6\uff1b\u7701\u7565\u65f6\u4f7f\u7528\u8be5\u9884\u7f6e\u56fe\u7c92\u5ea6\u3002","example":"daily","in":"query","name":"granularity","required":false,"schema":{"enum":["daily","weekly","monthly"],"type":"string"}},{"description":"\u53ea\u53d6\u6700\u540e N \u4e2a\u70b9\uff1b\u7701\u7565\u65f6\u4e0d\u622a\u65ad\uff0c\u4e0d\u662f\u65e5\u5386\u5929\u6570\u3002","example":30,"in":"query","name":"limit","required":false,"schema":{"maximum":1000,"minimum":1,"type":"integer"}},{"description":"SVG \u5bbd\u5ea6\uff0c\u5355\u4f4d px\u3002","example":960,"in":"query","name":"width","required":false,"schema":{"default":960,"maximum":1920,"minimum":360,"type":"integer"}},{"description":"SVG \u9ad8\u5ea6\uff0c\u5355\u4f4d px\u3002","example":320,"in":"query","name":"height","required":false,"schema":{"default":320,"maximum":1080,"minimum":220,"type":"integer"}},{"description":"light \u4e3a\u6d45\u8272\uff1btransparent \u4e3a\u900f\u660e\u80cc\u666f\uff1b\u5176\u4ed6\u503c\u6309\u6d45\u8272\u5448\u73b0\u3002","example":"light","in":"query","name":"theme","required":false,"schema":{"default":"light","enum":["light","transparent"],"type":"string"}}],"responses":{"200":{"content":{"image/svg+xml":{"schema":{"type":"string"}}},"description":"SVG \u6587\u672c\uff1bX-Fitflare-Chart-Meta \u54cd\u5e94\u5934\u5305\u542b\u56fe\u8868\u5143\u6570\u636e","headers":{"X-Fitflare-Chart-Meta":{"description":"JSON \u7f16\u7801\u7684\u56fe\u8868\u5143\u6570\u636e","schema":{"type":"string"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u79c1\u6709\u6a21\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u4f1a\u8bdd"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u4e0d\u5b58\u5728\u6216\u4e0d\u53ef\u89c1\u7684\u8d44\u6e90"},"500":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"\u670d\u52a1\u5f02\u5e38\uff1b\u53ef\u80fd\u4e3a\u6587\u672c\u54cd\u5e94"}},"summary":"SVG \u8d8b\u52bf\u56fe","tags":["\u8d8b\u52bf\u4e0e\u56fe\u8868"]}},"/api/public/v1/me/correlations":{"get":{"description":"\u7f13\u5b58\u4e2d\u7684\u76f8\u5173\u7cfb\u6570\u3001\u5f3a\u5ea6\u548c\u91cd\u53e0\u70b9\u6570\uff0c\u4ec5\u4f9b\u63cf\u8ff0\u6027\u53c2\u8003\u3002","operationId":"correlations","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"data":{"items":{"type":"object"},"type":"array"},"resource":{"const":"correlations"}},"type":"object"}]}}},"description":"data \u5bf9\u8c61"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u79c1\u6709\u6a21\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u4f1a\u8bdd"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u4e0d\u5b58\u5728\u6216\u4e0d\u53ef\u89c1\u7684\u8d44\u6e90"},"500":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"\u670d\u52a1\u5f02\u5e38\uff1b\u53ef\u80fd\u4e3a\u6587\u672c\u54cd\u5e94"}},"summary":"\u76f8\u5173\u6027","tags":["\u8d26\u6237\u4e0e\u6307\u6807"]}},"/api/public/v1/me/coverage":{"get":{"description":"\u5404\u6570\u636e\u96c6\u8bb0\u5f55\u6570\u53ca\u8d77\u6b62\u65e5\u671f\u3002","operationId":"coverage","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"data":{"type":"object"},"resource":{"const":"coverage"}},"type":"object"}]}}},"description":"data \u5bf9\u8c61"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u79c1\u6709\u6a21\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u4f1a\u8bdd"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u4e0d\u5b58\u5728\u6216\u4e0d\u53ef\u89c1\u7684\u8d44\u6e90"},"500":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"\u670d\u52a1\u5f02\u5e38\uff1b\u53ef\u80fd\u4e3a\u6587\u672c\u54cd\u5e94"}},"summary":"\u8986\u76d6\u8303\u56f4","tags":["\u8d26\u6237\u4e0e\u6307\u6807"]}},"/api/public/v1/me/dashboard":{"get":{"description":"\u5b8c\u6574\u516c\u5f00\u4eea\u8868\u76d8\u5bf9\u8c61\uff0c\u5305\u542b\u6307\u6807\u3001\u8d8b\u52bf\u3001\u5206\u533a\u4e0e\u8868\u683c\uff0c\u4e0d\u5305\u542b files\u3002\u6570\u636e\u8f83\u591a\u65f6\u4f18\u5148\u4f7f\u7528\u7ec6\u5206\u63a5\u53e3\u3002","operationId":"dashboard","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"data":{"$ref":"#/components/schemas/Dashboard"},"resource":{"const":"dashboard"}},"type":"object"}]}}},"description":"data \u5bf9\u8c61"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u79c1\u6709\u6a21\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u4f1a\u8bdd"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u4e0d\u5b58\u5728\u6216\u4e0d\u53ef\u89c1\u7684\u8d44\u6e90"},"500":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"\u670d\u52a1\u5f02\u5e38\uff1b\u53ef\u80fd\u4e3a\u6587\u672c\u54cd\u5e94"}},"summary":"\u4eea\u8868\u76d8\u7f13\u5b58","tags":["\u8d26\u6237\u4e0e\u6307\u6807"]}},"/api/public/v1/me/datasets":{"get":{"description":"\u5217\u51fa\u652f\u6301\u7684\u5b8c\u6574\u7ed3\u6784\u5316\u6570\u636e\u96c6\u548c\u8986\u76d6\u4fe1\u606f\u3002","operationId":"datasets","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"data":{"items":{"type":"object"},"type":"array"},"resource":{"const":"datasets"}},"type":"object"}]}}},"description":"data \u5bf9\u8c61"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u79c1\u6709\u6a21\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u4f1a\u8bdd"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u4e0d\u5b58\u5728\u6216\u4e0d\u53ef\u89c1\u7684\u8d44\u6e90"},"500":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"\u670d\u52a1\u5f02\u5e38\uff1b\u53ef\u80fd\u4e3a\u6587\u672c\u54cd\u5e94"}},"summary":"\u6570\u636e\u96c6\u76ee\u5f55","tags":["\u6570\u636e\u96c6\u4e0e\u8868\u683c"]}},"/api/public/v1/me/datasets/{dataset}":{"get":{"description":"\u8bfb\u53d6\u7531 CSV \u89e3\u6790\u6216\u805a\u5408\u7684\u5b8c\u6574\u5386\u53f2\uff0c\u5e76\u4ece offset \u8d77\u5206\u9875\u3002","operationId":"dataset","parameters":[{"description":"\u5b8c\u6574\u672c\u5730\u6570\u636e\u96c6\u3002","example":"activity","in":"path","name":"dataset","required":true,"schema":{"enum":["activity","sleep","hrv","rhr","daily","weekly","monthly"],"type":"string"}},{"description":"\u4ece\u7b2c offset \u6761\u5f00\u59cb\u5206\u9875\uff0c\u6309\u7f13\u5b58\u8bb0\u5f55\u987a\u5e8f\u8fd4\u56de\u3002","example":0,"in":"query","name":"offset","required":false,"schema":{"default":0,"maximum":100000,"minimum":0,"type":"integer"}},{"description":"\u4ece offset \u8d77\u6700\u591a\u8fd4\u56de\u7684\u6761\u6570\uff0c\u9ed8\u8ba4 200\u3002","example":20,"in":"query","name":"limit","required":false,"schema":{"default":200,"maximum":1000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"data":{"$ref":"#/components/schemas/Dataset"},"meta":{"$ref":"#/components/schemas/Page"},"resource":{"const":"dataset"}},"type":"object"}]}}},"description":"data.rows[]\uff1a\u5f53\u524d\u9875\uff1bdata.columns[]\uff1a\u5217\u540d\u63d0\u793a\uff1bmeta\uff1a\u5206\u9875\u4fe1\u606f"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u79c1\u6709\u6a21\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u4f1a\u8bdd"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u4e0d\u5b58\u5728\u6216\u4e0d\u53ef\u89c1\u7684\u8d44\u6e90"},"500":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"\u670d\u52a1\u5f02\u5e38\uff1b\u53ef\u80fd\u4e3a\u6587\u672c\u54cd\u5e94"}},"summary":"\u8bfb\u53d6\u6570\u636e\u96c6","tags":["\u6570\u636e\u96c6\u4e0e\u8868\u683c"]}},"/api/public/v1/me/metrics":{"get":{"description":"\u6307\u6807\u6700\u65b0\u503c\u30017/30 \u5929\u5747\u503c\u53ca\u8d8b\u52bf\u4fe1\u606f\u3002","operationId":"metrics","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"data":{"items":{"type":"object"},"type":"array"},"resource":{"const":"metrics"}},"type":"object"}]}}},"description":"data \u5bf9\u8c61"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u79c1\u6709\u6a21\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u4f1a\u8bdd"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u4e0d\u5b58\u5728\u6216\u4e0d\u53ef\u89c1\u7684\u8d44\u6e90"},"500":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"\u670d\u52a1\u5f02\u5e38\uff1b\u53ef\u80fd\u4e3a\u6587\u672c\u54cd\u5e94"}},"summary":"\u6307\u6807\u5217\u8868","tags":["\u8d26\u6237\u4e0e\u6307\u6807"]}},"/api/public/v1/me/metrics/{metric_key}":{"get":{"description":"\u6309 key \u8bfb\u53d6\u4e00\u5f20\u6307\u6807\u5361\uff1b\u4e0d\u5b58\u5728\u7684\u6307\u6807\u8fd4\u56de 404\u3002","operationId":"metric","parameters":[{"description":"\u4ece /metrics \u83b7\u53d6\u6307\u6807 key\u3002","example":"steps","in":"path","name":"metric_key","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"data":{"type":"object"},"resource":{"const":"metric"}},"type":"object"}]}}},"description":"data \u5bf9\u8c61"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u79c1\u6709\u6a21\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u4f1a\u8bdd"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u4e0d\u5b58\u5728\u6216\u4e0d\u53ef\u89c1\u7684\u8d44\u6e90"},"500":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"\u670d\u52a1\u5f02\u5e38\uff1b\u53ef\u80fd\u4e3a\u6587\u672c\u54cd\u5e94"}},"summary":"\u5355\u9879\u6307\u6807","tags":["\u8d26\u6237\u4e0e\u6307\u6807"]}},"/api/public/v1/me/overview":{"get":{"description":"\u6700\u8fd1\u8bb0\u5f55\u3001\u5feb\u7167\u6982\u51b5\u548c\u672c\u5730\u6062\u590d\u4f30\u7b97\u3002","operationId":"overview","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"data":{"type":"object"},"resource":{"const":"overview"}},"type":"object"}]}}},"description":"data \u5bf9\u8c61"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u79c1\u6709\u6a21\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u4f1a\u8bdd"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u4e0d\u5b58\u5728\u6216\u4e0d\u53ef\u89c1\u7684\u8d44\u6e90"},"500":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"\u670d\u52a1\u5f02\u5e38\uff1b\u53ef\u80fd\u4e3a\u6587\u672c\u54cd\u5e94"}},"summary":"\u6982\u89c8","tags":["\u8d26\u6237\u4e0e\u6307\u6807"]}},"/api/public/v1/me/sections":{"get":{"description":"\u8bfb\u53d6 activity\u3001body\u3001vitals\u3001lifestyle\u3001account \u6458\u8981\u3002","operationId":"sections","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"data":{"items":{"type":"object"},"type":"array"},"resource":{"const":"sections"}},"type":"object"}]}}},"description":"data \u5bf9\u8c61"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u79c1\u6709\u6a21\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u4f1a\u8bdd"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u4e0d\u5b58\u5728\u6216\u4e0d\u53ef\u89c1\u7684\u8d44\u6e90"},"500":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"\u670d\u52a1\u5f02\u5e38\uff1b\u53ef\u80fd\u4e3a\u6587\u672c\u54cd\u5e94"}},"summary":"\u6458\u8981\u5206\u533a\u5217\u8868","tags":["\u6570\u636e\u96c6\u4e0e\u8868\u683c"]}},"/api/public/v1/me/sections/{section_key}":{"get":{"description":"\u8fd4\u56de\u6307\u5b9a\u5206\u533a\u7684\u6307\u6807\u6458\u8981\u3002","operationId":"section","parameters":[{"description":"\u6458\u8981\u5206\u533a\u3002","example":"activity","in":"path","name":"section_key","required":true,"schema":{"enum":["activity","body","vitals","lifestyle","account"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"data":{"$ref":"#/components/schemas/Section"},"resource":{"const":"section"}},"type":"object"}]}}},"description":"data.key\uff08\u4e0e data.section \u76f8\u540c\uff09\u3001data.label\u3001data.summary"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u79c1\u6709\u6a21\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u4f1a\u8bdd"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u4e0d\u5b58\u5728\u6216\u4e0d\u53ef\u89c1\u7684\u8d44\u6e90"},"500":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"\u670d\u52a1\u5f02\u5e38\uff1b\u53ef\u80fd\u4e3a\u6587\u672c\u54cd\u5e94"}},"summary":"\u5355\u4e2a\u6458\u8981\u5206\u533a","tags":["\u6570\u636e\u96c6\u4e0e\u8868\u683c"]}},"/api/public/v1/me/series/{granularity}":{"get":{"description":"\u4ece\u5b8c\u6574\u672c\u5730\u6570\u636e\u805a\u5408\u5e8f\u5217\uff0c\u6309\u6307\u6807\u9009\u62e9\u5217\uff0c\u6309 limit \u622a\u53d6\u6700\u540e\u82e5\u5e72\u70b9\u3002","operationId":"series","parameters":[{"description":"\u5e8f\u5217\u805a\u5408\u7c92\u5ea6\u3002","example":"daily","in":"path","name":"granularity","required":true,"schema":{"enum":["daily","weekly","monthly"],"type":"string"}},{"description":"\u9017\u53f7\u5206\u9694\u7684\u6570\u503c\u6307\u6807\uff1b\u672a\u6307\u5b9a\u6216\u5168\u90e8\u4e0d\u5339\u914d\u65f6\u4f7f\u7528\u5168\u90e8\u53ef\u7528\u6307\u6807\u3002","example":"sleep_hours,steps,hrv","in":"query","name":"metrics","required":false,"schema":{"type":"string"}},{"description":"\u53ea\u53d6\u6700\u540e N \u4e2a\u70b9\uff1b\u7701\u7565\u65f6\u4e0d\u622a\u65ad\uff0c\u4e0d\u662f\u65e5\u5386\u5929\u6570\u3002","example":30,"in":"query","name":"limit","required":false,"schema":{"maximum":1000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"api_version":"v1","data":{"dimension":"date","granularity":"daily","metrics":[{"key":"steps","label":"\u6b65\u6570","tone":"green","unit":"\u6b65"}],"points":[{"date":"2026-01-01","steps":5200},{"date":"2026-01-02","steps":null}]},"generated_at":"2026-01-02T08:00:00","meta":{"available_metrics":["steps"],"count":2},"profile_id":"me","resource":"series"},"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"data":{"$ref":"#/components/schemas/Series"},"resource":{"const":"series"}},"type":"object"}]}}},"description":"data.points[]\uff1a\u5e8f\u5217\u70b9\uff1bdata.metrics[]\uff1a\u5355\u4f4d\u7b49\u5143\u6570\u636e\uff1bmeta.available_metrics[]\uff1a\u53ef\u9009\u6307\u6807"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u79c1\u6709\u6a21\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u4f1a\u8bdd"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u4e0d\u5b58\u5728\u6216\u4e0d\u53ef\u89c1\u7684\u8d44\u6e90"},"500":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"\u670d\u52a1\u5f02\u5e38\uff1b\u53ef\u80fd\u4e3a\u6587\u672c\u54cd\u5e94"}},"summary":"\u8d8b\u52bf\u5e8f\u5217","tags":["\u8d8b\u52bf\u4e0e\u56fe\u8868"]}},"/api/public/v1/me/snapshot":{"get":{"description":"\u8fd4\u56de\u9009\u5b9a\u5143\u6570\u636e\u53ca\u5404\u7aef\u70b9\u7684\u539f\u59cb data\u3002\u4ecd\u53ef\u80fd\u5305\u542b\u4e2a\u4eba\u8d44\u6599\uff0c\u4e0d\u662f\u533f\u540d\u5316\u7ed3\u679c\u3002","operationId":"snapshot","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"data":{"type":"object"},"resource":{"const":"snapshot"}},"type":"object"}]}}},"description":"data \u5bf9\u8c61"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u79c1\u6709\u6a21\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u4f1a\u8bdd"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u4e0d\u5b58\u5728\u6216\u4e0d\u53ef\u89c1\u7684\u8d44\u6e90"},"500":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"\u670d\u52a1\u5f02\u5e38\uff1b\u53ef\u80fd\u4e3a\u6587\u672c\u54cd\u5e94"}},"summary":"\u5b8c\u6574\u5feb\u7167","tags":["\u5feb\u7167\u4e0e\u63a5\u53e3\u72b6\u6001"]}},"/api/public/v1/me/snapshot-status":{"get":{"description":"\u6743\u9650\u8303\u56f4\u3001\u7f13\u5b58\u65f6\u95f4\u548c\u63a5\u53e3\u6293\u53d6\u6982\u51b5\u3002","operationId":"snapshot_status","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"data":{"type":"object"},"resource":{"const":"snapshot-status"}},"type":"object"}]}}},"description":"data \u5bf9\u8c61"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u79c1\u6709\u6a21\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u4f1a\u8bdd"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u4e0d\u5b58\u5728\u6216\u4e0d\u53ef\u89c1\u7684\u8d44\u6e90"},"500":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"\u670d\u52a1\u5f02\u5e38\uff1b\u53ef\u80fd\u4e3a\u6587\u672c\u54cd\u5e94"}},"summary":"\u5feb\u7167\u72b6\u6001","tags":["\u5feb\u7167\u4e0e\u63a5\u53e3\u72b6\u6001"]}},"/api/public/v1/me/snapshot/endpoints":{"get":{"description":"\u7aef\u70b9 key\u3001\u72b6\u6001\u3001scope\u3001\u66f4\u65b0\u65f6\u95f4\u4e0e\u94fe\u63a5\u3002","operationId":"snapshot_endpoints","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"data":{"items":{"type":"object"},"type":"array"},"resource":{"const":"snapshot-endpoints"}},"type":"object"}]}}},"description":"data \u5bf9\u8c61"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u79c1\u6709\u6a21\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u4f1a\u8bdd"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u4e0d\u5b58\u5728\u6216\u4e0d\u53ef\u89c1\u7684\u8d44\u6e90"},"500":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"\u670d\u52a1\u5f02\u5e38\uff1b\u53ef\u80fd\u4e3a\u6587\u672c\u54cd\u5e94"}},"summary":"\u5feb\u7167\u7aef\u70b9\u76ee\u5f55","tags":["\u5feb\u7167\u4e0e\u63a5\u53e3\u72b6\u6001"]}},"/api/public/v1/me/snapshot/endpoints/{endpoint_key}":{"get":{"description":"\u6307\u5b9a\u7aef\u70b9\u7684\u72b6\u6001\u548c\u4e0a\u6e38\u7f13\u5b58 data\uff1b\u5148\u901a\u8fc7\u7aef\u70b9\u76ee\u5f55\u786e\u8ba4 key\u3002","operationId":"snapshot_endpoint","parameters":[{"description":"\u4ece /snapshot/endpoints \u83b7\u53d6\u5df2\u7f13\u5b58\u7aef\u70b9 key\u3002","example":"profile","in":"path","name":"endpoint_key","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"data":{"type":"object"},"resource":{"const":"snapshot-endpoint"}},"type":"object"}]}}},"description":"data \u5bf9\u8c61"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u79c1\u6709\u6a21\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u4f1a\u8bdd"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u4e0d\u5b58\u5728\u6216\u4e0d\u53ef\u89c1\u7684\u8d44\u6e90"},"500":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"\u670d\u52a1\u5f02\u5e38\uff1b\u53ef\u80fd\u4e3a\u6587\u672c\u54cd\u5e94"}},"summary":"\u5355\u4e2a\u5feb\u7167\u7aef\u70b9","tags":["\u5feb\u7167\u4e0e\u63a5\u53e3\u72b6\u6001"]}},"/api/public/v1/me/tables":{"get":{"description":"\u8fd4\u56de\u4eea\u8868\u76d8\u8bb0\u5f55\u8868\u7684 key\u3001\u6761\u6570\u548c\u94fe\u63a5\u3002","operationId":"tables","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"data":{"items":{"type":"object"},"type":"array"},"resource":{"const":"tables"}},"type":"object"}]}}},"description":"data \u5bf9\u8c61"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u79c1\u6709\u6a21\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u4f1a\u8bdd"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u4e0d\u5b58\u5728\u6216\u4e0d\u53ef\u89c1\u7684\u8d44\u6e90"},"500":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"\u670d\u52a1\u5f02\u5e38\uff1b\u53ef\u80fd\u4e3a\u6587\u672c\u54cd\u5e94"}},"summary":"\u8bb0\u5f55\u8868\u76ee\u5f55","tags":["\u6570\u636e\u96c6\u4e0e\u8868\u683c"]}},"/api/public/v1/me/tables/{table_key}":{"get":{"description":"\u5bf9\u4eea\u8868\u76d8\u7f13\u5b58\u4e2d\u5df2\u6709\u7684\u8bb0\u5f55\u5206\u9875\uff1b\u7f13\u5b58\u53ef\u80fd\u53ea\u4fdd\u7559\u6700\u8fd1\u8bb0\u5f55\uff0c\u4e0e\u5b8c\u6574 datasets \u4e0d\u540c\u3002","operationId":"table","parameters":[{"description":"\u4eea\u8868\u76d8\u7f13\u5b58\u4e2d\u7684\u8bb0\u5f55\u8868\u3002","example":"sleep","in":"path","name":"table_key","required":true,"schema":{"enum":["sleep","activity","activity_logs","recovery","body","vitals","foods","devices","badges","alarms","endpoints"],"type":"string"}},{"description":"\u4ece\u7b2c offset \u6761\u5f00\u59cb\u5206\u9875\uff0c\u6309\u7f13\u5b58\u8bb0\u5f55\u987a\u5e8f\u8fd4\u56de\u3002","example":0,"in":"query","name":"offset","required":false,"schema":{"default":0,"maximum":100000,"minimum":0,"type":"integer"}},{"description":"\u4ece offset \u8d77\u6700\u591a\u8fd4\u56de\u7684\u6761\u6570\uff0c\u9ed8\u8ba4 100\u3002","example":20,"in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":1000,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"data":{"$ref":"#/components/schemas/Table"},"meta":{"$ref":"#/components/schemas/Page"},"resource":{"const":"table"}},"type":"object"}]}}},"description":"data.rows[]\uff1a\u5f53\u524d\u9875\uff1bmeta.total\u3001offset\u3001limit\u3001count\uff1a\u5206\u9875\u4fe1\u606f"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u79c1\u6709\u6a21\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u4f1a\u8bdd"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"\u4e0d\u5b58\u5728\u6216\u4e0d\u53ef\u89c1\u7684\u8d44\u6e90"},"500":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"\u670d\u52a1\u5f02\u5e38\uff1b\u53ef\u80fd\u4e3a\u6587\u672c\u54cd\u5e94"}},"summary":"\u8bfb\u53d6\u8bb0\u5f55\u8868","tags":["\u6570\u636e\u96c6\u4e0e\u8868\u683c"]}},"/api/public/v1/openapi.json":{"get":{"description":"\u5b8c\u6574\u7248\u672c\u5316\u63a5\u53e3\u63cf\u8ff0\uff0c\u5305\u542b\u53c2\u6570\u3001\u54cd\u5e94\u7ed3\u6784\u548c\u5f53\u524d\u90e8\u7f72\u7684\u8ba4\u8bc1\u6a21\u5f0f\u3002","operationId":"openapi","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenAPI"}}},"description":"OpenAPI \u89c4\u8303\u5bf9\u8c61\uff0c\u4e0d\u662f\u4e1a\u52a1\u54cd\u5e94\u5305\u88c5"}},"security":[],"summary":"OpenAPI 3.1","tags":["\u6587\u6863\u5165\u53e3"]}}},"security":[{},{"SessionCookie":[]}],"servers":[{"url":"/"}],"tags":[{"name":"\u8d26\u6237\u4e0e\u6307\u6807"},{"name":"\u8d8b\u52bf\u4e0e\u56fe\u8868"},{"name":"\u6570\u636e\u96c6\u4e0e\u8868\u683c"},{"name":"\u5feb\u7167\u4e0e\u63a5\u53e3\u72b6\u6001"},{"name":"\u6587\u6863\u5165\u53e3"}]}
