Features Integrations AI & API Pricing Blog Docs
Overview WHOOP Oura Withings Apple Health Glucose Hevy Lab Tests Training Data REST API AI & Claude MCP Server

Hevy

Connect Hevy with your own API key to sync strength training into VitalTrends.

BYOK. Hevy access uses your personal Hevy API key. Store it in VitalTrends once, and it is encrypted at rest.

For the full workflow across Hevy, manual entry, MacroFactor, AI, exercise cleanup, and analytics, start with the Training data guide.

What syncs

Connect

  1. Open Hevy developer settings and create or copy an API key.
  2. In VitalTrends, go to Connections -> Hevy.
  3. Paste the key and save. VitalTrends validates the key, subscribes a webhook when available, then starts a backfill.

How sync works

The first sync paginates through Hevy workouts, then stores each workout, exercise, and set in normalized tables. After that, the hourly delta job and the Hevy webhook keep edits and deletions current. If Hevy returns an authentication error, the connection is marked for reconnection and the encrypted key is left untouched until you replace it.

Workout views

Hevy appears in the unified workout feed. When a Hevy strength workout and an Apple Health strength workout start within two minutes and have compatible durations, VitalTrends treats them as one session and prefers Hevy as the primary strength log. Your Hevy sessions also show up in the Training Log alongside every other source, so you can review and edit your strength history from one place.

Exercise names in strength workout details and Training Log records open a dedicated history page. Each page combines matching canonical exercise names across sources and shows every session and set, max load, estimated one-rep max, total volume, and progression over time. You can rename an exercise from its history page or use PATCH /api/v1/training/exercises/rename with a workout:write API key. Reusing an existing exercise name combines both histories into one chart, and the old name remains a personal alias for future imports. The rename applies inside VitalTrends and does not change the exercise name stored by Hevy.

API and export

Use GET /api/v1/workouts/hevy for Hevy workout rows with nested exercises and sets, or GET /api/v1/workouts/unified for the merged cross-source workout feed. Data export includes a Hevy CSV with one row per set.

Webhook endpoint

VitalTrends registers POST /webhooks/hevy/{secret} as the callback URL for Hevy events. The secret is generated per connection and can be rotated from the Hevy connection page.