{"openapi":"3.1.0","info":{"title":"Polsen Health API","description":"The Polsen Health API provides access to physiological and contextual data\ncollected by Polsen devices and processed by the Polsen App, for scientific\nand research use.\n\nThis OpenAPI document is the source of truth for the API: docs, client SDKs,\ncontract tests, and mocks all derive from it. Authenticate every request with\nyour `X-API-KEY` header. Timestamps are ISO 8601 with explicit timezone.","contact":{"name":"Polsen Health API Support","email":"samson@nowatch.com"},"license":{"name":"Proprietary"},"version":"0.18.1"},"servers":[{"url":"https://api.polsen.health","description":"Production"}],"paths":{"/v1/user/{user_id}":{"get":{"tags":["user"],"summary":"Get User Data","operationId":"get_user_data_v1_user__user_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"4XX":{"description":"Client error (RFC 7807 problem document).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"5XX":{"description":"Server error (RFC 7807 problem document).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/v1/timeline/timeseries/{user_id}/{mtype}":{"get":{"tags":["timeseries"],"summary":"Get Measurement Data","operationId":"get_measurement_data_v1_timeline_timeseries__user_id___mtype__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"mtype","in":"path","required":true,"schema":{"enum":["HEART_RATE","ACTIVITY_COUNT","ACTIVITY_TYPE","STEPS","MOTION","REACTIVITY_MONITOR","SKIN_CONDUCTANCE_LEVEL","SKIN_TEMPERATURE","INTERBEAT_INTERVALS"],"type":"string","title":"Mtype"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"start_date","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Start Date"}},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","format":"date","title":"End Date"}},{"name":"days","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Days per page (default 1, max 7).","title":"Days"},"description":"Days per page (default 1, max 7)."},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Opaque pagination cursor (application/json responses only).","title":"Cursor"},"description":"Opaque pagination cursor (application/json responses only)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MeasurementJSONPage"},{}],"title":"Response Get Measurement Data V1 Timeline Timeseries  User Id   Mtype  Get"}}}},"4XX":{"description":"Client error (RFC 7807 problem document).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"5XX":{"description":"Server error (RFC 7807 problem document).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/v1/timeline/events/sleep/{user_id}":{"get":{"tags":["sleep"],"summary":"Get Sleep Data","description":"Retrieves paginated sleep data for a user over a date range.\n\nReturns an envelope `{ \"data\": [...], \"next_cursor\": \"...\" }`. Pass\n`next_cursor` back as `?cursor=...` (or follow the `Link: rel=\"next\"`\nheader) to fetch the next slice; `next_cursor: null` ends the walk.","operationId":"get_sleep_data_v1_timeline_events_sleep__user_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"start_date","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Start Date"}},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","format":"date","title":"End Date"}},{"name":"days","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Days per page (default 7, max 30).","title":"Days"},"description":"Days per page (default 7, max 30)."},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Opaque pagination cursor.","title":"Cursor"},"description":"Opaque pagination cursor."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Page_Sleep_"},{}],"title":"Response Get Sleep Data V1 Timeline Events Sleep  User Id  Get"}}}},"4XX":{"description":"Client error (RFC 7807 problem document).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"5XX":{"description":"Server error (RFC 7807 problem document).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/v1/timeline/events/checkins/{user_id}":{"get":{"tags":["checkin"],"summary":"Get Checkin Data","operationId":"get_checkin_data_v1_timeline_events_checkins__user_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"start_date","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Start Date"}},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","format":"date","title":"End Date"}},{"name":"days","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Days per page (default 7, max 30). Ignored for bulk formats (text/csv), which return the whole requested range in one response.","title":"Days"},"description":"Days per page (default 7, max 30). Ignored for bulk formats (text/csv), which return the whole requested range in one response."},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Opaque pagination cursor (application/json responses only).","title":"Cursor"},"description":"Opaque pagination cursor (application/json responses only)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Page_CheckinModel_"},{}],"title":"Response Get Checkin Data V1 Timeline Events Checkins  User Id  Get"}}}},"4XX":{"description":"Client error (RFC 7807 problem document).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"5XX":{"description":"Server error (RFC 7807 problem document).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/v1/timeline/events/activities/{user_id}":{"get":{"tags":["activity"],"summary":"Get Activity Data","operationId":"get_activity_data_v1_timeline_events_activities__user_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"start_date","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Start Date"}},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","format":"date","title":"End Date"}},{"name":"days","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Days per page (default 7, max 30). Ignored for bulk formats (text/csv), which return the whole requested range in one response.","title":"Days"},"description":"Days per page (default 7, max 30). Ignored for bulk formats (text/csv), which return the whole requested range in one response."},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Opaque pagination cursor (application/json responses only).","title":"Cursor"},"description":"Opaque pagination cursor (application/json responses only)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Page_ActivityModel_"},{}],"title":"Response Get Activity Data V1 Timeline Events Activities  User Id  Get"}}}},"4XX":{"description":"Client error (RFC 7807 problem document).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"5XX":{"description":"Server error (RFC 7807 problem document).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/v1/timeline/events/timezones/{user_id}":{"get":{"tags":["timezone"],"summary":"Get Timezone Data","operationId":"get_timezone_data_v1_timeline_events_timezones__user_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"start_date","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Start Date"}},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","format":"date","title":"End Date"}},{"name":"days","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Days per page (default 7, max 30). Ignored for bulk formats (text/csv), which return the whole requested range in one response.","title":"Days"},"description":"Days per page (default 7, max 30). Ignored for bulk formats (text/csv), which return the whole requested range in one response."},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Opaque pagination cursor (application/json responses only).","title":"Cursor"},"description":"Opaque pagination cursor (application/json responses only)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Page_TimezoneResponse_"},{}],"title":"Response Get Timezone Data V1 Timeline Events Timezones  User Id  Get"}}}},"4XX":{"description":"Client error (RFC 7807 problem document).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"5XX":{"description":"Server error (RFC 7807 problem document).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/v1/timeline/events/crown_presses/{user_id}":{"get":{"tags":["crown_presses"],"summary":"Get Crown Presses","operationId":"get_crown_presses_v1_timeline_events_crown_presses__user_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"start_date","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Start Date"}},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","format":"date","title":"End Date"}},{"name":"days","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Days per page (default 7, max 30). Ignored for bulk formats (text/csv), which return the whole requested range in one response.","title":"Days"},"description":"Days per page (default 7, max 30). Ignored for bulk formats (text/csv), which return the whole requested range in one response."},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Opaque pagination cursor (application/json responses only).","title":"Cursor"},"description":"Opaque pagination cursor (application/json responses only)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Page_CrownPressResponse_"},{}],"title":"Response Get Crown Presses V1 Timeline Events Crown Presses  User Id  Get"}}}},"4XX":{"description":"Client error (RFC 7807 problem document).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"5XX":{"description":"Server error (RFC 7807 problem document).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/v1/feelings/{user_id}/{ftype}":{"get":{"tags":["feelings"],"summary":"Get Feelings Data","operationId":"get_feelings_data_v1_feelings__user_id___ftype__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"ftype","in":"path","required":true,"schema":{"enum":["SLEEP","DAY"],"type":"string","title":"Ftype"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"start_date","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Start Date"}},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","format":"date","title":"End Date"}},{"name":"days","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Days per page (default 7, max 30). Ignored for bulk formats (text/csv), which return the whole requested range in one response.","title":"Days"},"description":"Days per page (default 7, max 30). Ignored for bulk formats (text/csv), which return the whole requested range in one response."},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Opaque pagination cursor (application/json responses only).","title":"Cursor"},"description":"Opaque pagination cursor (application/json responses only)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Page_FeelingsModel_"},{}],"title":"Response Get Feelings Data V1 Feelings  User Id   Ftype  Get"}}}},"4XX":{"description":"Client error (RFC 7807 problem document).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"5XX":{"description":"Server error (RFC 7807 problem document).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/v1/overview/{user_id}/{stype}":{"get":{"tags":["overview"],"summary":"Get User Statistics","operationId":"get_user_statistics_v1_overview__user_id___stype__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"stype","in":"path","required":true,"schema":{"enum":["HRV","SLEEP_DURATION","SLEEP_REGULARITY","INTENSE_ACTIVITY","RHR","STRESS_DURATION","STRESS_RECOVERY","STRESS_FREQUENCY","SKIN_TEMPERATURE"],"type":"string","title":"Stype"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"start_date","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Start Date"}},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","format":"date","title":"End Date"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/HRV"},{"$ref":"#/components/schemas/SLEEP_DURATION"},{"$ref":"#/components/schemas/SLEEP_REGULARITY"},{"$ref":"#/components/schemas/INTENSE_ACTIVITY"},{"$ref":"#/components/schemas/RHR"},{"$ref":"#/components/schemas/STRESS_DURATION"},{"$ref":"#/components/schemas/STRESS_FREQUENCY"},{"$ref":"#/components/schemas/STRESS_RECOVERY"},{"$ref":"#/components/schemas/SKIN_TEMPERATURE"}]}},{}],"title":"Response Get User Statistics V1 Overview  User Id   Stype  Get"}}}},"4XX":{"description":"Client error (RFC 7807 problem document).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"5XX":{"description":"Server error (RFC 7807 problem document).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/v1/keys/users":{"get":{"tags":["keys"],"summary":"Get Key Users","operationId":"get_key_users_v1_keys_users_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyUsers"}}}},"4XX":{"description":"Client error (RFC 7807 problem document).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"5XX":{"description":"Server error (RFC 7807 problem document).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}},"security":[{"APIKeyHeader":[]}]}},"/":{"get":{"summary":"Read Root","operationId":"read_root__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"4XX":{"description":"Client error (RFC 7807 problem document).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"5XX":{"description":"Server error (RFC 7807 problem document).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}}},"components":{"schemas":{"ActivityModel":{"properties":{"start_datetime":{"type":"string","title":"Start Datetime","description":"The start date and time of the activity."},"end_datetime":{"type":"string","title":"End Datetime","description":"The end date and time of the activity."},"type":{"$ref":"#/components/schemas/ActivityType","description":"The type of activity."},"origin":{"$ref":"#/components/schemas/ActivityOrigin","description":"The origin of the activity data."}},"type":"object","required":["start_datetime","end_datetime","type","origin"],"title":"ActivityModel"},"ActivityOrigin":{"type":"integer","enum":[0,1,2,3,4,5],"title":"ActivityOrigin"},"ActivityType":{"type":"integer","enum":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117],"title":"ActivityType","description":"Enum for session categories."},"ApiKeyUsers":{"properties":{"user_ids":{"items":{"type":"string"},"type":"array","title":"User Ids","description":"Encrypted user ids (uid_...) this key can access. Stable across calls for this key."}},"type":"object","required":["user_ids"],"title":"ApiKeyUsers","examples":[{"user_ids":["uid_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6...","uid_f6e5d4c3b2a1098f7e6d5c4b3a291807..."]}]},"CheckinModel":{"properties":{"datetime":{"type":"string","title":"Datetime","description":"Date and time of the check-in"},"origin":{"anyOf":[{"$ref":"#/components/schemas/CheckinOrigin"},{"type":"null"}],"description":"Origin of the check-in, e.g., Crown Press, Random Reminder, Prolonged Stress"},"valence":{"anyOf":[{"$ref":"#/components/schemas/ValenceType"},{"type":"null"}],"description":"Valence of the check-in"},"reactivity":{"anyOf":[{"$ref":"#/components/schemas/ReactivityType"},{"type":"null"}],"description":"Reactivity of the check-in"},"related_feelings":{"items":{"$ref":"#/components/schemas/RelatedFeelingType"},"type":"array","title":"Related Feelings","description":"Related feelings during the check-in"},"context":{"items":{"anyOf":[{"$ref":"#/components/schemas/ContextWhoWith"},{"$ref":"#/components/schemas/ContextWhere"},{"$ref":"#/components/schemas/ContextWhat"}]},"type":"array","title":"Context","description":"Context of the check-in"}},"type":"object","required":["datetime","origin","valence","reactivity","related_feelings","context"],"title":"CheckinModel"},"CheckinOrigin":{"type":"integer","enum":[0,1,2,3,4,5],"title":"CheckinOrigin"},"ContextWhat":{"type":"integer","enum":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112],"title":"ContextWhat"},"ContextWhere":{"type":"integer","enum":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"title":"ContextWhere"},"ContextWhoWith":{"type":"integer","enum":[0,1,2,3,4,5,6,7,8,12,13,14,15,16,19,20],"title":"ContextWhoWith"},"CrownPressResponse":{"properties":{"datetime":{"type":"string","title":"Datetime"},"type":{"type":"string","enum":["CROWN_PRESS","DOUBLE_CROWN_PRESS"],"title":"Type"}},"type":"object","required":["datetime","type"],"title":"CrownPressResponse"},"FeelingsModel":{"properties":{"date":{"type":"string","format":"date","title":"Date","description":"The date the feedback was recorded."},"value":{"$ref":"#/components/schemas/FeelingsValue","description":"The value of the feedback."}},"type":"object","required":["date","value"],"title":"FeelingsModel"},"FeelingsType":{"type":"integer","enum":[4,5],"title":"FeelingsType","description":"Enum for feedback type. 4 for day, 5 for sleep."},"FeelingsValue":{"type":"integer","enum":[1,2,3,4,5],"title":"FeelingsValue","description":"Enum for feedback value. 1-5 from very bad to very good."},"HRV":{"properties":{"date":{"type":"string","format":"date","title":"Date"},"hrv_daily":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Hrv Daily","x-unit":"ms"},"hrv_typical":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Hrv Typical","x-unit":"ms"},"hrv_upper_deviation":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Hrv Upper Deviation","x-unit":"ms"},"hrv_lower_deviation":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Hrv Lower Deviation","x-unit":"ms"}},"type":"object","required":["date"],"title":"HRV"},"INTENSE_ACTIVITY":{"properties":{"date":{"type":"string","format":"date","title":"Date"},"intense_activity_daily":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Intense Activity Daily","x-unit":"min"},"intense_activity_regularity":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Intense Activity Regularity","x-unit":"ratio"},"intense_activity_label":{"type":"string","title":"Intense Activity Label","readOnly":true}},"type":"object","required":["date","intense_activity_label"],"title":"INTENSE_ACTIVITY"},"MeasurementJSON":{"properties":{"datetime":{"items":{"type":"string"},"type":"array","title":"Datetime"},"value":{"anyOf":[{"items":{"anyOf":[{"type":"number"},{"type":"integer"},{"type":"string"}]},"type":"array"},{"type":"null"}],"title":"Value"},"quality_indicator":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Quality Indicator"},"label":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Label"},"state":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"State"}},"type":"object","required":["datetime"],"title":"MeasurementJSON"},"MeasurementJSONPage":{"properties":{"data":{"$ref":"#/components/schemas/MeasurementJSON"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"}},"type":"object","required":["data"],"title":"MeasurementJSONPage","description":"Paginated timeseries response. `next_cursor` is null when there are no more pages.\n\nThis intentionally is *not* `Page[MeasurementJSON]`: the generic envelope in\ncore/pagination.py has `data: list[T]`, but timeseries returns a columnar\nobject (`{datetime: [...], value: [...], ...}`) rather than a list of\nrow objects."},"Page_ActivityModel_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ActivityModel"},"type":"array","title":"Data"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"}},"type":"object","required":["data"],"title":"Page[ActivityModel]"},"Page_CheckinModel_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/CheckinModel"},"type":"array","title":"Data"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"}},"type":"object","required":["data"],"title":"Page[CheckinModel]"},"Page_CrownPressResponse_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/CrownPressResponse"},"type":"array","title":"Data"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"}},"type":"object","required":["data"],"title":"Page[CrownPressResponse]"},"Page_FeelingsModel_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/FeelingsModel"},"type":"array","title":"Data"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"}},"type":"object","required":["data"],"title":"Page[FeelingsModel]"},"Page_Sleep_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Sleep"},"type":"array","title":"Data"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"}},"type":"object","required":["data"],"title":"Page[Sleep]"},"Page_TimezoneResponse_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/TimezoneResponse"},"type":"array","title":"Data"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"}},"type":"object","required":["data"],"title":"Page[TimezoneResponse]"},"ProblemDetail":{"properties":{"type":{"type":"string","title":"Type","description":"A URI reference identifying the problem type.","default":"about:blank"},"title":{"type":"string","title":"Title","description":"A short, human-readable summary of the problem type."},"status":{"type":"integer","title":"Status","description":"The HTTP status code."},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail","description":"A human-readable explanation specific to this occurrence."},"instance":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instance","description":"A URI reference identifying the specific occurrence."},"code":{"type":"string","title":"Code","description":"A stable, machine-readable error code."},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id","description":"Request identifier, also returned in the X-Request-Id header."}},"type":"object","required":["title","status","code"],"title":"ProblemDetail","description":"RFC 7807 Problem Details, with `code` and `request_id` extensions."},"RHR":{"properties":{"date":{"type":"string","format":"date","title":"Date"},"rhr_daily":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rhr Daily","x-unit":"bpm"},"rhr_typical":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rhr Typical","x-unit":"bpm"},"rhr_upper_deviation":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rhr Upper Deviation","x-unit":"bpm"},"rhr_lower_deviation":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rhr Lower Deviation","x-unit":"bpm"}},"type":"object","required":["date"],"title":"RHR"},"ReactivityType":{"type":"integer","enum":[-3,-2,-1,0,1,2,3],"title":"ReactivityType"},"RelatedFeelingType":{"type":"integer","enum":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,21],"title":"RelatedFeelingType"},"SKIN_TEMPERATURE":{"properties":{"date":{"type":"string","format":"date","title":"Date"},"skin_temperature_daily":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Skin Temperature Daily","x-unit":"celsius"},"skin_temperature_lower_deviation":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Skin Temperature Lower Deviation","x-unit":"celsius"},"skin_temperature_upper_deviation":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Skin Temperature Upper Deviation","x-unit":"celsius"}},"type":"object","required":["date"],"title":"SKIN_TEMPERATURE"},"SLEEP_DURATION":{"properties":{"date":{"type":"string","format":"date","title":"Date"},"sleep_duration_daily":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sleep Duration Daily","x-unit":"min"},"sleep_duration_typical":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sleep Duration Typical","x-unit":"min"}},"type":"object","required":["date"],"title":"SLEEP_DURATION"},"SLEEP_REGULARITY":{"properties":{"date":{"type":"string","format":"date","title":"Date"},"sleep_bedtime_daily":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sleep Bedtime Daily","x-unit":"datetime"},"sleep_waketime_daily":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sleep Waketime Daily","x-unit":"datetime"},"sleep_bedtime_typical":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sleep Bedtime Typical","x-unit":"hour"},"sleep_waketime_typical":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sleep Waketime Typical","x-unit":"hour"}},"type":"object","required":["date"],"title":"SLEEP_REGULARITY"},"STRESS_DURATION":{"properties":{"date":{"type":"string","format":"date","title":"Date"},"stress_duration_daily":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Stress Duration Daily","x-unit":"min"},"stress_duration_typical":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Stress Duration Typical","x-unit":"min"},"stress_duration_lower_deviation":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Stress Duration Lower Deviation","x-unit":"min"},"stress_duration_upper_deviation":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Stress Duration Upper Deviation","x-unit":"min"}},"type":"object","required":["date"],"title":"STRESS_DURATION"},"STRESS_FREQUENCY":{"properties":{"date":{"type":"string","format":"date","title":"Date"},"stress_frequency_daily":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Stress Frequency Daily","x-unit":"count"}},"type":"object","required":["date"],"title":"STRESS_FREQUENCY"},"STRESS_RECOVERY":{"properties":{"date":{"type":"string","format":"date","title":"Date"},"stress_recovery_daily":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Stress Recovery Daily","x-unit":"min"},"stress_recovery_typical":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Stress Recovery Typical","x-unit":"min"},"stress_recovery_lower_deviation":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Stress Recovery Lower Deviation","x-unit":"min"},"stress_recovery_upper_deviation":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Stress Recovery Upper Deviation","x-unit":"min"}},"type":"object","required":["date"],"title":"STRESS_RECOVERY"},"Sleep":{"properties":{"start_datetime":{"type":"string","title":"Start Datetime"},"end_datetime":{"type":"string","title":"End Datetime"},"stages":{"anyOf":[{"items":{"$ref":"#/components/schemas/SleepStage"},"type":"array"},{"type":"null"}],"title":"Stages"}},"type":"object","required":["start_datetime","end_datetime","stages"],"title":"Sleep"},"SleepStage":{"properties":{"start_datetime":{"type":"string","title":"Start Datetime"},"end_datetime":{"type":"string","title":"End Datetime"},"stage":{"type":"string"}},"type":"object","required":["start_datetime","end_datetime","stage"],"title":"SleepStage"},"SleepStageType":{"type":"integer","enum":[4,3,2,1,0],"title":"SleepStageType"},"TimezoneResponse":{"properties":{"date":{"type":"string","format":"date","title":"Date"},"value":{"type":"integer","title":"Value"}},"type":"object","required":["date","value"],"title":"TimezoneResponse"},"User":{"properties":{"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name","description":"First name of the user"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name","description":"Last name of the user"},"age":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Age","description":"Age of the user"},"sex":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sex","description":"Sex of the user"},"height":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Height","description":"Height of the user in centimeters"},"weight":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Weight","description":"Weight of the user in kilograms"},"watch_hand":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Watch Hand","description":"Hand the user wears their watch on (LEFT or RIGHT)"},"dominant_hand":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dominant Hand","description":"Dominant hand of the user (LEFT or RIGHT)"},"platform":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform","description":"Platform the user is using (IOS or ANDROID)"}},"type":"object","required":["first_name","last_name","age","sex","height","weight","watch_hand","dominant_hand","platform"],"title":"User","examples":[{"age":30,"dominant_hand":"RIGHT","first_name":"Jane","height":175,"last_name":"Doe","platform":"IOS","sex":"MALE","watch_hand":"LEFT","weight":65}]},"ValenceType":{"type":"integer","enum":[-3,-2,-1,0,1,2,3],"title":"ValenceType"}},"securitySchemes":{"APIKeyHeader":{"type":"apiKey","in":"header","name":"X-API-KEY"}}},"tags":[{"name":"user","description":"User profile and account metadata."},{"name":"timeseries","description":"High-frequency timeline measurements (heart rate, HRV, skin conductance, etc.)."},{"name":"sleep","description":"Sleep events and stages."},{"name":"checkin","description":"Check-in events."},{"name":"activity","description":"Activity events."},{"name":"timezone","description":"Timezone-change events."},{"name":"crown_presses","description":"Crown-press events."},{"name":"feelings","description":"Self-reported feelings."},{"name":"overview","description":"Daily and typical statistical overviews per metric type."},{"name":"keys","description":"Metadata about the authenticated API key, including the users it can access."}]}