Garmin Skill
Chat with your Garmin Connect data using AI. Ask about your runs, rides, swims, training load, VO2 Max, heart rate zones, and performance trends. Powered by Transition, which syncs with Garmin Connect to give AI agents access to your training data.
Setup
- Download Transition and connect your Garmin account
- Go to Settings > API Keys and tap Generate New Key
- Set the environment variable:
export TRANSITION_API_KEY="tr_live_xxxxxxxxxxxxxxxxxxxxx"
No Auth Required
Workout of the Day
Generate a random structured workout — no account needed.
curl "https://api.transition.fun/api/v1/wod?sport=run&duration=45"
Parameters:
sport—run,bike,swim, orstrength(default:run)duration— minutes, 10-300 (default:45)
Authenticated Endpoints
Base URL: https://api.transition.fun
Auth: Pass X-API-Key header on every request.
AI Coach Chat
Ask questions about your Garmin data. The AI coach has full context on your activities, training load, and performance.
curl -X POST -H "X-API-Key: $TRANSITION_API_KEY" \
-H "Content-Type: application/json" \
-d '{"message": "How has my running volume changed this month compared to last?"}' \
"https://api.transition.fun/api/v1/coach/chat"
Example questions:
- "What was my longest run this week?"
- "How is my VO2 Max trending?"
- "Am I overtraining based on my recent Garmin data?"
- "Compare my cycling power this month vs last month"
- "What does my heart rate data say about my fitness?"
Get Workouts
Retrieve scheduled workouts for a date range.
curl -H "X-API-Key: $TRANSITION_API_KEY" \
"https://api.transition.fun/api/v1/workouts?start=2026-02-09&end=2026-02-15"
Parameters:
start— Start date (YYYY-MM-DD, required)end— End date (YYYY-MM-DD, required)- Maximum range between
startandendis 90 days.
Performance Management Chart (PMC)
Get CTL (fitness), ATL (fatigue), and TSB (form) calculated from your Garmin activities.
curl -H "X-API-Key: $TRANSITION_API_KEY" \
"https://api.transition.fun/api/v1/performance/pmc"
Performance Stats
Get FTP, threshold paces, heart rate zones, and other metrics derived from your Garmin data.
curl -H "X-API-Key: $TRANSITION_API_KEY" \
"https://api.transition.fun/api/v1/performance/stats"
Athlete Profile
curl -H "X-API-Key: $TRANSITION_API_KEY" \
"https://api.transition.fun/api/v1/profile"
Chat History
curl -H "X-API-Key: $TRANSITION_API_KEY" \
"https://api.transition.fun/api/v1/coach/history"
Push Workout to Garmin
Send a scheduled workout directly to your Garmin device.
curl -X POST -H "X-API-Key: $TRANSITION_API_KEY" \
"https://api.transition.fun/api/v1/workouts/123/push-garmin"
Rate Limits
| Tier | Read Endpoints | AI Endpoints |
|---|---|---|
| Free | 100/day | 3/day |
| Paid | 10,000/day | 100/day |
Tips for Agents
-
Use coach chat as the primary interface. It has full context on the user's Garmin activities, training load, and performance — just ask natural questions.
-
Check fatigue before recommending hard workouts. Call
GET /api/v1/performance/pmcand look at TSB. If TSB is below -20, the athlete is fatigued. -
Use the free WOD endpoint for quick workouts. No auth needed — great for users who just want a workout suggestion.
-
Date format is always YYYY-MM-DD for all date parameters.