Skip to content

Get the current training load

GET
/api/v1/metrics/training-load
curl --request GET \
--url http://localhost:8080/api/v1/metrics/training-load \
--header 'Authorization: Bearer <token>'

Returns today’s training load metrics

The current training load.

Media typeapplication/json
object
ctl
required

Chronic Training Load (fitness), the 42-day weighted average of the daily load.

number
atl
required

Acute Training Load (fatigue), the 7-day weighted average of the daily load.

number
tsb
required

Training Stress Balance (form), CTL minus ATL.

object
value
required
number
status
required

POSSIBLE_DETRAINING above 25, PEAK_FRESH from 10 to 25, SLIGHTLY_FRESH from 0 to 10, NEUTRAL from -10 to 0, ACCUMULATED_FATIGUE from -30 to -10 and OVER_FATIGUED below -30.

string
Allowed values: POSSIBLE_DETRAINING PEAK_FRESH SLIGHTLY_FRESH NEUTRAL ACCUMULATED_FATIGUE OVER_FATIGUED
acRatio
required

Acute:Chronic Workload Ratio, ATL divided by CTL.

object
value
required
number
status
required

HIGH_RISK above 1.3, LOW_RISK from 0.8 to 1.3 and LOW_TRAINING_LOAD below 0.8.

string
Allowed values: HIGH_RISK LOW_RISK LOW_TRAINING_LOAD
weeklyTrimp
required

The total training load (TRIMP) of the last 7 days.

integer
monotony
required

How evenly the load of the last 7 days was spread; higher means less variation.

number
strain
required

The weekly load multiplied by its monotony.

integer
restDaysLast7Days
required

The number of days without an activity in the last 7 days, today included.

integer
Example
{
"ctl": 54.2,
"atl": 61,
"tsb": {
"value": -6.8,
"status": "POSSIBLE_DETRAINING"
},
"acRatio": {
"value": 1.12,
"status": "HIGH_RISK"
},
"weeklyTrimp": 420,
"monotony": 1.4,
"strain": 590,
"restDaysLast7Days": 2
}

The Authorization header was missing, malformed, or did not match the configured key.

Media typeapplication/json

Every error uses this shape.

object
error
required

A stable, machine readable code.

string
Allowed values: invalid_token missing_file unsupported_media_type unsupported_file_type file_too_large import_mode_not_files gpx_not_available not_found method_not_allowed bad_request forbidden internal_error
message
required
string
Examples
ExampleinvalidToken
{
"error": "invalid_token",
"message": "A valid API token is required. Send it in the Authorization header as a Bearer token."
}
WWW-Authenticate
string