# List the project's wearable providers

Canonical page: https://docs.ovok.com/api/wearables/list-the-project-s-wearable-providers

`GET /v1/wearables/providers`

Returns every cloud wearable provider ovok supports, and whether your current project has set each one up. It never returns a secret.

**Auth:** bearer token of a project admin. The caller must also be a Practitioner, an admin or hold the System Owner access policy.
**Scope:** the caller's project (from the token).

## Behaviour

- `providers` lists `oura`, `whoop`, `strava`, `withings`, `polar`, `suunto`, `garmin` and `ultrahuman`.
- `configured` is `true` when the project holds OAuth credentials for the provider that this server can read. Credentials stored with another key read as not configured; set them up again with `POST`.
- `enabled` is `true` when the provider is configured and switched on. Only then can the project's patients connect it.
- `clientId` is the OAuth client ID, or `null`.
- `redirectUri` is the callback URL to register in the provider's developer portal, the same for every project. It is `null` when this server has no public base URL.
- `webhookUrl` is where the provider sends notifications of new data, unique to the project. For Withings it ends in a per-project token that proves a notification's origin, so only admins see it; keep it private. Paste it where the provider's portal asks for one (Suunto). For Withings and Polar it is for information only: ovok registers it itself. It is `null` when the provider sends no notifications (Oura, Whoop, Strava, Garmin and Ultrahuman for now), is not set up, or this server has no public base URL. See `POST /v1/wearables/webhooks/<projectId>/<provider>`.
- `webhookReady` is `true` when ovok holds the secret that checks the provider's notifications: Polar's signing key from its webhook setup, the secret ovok makes for Withings, or Suunto's `webhookSecret`. It is `false` until then, so a Polar webhook setup that failed shows here; save Polar again to retry. It is `null` when the provider sends no notifications.

## Example

```bash
curl -X GET 'https://api.sandbox.ovok.com/v1/wearables/providers' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk'
```
