Data model
Understand sources, dates, values, and provenance.
PostHealth separates source records from product calculations so clients can tell what Fitbit provided and what PostHealth derived.
Canonical data point
{
"id": "users/me/dataTypes/steps/dataPoints/example",
"dataType": "steps",
"time": {
"physical": "2026-07-31T08:00:00Z",
"civilDate": "2026-07-31"
},
"value": 842,
"unit": "count",
"source": {
"platform": "FITBIT",
"recordingMethod": "PASSIVELY_MEASURED"
}
}Source boundary
source=FITBIT is the default and includes Fitbit-origin records plus Google Health rollups produced from Fitbit data. source=all opts into other cached platforms when present.
Time boundaries
Timestamp ranges are UTC-aware. Date-only parameters such as date, start, and end use the account's saved IANA timezone so a local day does not shift unexpectedly across midnight.
Metadata and raw payloads
Use include=metadata for type-specific context such as sleep stages, workout details, glucose measurement context, or nutrition labels. Use include=raw only when the original provider payload is explicitly needed; raw data is never included by default.