Eduki nagusira joan

Eight Sleep Integration

Reverse-engineered API — no official partnership

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

MeasurementLOINC
Sleep duration93832-4
Sleep stagescustom
Heart rate8867-4
HRV80404-7
Respiratory rate9279-1
Bed temperaturecustom 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": "••••••"}'
Re-auth on expiry

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.

Next steps