> For the complete documentation index, see [llms.txt](https://docs.tryterra.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tryterra.co/faq/help-topics/connecting/setting-up-provider-credentials-bring-your-own-keys/whoop-byo-credentials-setup.md).

# How do I set up WHOOP provider credentials?

WHOOP is a **bring-your-own-credentials provider**. You supply the client ID and secret WHOOP issues, not your Terra dashboard credentials.

**1. Create a WHOOP app.** On the WHOOP developer portal (a regular WHOOP account is needed to log in), create your own app and note the Client ID and Secret.

**2. Set up a customer-owned subdomain.**

* Pick a subdomain you own (e.g. `whoop.yourdomain.com`).
* Add a CNAME pointing it at Terra's load balancer.
* Share the subdomain with Terra support so an SSL certificate and validation CNAME can be issued, then add that CNAME to your DNS.

**3. Configure the Terra dashboard.** Under **Connections > Sources > WHOOP**, enter your Client ID and Secret, and set the redirect URL to `https://whoop.yourdomain.com/auth/whoop/oauth2`.

**4. Configure the WHOOP developer dashboard.** Set the same redirect, plus the webhook URL `https://whoop.yourdomain.com/hooks/whoop/push`.

Notes:

* The registered redirect stays fixed. Per-flow (web vs mobile) redirects are passed in the body of the `authenticateUser` or widget session request.
* Add the credentials per environment you need.

See the [WHOOP setup guide](https://docs.tryterra.co/health-and-fitness-api/whoop).
