API access to Intervals.icu

I have just implemented some API support for wellness.

GET /api/v1/athlete/{id}/wellness?oldest=2020-12-01&newest=2020-12-31

[
  {
    "id": "2020-12-01",
    "updated": "2021-01-01T15:14:22.925+0000",
    "weight": 72.6,
    "restingHR": 44,
    "hrv": null,
    "menstrualPhase": null,
    "menstrualPhasePredicted": null,
    "kcalConsumed": null,
    "sleepSecs": null,
    "sleepQuality": null,
    "soreness": 1,
    "fatigue": 2,
    "stress": 3,
    "mood": 4,
    "motivation": 3,
    "spO2": null,
    "systolic": null,
    "diastolic": null
  },...]

Weight is in kg. Soreness etc. are on a 1-4 scale where 1 is good (not sore) and 4 is bad (very sore).

GET /api/v1/athlete/2049151/wellness/2020-12-01

Get the record for the day.

PUT /api/v1/athlete/2049151/wellness/2020-12-01

Create or update the record for the day. Only include fields you want to change in the body:

{ "weight": 74.2 }

To ‘unset’ numeric fields send -1.

You can also supply a ‘localDate’ query parameter in yyyy-MM-dd format. If that matches the id of the record you are updating then the athlete’s ‘current’ weight and/or resting HR in /settings are also updated.

5 Likes