Skip to main content
GET
List Users

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Headers

X-Open-Wearables-API-Key
string | null

Query Parameters

page
integer
default:1

Page number (1-based)

Required range: x >= 1
limit
integer
default:20

Number of results per page

Required range: 1 <= x <= 100
sort_by
enum<string> | null
default:created_at

Field to sort by

Available options:
created_at,
email,
first_name,
last_name,
last_synced_at
sort_order
enum<string>
default:desc

Sort order

Available options:
asc,
desc
search
string | null

Search across first_name, last_name, and email (partial match)

email
string<email> | null

Filter by exact email

external_user_id
string | null
deprecated

Filter by external user ID. Deprecated: no data-fetching endpoint (timeseries, workouts, sleep, summaries, health-scores, etc.) accepts external_user_id - they all require the Open Wearables UUID. This field was added early in the project but never wired into those endpoints, so it only works as a filter on GET /users. Store the UUID returned by POST /users in your own system instead.

Response

Successful Response

items
UserRead · object[]
required
total
integer
required

Total number of items matching the query

Required range: x >= 0
page
integer
required

Current page number (1-based)

Required range: x >= 1
limit
integer
required

Number of items per page

pages
integer
required
read-only

Total number of pages.

has_next
boolean
required
read-only

Whether there is a next page.

has_prev
boolean
required
read-only

Whether there is a previous page.