# Open Wearables ## Docs - [Import Xml File](https://openwearables.io/docs/api-reference/external:-apple-health-import/import-xml-file.md): Import XML file into the database. - [Import Xml Presigned Url](https://openwearables.io/docs/api-reference/external:-apple-health-import/import-xml-presigned-url.md): Generate presigned URL for XML file upload and trigger processing task. - [Disconnect Provider Endpoint](https://openwearables.io/docs/api-reference/external:-connections/disconnect-provider-endpoint.md): Disconnect a user from a provider, revoking the connection and clearing tokens. - [Get Connections Endpoint](https://openwearables.io/docs/api-reference/external:-connections/get-connections-endpoint.md): Get all connections for a user, enriched with provider capability metadata. - [Get user data sources](https://openwearables.io/docs/api-reference/external:-data-sources/get-user-data-sources.md) - [Cancel Garmin Backfill](https://openwearables.io/docs/api-reference/external:-data-sync/cancel-garmin-backfill.md): Cancel an in-progress Garmin backfill for a user. - [Get Garmin Backfill Status Endpoint](https://openwearables.io/docs/api-reference/external:-data-sync/get-garmin-backfill-status-endpoint.md): Get Garmin backfill status for backfill data types. - [Retry Garmin Backfill Type](https://openwearables.io/docs/api-reference/external:-data-sync/retry-garmin-backfill-type.md): Retry backfill for a specific data type in the current window. - [Sync Historical Data](https://openwearables.io/docs/api-reference/external:-data-sync/sync-historical-data.md): Trigger a historical sync of the user's data from a connected provider. - [Sync User Data](https://openwearables.io/docs/api-reference/external:-data-sync/sync-user-data.md): Synchronize data from fitness provider API for a specific user. - [Delete Sleep Session](https://openwearables.io/docs/api-reference/external:-events/delete-sleep-session.md): Delete a sleep session. - [Delete Workout](https://openwearables.io/docs/api-reference/external:-events/delete-workout.md): Delete a workout session. - [List Sleep Sessions](https://openwearables.io/docs/api-reference/external:-events/list-sleep-sessions.md): Returns sleep sessions (including naps). - [List Workouts](https://openwearables.io/docs/api-reference/external:-events/list-workouts.md): Returns workout sessions. - [List Health Scores](https://openwearables.io/docs/api-reference/external:-health-scores/list-health-scores.md): Returns health scores (sleep, recovery, readiness, etc.) for a user. - [Create User Token](https://openwearables.io/docs/api-reference/external:-mobile-sdk/create-user-token.md): Exchange app credentials or admin auth for user-scoped access token. - [Generate Invitation Code](https://openwearables.io/docs/api-reference/external:-mobile-sdk/generate-invitation-code.md): Generate a single-use invitation code for SDK user onboarding. - [Redeem Invitation Code](https://openwearables.io/docs/api-reference/external:-mobile-sdk/redeem-invitation-code.md): Redeem an invitation code for SDK tokens. - [Sync Sdk Data](https://openwearables.io/docs/api-reference/external:-mobile-sdk/sync-sdk-data.md): Import health data from SDK provider asynchronously via Celery. - [Get Provider Authorization URL](https://openwearables.io/docs/api-reference/external:-providers/get-provider-authorization-url.md): Initiate OAuth flow for a provider. - [Get Providers](https://openwearables.io/docs/api-reference/external:-providers/get-providers.md): Get providers with their configuration and metadata. - [Get Activity Summary](https://openwearables.io/docs/api-reference/external:-summaries/get-activity-summary.md): Returns daily aggregated activity metrics. - [Get Body Summary](https://openwearables.io/docs/api-reference/external:-summaries/get-body-summary.md): Returns comprehensive body metrics with semantic grouping. - [Get Data Summary](https://openwearables.io/docs/api-reference/external:-summaries/get-data-summary.md): Returns per-user data counts grouped by series type, event type, and provider. - [Get Recovery Summary](https://openwearables.io/docs/api-reference/external:-summaries/get-recovery-summary.md): Returns daily recovery metrics (Sleep + HRV + RHR). - [Get Sleep Summary](https://openwearables.io/docs/api-reference/external:-summaries/get-sleep-summary.md): Returns daily sleep metrics. - [List All Sync Run Summaries](https://openwearables.io/docs/api-reference/external:-sync-status/list-all-sync-run-summaries.md): Return aggregated per-run summaries across all users (admin view). - [List Recent Sync Events](https://openwearables.io/docs/api-reference/external:-sync-status/list-recent-sync-events.md): Return the most recent stored sync events (newest first). - [List Sync Run Summaries](https://openwearables.io/docs/api-reference/external:-sync-status/list-sync-run-summaries.md): Return aggregated per-run summaries for recent sync activity. - [Stream User Sync Status](https://openwearables.io/docs/api-reference/external:-sync-status/stream-user-sync-status.md): Open a Server-Sent Events stream of sync status for a user. - [Get Timeseries](https://openwearables.io/docs/api-reference/external:-timeseries/get-timeseries.md): Returns granular time series data (biometrics or activity). - [Refresh Token](https://openwearables.io/docs/api-reference/external:-token/refresh-token.md): Exchange refresh token for new access token. - [Revoke Refresh Token](https://openwearables.io/docs/api-reference/external:-token/revoke-refresh-token.md): Revoke a refresh token. - [Create User](https://openwearables.io/docs/api-reference/external:-users/create-user.md) - [Delete User](https://openwearables.io/docs/api-reference/external:-users/delete-user.md) - [Get User](https://openwearables.io/docs/api-reference/external:-users/get-user.md) - [List Users](https://openwearables.io/docs/api-reference/external:-users/list-users.md): List users with pagination, sorting, and search. - [Update User](https://openwearables.io/docs/api-reference/external:-users/update-user.md) - [Create Endpoint](https://openwearables.io/docs/api-reference/external:-webhooks/create-endpoint.md) - [Delete Endpoint](https://openwearables.io/docs/api-reference/external:-webhooks/delete-endpoint.md) - [Get Endpoint](https://openwearables.io/docs/api-reference/external:-webhooks/get-endpoint.md) - [Get Endpoint Secret](https://openwearables.io/docs/api-reference/external:-webhooks/get-endpoint-secret.md) - [List Endpoint Attempts](https://openwearables.io/docs/api-reference/external:-webhooks/list-endpoint-attempts.md) - [List Endpoints](https://openwearables.io/docs/api-reference/external:-webhooks/list-endpoints.md) - [List Event Types](https://openwearables.io/docs/api-reference/external:-webhooks/list-event-types.md) - [List Messages](https://openwearables.io/docs/api-reference/external:-webhooks/list-messages.md) - [Send Test Event](https://openwearables.io/docs/api-reference/external:-webhooks/send-test-event.md) - [Update Endpoint](https://openwearables.io/docs/api-reference/external:-webhooks/update-endpoint.md) - [Import Apple Health XML Export](https://openwearables.io/docs/api-reference/guides/apple-xml-import.md): Import Apple Health data exports via XML. Direct upload for small files, S3 presigned URL for large exports. Requires Bearer token or API key. - [API Error Handling](https://openwearables.io/docs/api-reference/guides/error-handling.md): Reference for Open Wearables API error codes, response formats, and resolution steps. Covers auth failures, validation errors, rate limits, and 404s. - [Wearable Provider Setup and Sync Guide](https://openwearables.io/docs/api-reference/guides/provider-setup.md): Provider configuration and sync parameters for Garmin, Polar, Suunto, Whoop, and Apple Health. API path conventions and provider name rules included. - [Wearable API Integration Guide](https://openwearables.io/docs/api-reference/guides/quick-integration.md): End-to-end guide: create a user, connect a wearable provider via OAuth, sync data, and fetch timeseries, workouts, or sleep data. - [Live Sync Status (SSE) | Open Wearables](https://openwearables.io/docs/api-reference/guides/sync-status-stream.md): Stream real-time sync lifecycle events for a user via Server-Sent Events. Track when pulls, webhooks, SDK uploads, Apple Health imports, and Garmin backfills start, progress, and complete. - [Outgoing Webhooks | Open Wearables](https://openwearables.io/docs/api-reference/guides/webhooks.md): Receive real-time notifications when health data arrives for your users. Register HTTPS endpoints, filter by event type or user, verify signatures, and debug delivery. - [Open Wearables API Reference](https://openwearables.io/docs/api-reference/introduction.md): REST API reference for managing users, connecting wearable providers, and retrieving health data. 3rd-party integration endpoints. Auth via API key. - [Open Wearables Mobile App](https://openwearables.io/docs/app/introduction.md): Sync Apple Health and Android health data to Open Wearables without an API. Install the app, enter an invitation code, and data flows automatically. - [Health Data Types API Reference](https://openwearables.io/docs/architecture/data-types.md): Reference for all supported health data types, units, and formats. Covers timeseries metrics, sleep stages, workout fields, and activity data. - [Open Wearables Platform Architecture](https://openwearables.io/docs/architecture/system-overview.md): Open Wearables: FastAPI, PostgreSQL, Redis, and Celery in a layered monorepo. Self-hosted via Docker Compose. Covers backend, frontend, and data flow. - [Unified Health Data Model](https://openwearables.io/docs/architecture/unified-data-model.md): Open Wearables normalizes health data into one unified schema. Open algorithms, no black boxes. Covers events, timeseries, device mapping, and entities. - [Backfill Garmin Sleep End Datetime](https://openwearables.io/docs/data-migrations/backfill-garmin-sleep-end-datetime.md): Recomputes end_datetime and duration_seconds for Garmin sleep sessions using the actual last stage from the sleep stage timeline. - [Backfill Sleep Scores](https://openwearables.io/docs/data-migrations/backfill-sleep-scores.md): Calculates and saves OW internal sleep scores for sessions that have none, over a configurable lookback window. - [Data Migrations](https://openwearables.io/docs/data-migrations/index.md): One-off scripts for backfilling or correcting data in the database. Run manually against a live instance. - [Normalize Body Fat Percentage](https://openwearables.io/docs/data-migrations/normalize-body-fat-percentage.md): Divides body_fat_percentage values stored 100× too large back to the correct percentage, affecting Samsung and Google Health Connect data ingested before PR #917. - [Deploy Open Wearables to Railway](https://openwearables.io/docs/deployment/railway.md): Deploy Open Wearables to Railway in one click. FastAPI, PostgreSQL, Redis, and Celery pre-configured. No manual infrastructure setup needed. - [AWS S3 Setup for Apple Health XML Imports](https://openwearables.io/docs/dev-guides/aws-setup.md): Configure AWS S3 and SNS for large Apple Health XML uploads. SNS triggers processing when files land in S3. Covers creating the required AWS resources. - [Add a Wearable Provider Integration](https://openwearables.io/docs/dev-guides/how-to-add-new-provider.md): Add a new fitness data provider to Open Wearables. Covers Strategy, Factory, and Template Method patterns for OAuth, workout, and webhook handlers. - [Open Wearables Integration Guide](https://openwearables.io/docs/dev-guides/integration-guide.md): Create users, connect wearable providers via OAuth, and fetch health metrics. FastAPI examples included. Works with any backend language. - [Expose Local Backend with ngrok](https://openwearables.io/docs/dev-guides/ngrok-setup.md): Use ngrok to expose your local Open Wearables backend for Garmin OAuth callbacks, webhook testing, and Apple Health SDK integration. Quick setup. - [Raw Payload Storage](https://openwearables.io/docs/dev-guides/raw-payload-storage.md): Capture raw JSON payloads from wearable providers before processing. Useful for debugging issues, testing ingestion changes, and reproducing parsing bugs. - [Seed Data Generator](https://openwearables.io/docs/dev-guides/seed-data-generator.md): Generate synthetic users, workouts, sleep, and time series from the dashboard. Reproducible via a random seed embedded in the user name. - [Open Wearables FAQs](https://openwearables.io/docs/faqs.md): Answers to common Open Wearables questions: what it is, pricing, supported providers, self-hosting, API keys, and data privacy. MIT license, $0 per user. - [Open Wearables: Open Source Health Intelligence Platform](https://openwearables.io/docs/index.md): Open-source health intelligence platform. Connect Garmin, Whoop, Apple Health, and more via one unified API. Self-hosted, MIT license, $0 per user. - [Claude Desktop Health Data via MCP](https://openwearables.io/docs/mcp-server/claude-desktop.md): Configure Claude Desktop to query wearable health data via the Open Wearables MCP server. Ask Claude about sleep, workouts, and HRV in natural language. - [Cursor MCP Server for Health Data](https://openwearables.io/docs/mcp-server/cursor.md): Configure the Open Wearables MCP server with Cursor IDE. Query sleep, workouts, and activity data via natural language without leaving your editor. - [Health Data MCP Server](https://openwearables.io/docs/mcp-server/index.md): The Open Wearables MCP server connects Claude Desktop and Cursor to health data. Query sleep, workouts, and activity in natural language. FastMCP-based. - [Wearable API Coverage Matrix](https://openwearables.io/docs/providers/coverage.md): Data types by provider: Apple, Garmin, Polar, Suunto, Oura, Whoop, Ultrahuman, Strava, and Fitbit. OAuth, workouts, sleep, and timeseries support. - [Garmin API Integration](https://openwearables.io/docs/providers/garmin-api-integration.md): Connect Garmin via OAuth 2.0. Syncs activities, sleep, HRV, and daily summaries. Requires legal entity and Garmin Developer Program approval. - [Garmin Data Pipeline](https://openwearables.io/docs/providers/garmin-data-pipeline.md): Garmin delivers data only via webhooks. This guide covers ingestion, backfill orchestration, and retry logic. Celery workers with Redis-backed state. - [Supported Wearable Device Integrations](https://openwearables.io/docs/providers/supported.md): 9 providers: Garmin, Whoop, Polar, Suunto, Strava, Fitbit, Ultrahuman, Apple Health, and Google Health Connect. Cloud OAuth and mobile SDK integrations. - [Wearable API Quickstart](https://openwearables.io/docs/quickstart.md): Make your first wearable API call in 5 minutes. Covers Docker setup, environment config, and your first authenticated health data request. - [Open Wearables Roadmap: Current Features and Upcoming Plans](https://openwearables.io/docs/roadmap.md): Track what's available and what's next in Open Wearables. Covers provider integrations, health scores in development, webhooks, and the AI health roadmap. - [Health Scores](https://openwearables.io/docs/scores/health-scores.md): OW platform provides two custom health scores backed by science. The scores are designed to help users understand their habits and should not be treated as a clinical tool. - [Resilience Score](https://openwearables.io/docs/scores/resilience-score.md): A HRV-CV computed by Open Wearables that measures the stability of the body's autonomic nervous system. - [Sleep Score](https://openwearables.io/docs/scores/sleep-score.md): A nightly 0-100 score computed by Open Wearables from raw wearable data using a four-pillar model. - [Android Health Connect SDK](https://openwearables.io/docs/sdk/android/index.md): Native Kotlin SDK for background sync from Samsung Health and Health Connect. Dual provider support, WorkManager-backed sync, and foreground service. - [Android Health Connect Integration Guide](https://openwearables.io/docs/sdk/android/integration.md): Integrate the Open Wearables Android SDK into a Kotlin app. Covers backend auth, SDK initialization, provider selection, and Health Connect permissions. - [Android Health Connect SDK Troubleshooting](https://openwearables.io/docs/sdk/android/troubleshooting.md): Fix Android SDK issues: Health Connect permissions not showing, Samsung Health unavailable, and background sync failures. Kotlin and WorkManager tips. - [Open Wearables Flutter Example App](https://openwearables.io/docs/sdk/flutter/example-app.md): Explore the Flutter SDK with a working example app. Syncs Apple Health and Android health data in minutes. Good for personal tracking or coach app builds. - [Flutter Health Data SDK](https://openwearables.io/docs/sdk/flutter/index.md): Flutter SDK for background sync from Apple HealthKit, Samsung Health, and Health Connect. Cross-platform Dart API wrapping the native iOS and Android SDKs. - [Flutter Health Data Integration Guide](https://openwearables.io/docs/sdk/flutter/integration.md): Integrate the Flutter SDK for health data sync on iOS and Android. Covers backend auth, SDK setup, sign-in, and HealthKit or Health Connect permissions. - [Flutter Health SDK Troubleshooting](https://openwearables.io/docs/sdk/flutter/troubleshooting.md): Fix common Flutter SDK issues on iOS and Android: HealthKit permissions not showing, Health Connect unavailable, and background sync not triggering. - [Wearable Sync SDK](https://openwearables.io/docs/sdk/index.md): Native mobile SDKs for background sync from Apple HealthKit, Samsung Health, and Health Connect. iOS, Android, Flutter, and React Native supported. - [iOS HealthKit SDK](https://openwearables.io/docs/sdk/ios/index.md): Native Swift SDK for Apple HealthKit background sync. Supports background delivery, streaming sync, and secure token storage. Powers the Flutter SDK. - [iOS HealthKit Integration Guide](https://openwearables.io/docs/sdk/ios/integration.md): Integrate the Open Wearables iOS SDK into a Swift app. Covers backend auth, SDK configuration, sign-in flow, and HealthKit permission requests. - [iOS HealthKit SDK Troubleshooting](https://openwearables.io/docs/sdk/ios/troubleshooting.md): Fix common iOS SDK issues: HealthKit permissions not showing, background sync not triggering, and upload failures. Swift and Xcode integration tips. - [Open Wearables React Native Example App](https://openwearables.io/docs/sdk/react-native/example-app.md): Explore the React Native SDK with a working example app. Syncs Apple Health and Android health data in minutes. Use it as a reference implementation. - [React Native Wearables SDK](https://openwearables.io/docs/sdk/react-native/index.md): React Native SDK for background sync from HealthKit and Health Connect. TypeScript API via Expo Module API, wrapping native iOS and Android SDKs. - [React Native Health Data Integration](https://openwearables.io/docs/sdk/react-native/integration.md): Integrate the React Native SDK for health data sync on iOS and Android. Covers backend auth, Expo Module setup, sign-in, and HealthKit permission requests. - [React Native Health SDK Troubleshooting](https://openwearables.io/docs/sdk/react-native/troubleshooting.md): Fix React Native SDK issues: HealthKit permissions not showing, Health Connect unavailable, and background sync failures. Covers Expo and bare workflow. - [Open Wearables Support](https://openwearables.io/docs/support.md): Get Open Wearables support via GitHub Discussions, Issues, and Discord. Links to API docs, quickstart, FAQs, and provider setup guides for help. ## OpenAPI Specs - [openapi](https://api.openwearables.io/openapi.json) ## Optional - [GitHub](https://github.com/the-momentum/open-wearables) - [Discord](https://discord.gg/qrcfFnNE6H) - [Discussions](https://github.com/the-momentum/open-wearables/discussions)