Eight Sleep Integration
Eight Sleep does not publish a developer API. The vitalera integration targets the internal client-api.8slp.net service used by their own mobile app. Authentication relies on email/password → JWT, and endpoints may change without notice. Use for personal/experimental deployments; production SLAs are not guaranteed until Eight Sleep publishes an official API.
Eight Sleep's Pod is a water-cooled mattress cover that actively regulates sleeping temperature and tracks biometrics while you sleep.
Data types
| Measurement | LOINC |
|---|---|
| Sleep duration | 93832-4 |
| Sleep stages | custom |
| Heart rate | 8867-4 |
| HRV | 80404-7 |
| Respiratory rate | 9279-1 |
| Bed temperature | custom 8slp-bedtemp |
Connection
Because Eight Sleep uses email/password auth, users enter their Eight Sleep credentials in the vitalera connect widget. The credentials are exchanged for a JWT and never stored — only the refresh token / session cookie is retained.
curl -X POST https://api.vitalera.io/api/connected-accounts/eight_sleep/oauth/initiate/ \
-H "Authorization: Bearer <user_token>" \
-d '{"email": "user@example.com", "password": "••••••"}'
When Eight Sleep's session expires (typically every 14 days), the user must re-authenticate. vitalera flips the connection status to reauth_required and surfaces it through GET /api/connected-accounts/eight_sleep/status/.
Reverse-engineering considerations
- Eight Sleep may change endpoints or add rate limits at any time.
- vitalera monitors success rates and disables the integration automatically on sustained failure.
- No ingestion of un-consented household member data — only the authenticated user's side of the Pod is read.