Overview
Returns a list of all wearable provider connections (Garmin, Strava, Polar, etc.) associated with a user. Each connection includes status, provider information, and last sync timestamp.
This endpoint returns connection metadata only. Access tokens and refresh tokens are never exposed in API responses.
Authentication
Requires a valid API key in the X-API-Key header.
Path Parameters
The UUID of the user whose connections to retrieve
Response
Returns an array of connection objects.
Unique identifier for the connection (UUID)
UUID of the user who owns this connection
Provider name (e.g., “garmin”, “strava”, “polar”, “suunto”, “whoop”)
The user’s ID in the provider’s system (if available)
The user’s username/display name in the provider’s system (if available)
OAuth scopes granted for this connection
Connection status: active, revoked, or expired
ISO 8601 timestamp of the last successful data sync (null if never synced)
ISO 8601 timestamp when the connection was created
ISO 8601 timestamp when the connection was last updated
Example Request
curl -X GET "https://api.openwearables.com/api/v1/users/550e8400-e29b-41d4-a716-446655440000/connections" \
-H "X-API-Key: your_api_key_here"
Example Response
[
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"user_id": "550e8400-e29b-41d4-a716-446655440000",
"provider": "garmin",
"provider_user_id": "9876543210",
"provider_username": "john_runner",
"scope": "ACTIVITY_EXPORT HEALTH_EXPORT",
"status": "active",
"last_synced_at": "2024-03-15T10:30:00Z",
"created_at": "2024-01-10T08:00:00Z",
"updated_at": "2024-03-15T10:30:00Z"
},
{
"id": "456e7890-e89b-12d3-a456-426614174001",
"user_id": "550e8400-e29b-41d4-a716-446655440000",
"provider": "strava",
"provider_user_id": "12345678",
"provider_username": null,
"scope": "activity:read_all,activity:write",
"status": "active",
"last_synced_at": "2024-03-14T22:15:00Z",
"created_at": "2024-02-01T14:30:00Z",
"updated_at": "2024-03-14T22:15:00Z"
},
{
"id": "789e0123-e89b-12d3-a456-426614174002",
"user_id": "550e8400-e29b-41d4-a716-446655440000",
"provider": "polar",
"provider_user_id": "87654321",
"provider_username": null,
"scope": "exercise.read",
"status": "expired",
"last_synced_at": "2024-02-20T16:45:00Z",
"created_at": "2023-12-01T09:00:00Z",
"updated_at": "2024-02-28T12:00:00Z"
}
]
{
"detail": "Invalid or missing API key"
}
{
"detail": "User not found"
}
Status Values
- active: Connection is valid and can be used for data sync
- revoked: User has revoked access in the provider’s app/website
- expired: OAuth tokens have expired and need refresh
Use Cases
- Display connected providers in user dashboard
- Check which data sources are available before syncing
- Monitor connection health and prompt re-authorization
- Filter data queries by active providers