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:
http://localhost:8000/api/v1
For production deployments, replace with your server URL.
Quick Reference
Operation Method Endpoint List users GET /api/v1/usersCreate user POST /api/v1/usersGet user GET /api/v1/users/{user_id}Get connections GET /api/v1/users/{user_id}/connectionsGet activity summary GET /api/v1/users/{user_id}/summaries/activityGet sleep summary GET /api/v1/users/{user_id}/summaries/sleepGet body summary GET /api/v1/users/{user_id}/summaries/bodyGet recovery summary GET /api/v1/users/{user_id}/summaries/recoveryGet timeseries GET /api/v1/users/{user_id}/timeseriesGet workouts GET /api/v1/users/{user_id}/events/workoutsGet sleep sessions GET /api/v1/users/{user_id}/events/sleepGet data sources GET /api/v1/users/{user_id}/data-sourcesGet health scores GET /api/v1/users/{user_id}/health-scoresList providers GET /api/v1/oauth/providersOAuth authorize GET /api/v1/oauth/{provider}/authorize?user_id={user_id}Sync data POST /api/v1/providers/{provider}/users/{user_id}/syncHistorical sync POST /api/v1/providers/{provider}/users/{user_id}/sync/historicalGet provider workouts GET /api/v1/providers/{provider}/users/{user_id}/workoutsList event types GET /api/v1/webhooks/event-typesRegister webhook endpoint POST /api/v1/webhooks/endpointsList webhook endpoints GET /api/v1/webhooks/endpointsUpdate 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 the X-Open-Wearables-API-Key header:
X-Open-Wearables-API-Key : YOUR_API_KEY
Do not use Bearer token format. The API uses a custom header, not the standard Authorization 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
Keep your API keys secure. Never commit them to version control or expose them in client-side code.
The API uses different response formats depending on the endpoint type:
Resource Lists (Users)
{
"items" : [ ... ],
"total" : 50 ,
"page" : 1 ,
"limit" : 20 ,
"pages" : 3 ,
"has_next" : true ,
"has_prev" : false
}
Data Endpoints (Timeseries, Workouts, Sleep)
{
"data" : [ ... ],
"pagination" : {
"next_cursor" : "abc123..." ,
"previous_cursor" : null ,
"has_more" : true
},
"metadata" : {
"resolution" : null ,
"sample_count" : 100 ,
"start_time" : "2025-01-01T00:00:00Z" ,
"end_time" : "2025-01-31T00:00:00Z"
}
}
Error Response
{
"detail" : "Error message describing what went wrong"
}
HTTP Status Codes
200 OK - Request succeeded
201 Created - Resource created successfully
204 No Content - Request succeeded, no content to return
400 Bad Request - Invalid request parameters
401 Unauthorized - Authentication required or invalid
404 Not Found - Resource not found
500 Internal Server Error - Server error
The API uses two pagination styles depending on the endpoint:
GET /api/v1/users?page=2&limit=50
Parameter Default Description page1 Page number limit20 Items per page (max: 100)
GET /api/v1/users/{user_id}/timeseries?cursor=abc123&limit=50
Parameter Default Description cursornull Cursor from previous response limit50 Items per page (max: 100)
Use the next_cursor from the response to fetch the next page.
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
The OpenAPI specification is auto-generated from the API code and is always the most accurate reference.