{"info":{"description":"\u516c\u5f00\u53ea\u8bfb API\uff0c\u9762\u5411\u5176\u4ed6\u9879\u76ee\u590d\u7528 Fitbit \u672c\u5730\u7f13\u5b58\u3001\u8d8b\u52bf\u6570\u636e\u548c SVG \u56fe\u8868\u3002","title":"FitBaus Public API","version":"v1"},"openapi":"3.1.0","paths":{"/api/public/v1":{"get":{"responses":{"200":{"description":"API index"}},"summary":"Public API index"}},"/api/public/v1/profiles":{"get":{"responses":{"200":{"description":"Profile list"}},"summary":"List public profiles"}},"/api/public/v1/profiles/{profile_id}/catalog":{"get":{"parameters":[{"in":"path","name":"profile_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Domain-level data catalog"}},"summary":"Get structured data catalog"}},"/api/public/v1/profiles/{profile_id}/charts/{chart_key}.svg":{"get":{"parameters":[{"in":"path","name":"profile_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"chart_key","required":true,"schema":{"enum":["series","overview-trend","weekly-trend","sleep-trend","activity-trend"],"type":"string"}},{"in":"query","name":"metrics","schema":{"type":"string"}},{"in":"query","name":"granularity","schema":{"enum":["daily","weekly","monthly"],"type":"string"}},{"in":"query","name":"limit","schema":{"maximum":1000,"minimum":1,"type":"integer"}},{"in":"query","name":"width","schema":{"maximum":1920,"minimum":360,"type":"integer"}},{"in":"query","name":"height","schema":{"maximum":1080,"minimum":220,"type":"integer"}},{"in":"query","name":"theme","schema":{"enum":["light","transparent"],"type":"string"}}],"responses":{"200":{"description":"SVG chart"}},"summary":"Get lightweight SVG trend chart"}},"/api/public/v1/profiles/{profile_id}/dashboard":{"get":{"parameters":[{"in":"path","name":"profile_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Dashboard payload"}},"summary":"Get public dashboard payload"}},"/api/public/v1/profiles/{profile_id}/datasets/{dataset}":{"get":{"parameters":[{"in":"path","name":"profile_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"dataset","required":true,"schema":{"enum":["activity","sleep","hrv","rhr","daily","weekly","monthly"],"type":"string"}},{"in":"query","name":"offset","schema":{"minimum":0,"type":"integer"}},{"in":"query","name":"limit","schema":{"maximum":1000,"minimum":1,"type":"integer"}}],"responses":{"200":{"description":"Dataset payload"}},"summary":"Get full cached dataset"}},"/api/public/v1/profiles/{profile_id}/series/{granularity}":{"get":{"parameters":[{"in":"path","name":"profile_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"granularity","required":true,"schema":{"enum":["daily","weekly","monthly"],"type":"string"}},{"in":"query","name":"metrics","schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"maximum":1000,"minimum":1,"type":"integer"}}],"responses":{"200":{"description":"Series payload"}},"summary":"Get normalized time series"}},"/api/public/v1/profiles/{profile_id}/snapshot":{"get":{"parameters":[{"in":"path","name":"profile_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Snapshot payload"}},"summary":"Get sanitized Fitbit profile snapshot cache"}},"/api/public/v1/profiles/{profile_id}/snapshot/endpoints/{endpoint_key}":{"get":{"parameters":[{"in":"path","name":"profile_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"endpoint_key","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Snapshot endpoint payload"}},"summary":"Get one cached Fitbit snapshot endpoint"}}},"servers":[{"url":"http://fitbit.lucius7.dev"}]}
