Menstrual cycles derived from the recorded flow
Derived at read time from the menstrual_flow category samples, so it always agrees with
them, deletions included. A flow day is a local calendar day (the sample's timezone
metadata, else UTC) with a flow sample whose label is not none; a period is a run of
flow days with gaps of at most 2 days; a cycle runs from a period's first day to the day
before the next period's first day, and the latest cycle is open (end_date and
cycle_length_days null). Intermenstrual bleeding never starts a period. Nothing is
predicted. start and end compare as dates and select cycles by start_date. A call
reads at most 50000 flow samples: a page can then hold fewer than limit cycles and
still carry a next_cursor. See docs/menstrual-cycles.md.
tenantKeyAuthorizationBearer <token>Tenant API key, ohs_sk_ + 43 base62 characters.
id*stringuuidstart?|Inclusive lower bound, RFC 3339 or YYYY-MM-DD.
end?|Exclusive upper bound, RFC 3339 or YYYY-MM-DD. Must not be before start.
cursor?stringThe next_cursor of the previous page.
limit?integer1 <= value <= 1000100One page, by start_date.
application/json- response
data*array<>next_cursor*|Null on the last page.
curl -X GET 'http://localhost:8080/v1/users/497f6eca-6276-4993-bfeb-53cbbbba6f08/menstrual-cycles' \ -H 'Authorization: Bearer ohs_sk_...'{ "next_cursor": "string", "data": [ { "start_date": "2019-08-24", "period_end_date": "2019-08-24", "period_length_days": 1, "end_date": "2019-08-24", "cycle_length_days": 1, "providers": [ "string" ], "flow_days": [ { "date": "2019-08-24", "flow": "unspecified", "providers": [ "string" ] } ] } ]}