REST API
Stable PostHealth resources for dashboards, REST API clients, and AI assistants.
Base URL: https://api.posthealth.dev/api/v1
The v1 API returns stable PostHealth resources instead of Google Health provider request shapes. Date-only boundaries use the account's saved IANA timezone.
Core resources
| Resource | Use it for |
|---|---|
GET /summary | Compact dashboard and assistant summary |
GET /context | Latest values, changes, daily series, and evidence |
GET /data-quality | Coverage, freshness, and sync health |
GET /daily | Daily aggregates for charts and product integrations |
GET /timeline | Chronological, source-labeled observations |
GET /sleep | Sleep sessions, stages, efficiency, and need context |
GET /recovery | Transparent PostHealth-derived readiness inputs |
GET /body | Weight, body fat, height, and BMI when available |
GET /workouts | Fitbit exercise records and training summaries |
GET /nutrition | Nutrition and hydration records when available |
GET /glucose | Descriptive glucose analytics when available |
GET /correlation | Descriptive daily-series relationships |
POST /ask | Deterministic natural-language facade over supported resources |
Example: daily data
curl "https://api.posthealth.dev/api/v1/daily?days=30&types=steps,sleep,weight&page=1&per_page=100" \\
-H "Authorization: Bearer $POSTHEALTH_API_KEY"Use source=FITBIT for the default Fitbit-first view. Use source=all only when you intentionally want other cached platforms.
Pagination
List endpoints accept page and per_page up to 200. Canonical data-point resources also expose cursor pagination through pagination.nextCursor.
Derived data
PostHealth calculates readiness, training load, BMI, comparisons, and correlations transparently. Derived values include their inputs and caveats; they are not medical or vendor-owned scores.
For the complete route inventory, see API Reference.