Cycle Tools
Four tools for accessing your daily physiological cycles and accumulated strain.
What Are Cycles?
A WHOOP "cycle" represents approximately one 24-hour physiological period. Unlike calendar days, cycles are based on your sleep schedule - a new cycle begins when you wake up.
Each cycle includes:
- Your recovery score (from the previous night's sleep)
- All strain accumulated throughout the day
- Any workouts completed
get-cycle-collection
Retrieve a paginated list of physiological cycles with optional date filtering.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
start_date | string | No | - | Start date in ISO 8601 format |
end_date | string | No | - | End date in ISO 8601 format |
limit | number | No | 25 | Maximum records to return (max: 25) |
Example Questions
- "Show me my daily strain for last week"
- "Get my cycle data for December"
Response Fields
| Field | Description |
|---|---|
id | Unique cycle ID |
start / end | Cycle timestamps |
score.strain | Total daily strain (0-21) |
score.kilojoule | Total energy expenditure |
score.average_heart_rate | Average HR for the day |
score.max_heart_rate | Peak HR for the day |
get-cycle-by-id
Get detailed information about a specific physiological cycle.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
cycle_id | number | Yes | The cycle ID |
Example Questions
- "Get details for cycle 67890"
- "Show me that day's strain breakdown"
get-recent-cycles
Convenience tool to get cycles from the last N days.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
days | number | No | 7 | Number of days to look back |
Example Questions
- "What's my daily strain been like this week?"
- "Show my recent cycle data"
get-cycle-summary
Get aggregated daily strain metrics for a date range.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
start_date | string | Yes | Start date in ISO 8601 format |
end_date | string | Yes | End date in ISO 8601 format |
Example Questions
- "What's my average daily strain this month?"
- "How much energy have I burned?"
- "Summarize my daily activity for December"
Response Fields
| Field | Description |
|---|---|
period | Date range and number of days |
totals.cycles | Number of cycles |
totals.total_strain | Cumulative strain |
totals.total_kilojoules | Total energy expenditure |
averages.daily_strain | Average daily strain |
averages.daily_kilojoules | Average daily energy |
averages.average_heart_rate | Average daily HR |
Understanding Daily Strain
Daily Strain vs Workout Strain
| Metric | Description |
|---|---|
| Workout Strain | Strain from a specific exercise session |
| Daily Strain | Total strain for the entire day (all activities) |
Daily strain includes:
- All workouts
- Background activity (walking, stairs, etc.)
- Any elevated heart rate activity
Optimal Strain
Your optimal daily strain depends on your recovery:
| Recovery | Recommended Strain |
|---|---|
| Green (67-100%) | 14-18 for training adaptation |
| Yellow (34-66%) | 10-14 for maintenance |
| Red (0-33%) | Under 10, prioritize recovery |
Strain Accumulation
Strain is logarithmic, not additive:
- Early strain is "easier" to accumulate
- Higher strain levels require more effort
- Going from 18 to 21 is harder than 0 to 10
This means a 10-strain workout + a 10-strain workout ≠ 20 daily strain.