Documentation Index
Fetch the complete documentation index at: https://openwearables.io/docs/llms.txt
Use this file to discover all available pages before exploring further.
About this reference
This API Reference covers endpoints for 3rd party integrations - everything you need to manage users, connect wearable providers, and retrieve health data. Internal endpoints (dashboard management, team settings, webhook receivers) are not listed here. For the full API including internal endpoints, use Swagger UI.Swagger UI (full API)
Interactive API explorer with all endpoints, including internal
OpenAPI JSON
Machine-readable OpenAPI 3.1 specification
Overview
The Open Wearables API provides a unified REST interface to access health data from multiple wearable devices and fitness platforms. All endpoints are versioned under/api/v1 and follow RESTful conventions.
Base URL
When running locally:Quick Reference
| Operation | Method | Endpoint |
|---|---|---|
| List users | GET | /api/v1/users |
| Create user | POST | /api/v1/users |
| Get user | GET | /api/v1/users/{user_id} |
| Get connections | GET | /api/v1/users/{user_id}/connections |
| Get activity summary | GET | /api/v1/users/{user_id}/summaries/activity |
| Get sleep summary | GET | /api/v1/users/{user_id}/summaries/sleep |
| Get body summary | GET | /api/v1/users/{user_id}/summaries/body |
| Get recovery summary | GET | /api/v1/users/{user_id}/summaries/recovery |
| Get timeseries | GET | /api/v1/users/{user_id}/timeseries |
| Get workouts | GET | /api/v1/users/{user_id}/events/workouts |
| Get sleep sessions | GET | /api/v1/users/{user_id}/events/sleep |
| Get data sources | GET | /api/v1/users/{user_id}/data-sources |
| Get health scores | GET | /api/v1/users/{user_id}/health-scores |
| List providers | GET | /api/v1/oauth/providers |
| OAuth authorize | GET | /api/v1/oauth/{provider}/authorize?user_id={user_id} |
| Sync data | POST | /api/v1/providers/{provider}/users/{user_id}/sync |
| Historical sync | POST | /api/v1/providers/{provider}/users/{user_id}/sync/historical |
| Get provider workouts | GET | /api/v1/providers/{provider}/users/{user_id}/workouts |
| List event types | GET | /api/v1/webhooks/event-types |
| Register webhook endpoint | POST | /api/v1/webhooks/endpoints |
| List webhook endpoints | GET | /api/v1/webhooks/endpoints |
| Update webhook endpoint | PATCH | /api/v1/webhooks/endpoints/{endpoint_id} |
| Delete webhook endpoint | DELETE | /api/v1/webhooks/endpoints/{endpoint_id} |
| Get endpoint secret | GET | /api/v1/webhooks/endpoints/{endpoint_id}/secret |
Authentication
All API endpoints require authentication using API keys. Include your API key in theX-Open-Wearables-API-Key header:
Getting an API Key
- Access the Open Wearables Platform at
http://localhost:3000 - Log in
- Navigate to the API Keys section in the Settings tab
- Generate a new API key
- Copy and securely store the key
Response Formats
The API uses different response formats depending on the endpoint type:Resource Lists (Users)
Data Endpoints (Timeseries, Workouts, Sleep)
Error Response
HTTP Status Codes
200 OK- Request succeeded201 Created- Resource created successfully204 No Content- Request succeeded, no content to return400 Bad Request- Invalid request parameters401 Unauthorized- Authentication required or invalid404 Not Found- Resource not found500 Internal Server Error- Server error
Pagination
The API uses two pagination styles depending on the endpoint:Offset Pagination (Users)
| Parameter | Default | Description |
|---|---|---|
page | 1 | Page number |
limit | 20 | Items per page (max: 100) |
Cursor Pagination (Timeseries, Workouts, Sleep)
| Parameter | Default | Description |
|---|---|---|
cursor | null | Cursor from previous response |
limit | 50 | Items per page (max: 100) |
next_cursor from the response to fetch the next page.
Date & Time Parameters
Endpoints that accept date range parameters (start_date, end_date, start_time, end_time) support the following input formats:
| Format | Example | Notes |
|---|---|---|
| ISO 8601 datetime with timezone | 2023-11-07T05:31:56Z | Recommended |
| ISO 8601 datetime with offset | 2023-11-07T06:31:56+01:00 | |
| Date-only | 2023-11-07 | Normalized to midnight UTC (2023-11-07T00:00:00Z) |
| Unix timestamp (seconds) | 1699332716 | UTC |
When a date-only value (e.g.
2023-11-07) is provided as an end date, it is treated as midnight UTC at the start of that day. Depending on the endpoint, this may be extended to include the full day — use an explicit time component (e.g. 2023-11-07T23:59:59Z) to avoid ambiguity.Filtering & Sorting
Many endpoints support filtering and sorting. Check individual endpoint documentation for available options.OpenAPI Specification
The complete OpenAPI specification is available at:- Swagger UI:
https://api.openwearables.io/docs - OpenAPI JSON:
https://api.openwearables.io/openapi.json

