Skip to main content
Users are the core entities in Open Wearables that represent individuals whose wearable data you’re collecting. Each user has a unique ID and can be linked to multiple wearable providers.

Creating Users

1

Create a user via API

Send a POST request to create a new user. All fields are optional - you can create a minimal user with just an ID or include additional metadata.
curl -X POST https://api.openwearables.com/api/v1/users \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "first_name": "Jane",
    "last_name": "Doe",
    "email": "[email protected]",
    "external_user_id": "user_123_from_your_system"
  }'
Response:
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "created_at": "2026-03-07T10:30:00Z",
  "first_name": "Jane",
  "last_name": "Doe",
  "email": "[email protected]",
  "external_user_id": "user_123_from_your_system"
}
2

Store the user ID

Save the returned id field - you’ll need it for all subsequent operations like connecting wearables and fetching data.
The external_user_id field lets you store your own system’s user identifier for easy lookups.

User Fields

id
UUID
required
Unique identifier generated by Open Wearables
created_at
datetime
required
Timestamp when the user was created (ISO 8601 format with timezone)
first_name
string
User’s first name (max 100 characters)
last_name
string
User’s last name (max 100 characters)
email
string
User’s email address (must be valid email format)
external_user_id
string
Your own system’s user identifier for easy mapping between systems

Retrieving Users

Get a Single User

curl -X GET https://api.openwearables.com/api/v1/users/550e8400-e29b-41d4-a716-446655440000 \
  -H "Authorization: Bearer YOUR_API_KEY"

List All Users

Fetch users with pagination, filtering, and search:
curl -X GET "https://api.openwearables.com/api/v1/users?page=1&limit=20&sort_by=created_at&sort_order=desc" \
  -H "Authorization: Bearer YOUR_API_KEY"
Query Parameters:
page
integer
default:"1"
Page number (1-based)
limit
integer
default:"20"
Results per page (1-100)
sort_by
string
default:"created_at"
Sort field: created_at, email, first_name, or last_name
sort_order
string
default:"desc"
Sort order: asc or desc
Search across first_name, last_name, and email (partial match)
email
string
Filter by exact email match
external_user_id
string
Filter by your external user ID
Response:
{
  "items": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "created_at": "2026-03-07T10:30:00Z",
      "first_name": "Jane",
      "last_name": "Doe",
      "email": "[email protected]",
      "external_user_id": "user_123"
    }
  ],
  "total": 1,
  "page": 1,
  "limit": 20
}

Updating Users

Update user information with a PATCH request:
curl -X PATCH https://api.openwearables.com/api/v1/users/550e8400-e29b-41d4-a716-446655440000 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "first_name": "Jane",
    "last_name": "Smith",
    "email": "[email protected]"
  }'
Only include fields you want to update. Omitted fields remain unchanged.

Deleting Users

Deleting a user removes all their data including wearable connections, health records, and summaries. This action cannot be undone.
curl -X DELETE https://api.openwearables.com/api/v1/users/550e8400-e29b-41d4-a716-446655440000 \
  -H "Authorization: Bearer YOUR_API_KEY"

Next Steps

Connect Wearables

Link user accounts to Garmin, Whoop, Strava, and other providers

Access Data

Retrieve health metrics, workouts, and sleep data

Build docs developers (and LLMs) love