---
title: "Sessions committed to for a day, newest first"
method: GET
path: "/planned-workouts"
tags: ["Training"]
---

# Sessions committed to for a day, newest first

`GET /planned-workouts`

## Request

- Base URL: `https://bodylab.lol/api/v1`
- URL: `https://bodylab.lol/api/v1/planned-workouts`
- Auth: HTTP bearer

Newest first, so the first is the one the athlete committed to last: a client that opens on a planned session should open on that one. `done` is true once a completed activity has been matched to the plan, so a client can stop presenting it as still to do.

## Query parameters

- `forDate` string, date, required: A day on the athlete's own calendar: YYYY-MM-DD, no time zone.

## Headers

- `X-Client-Platform` string
- `X-Client-Version` string

## Response `200`

OK

- object[]
  - `id` string, required: Opaque identifier.
  - `modality` string, required: Sport, from the engine's vocabulary (packages/engine/src/sports.ts), e.g. road_biking, running, hiking, strength_training. Known values: road_biking, running, hiking, strength_training, other. Treat unknown values as "other".
  - `workoutType` string, nullable, required
  - `done` boolean, required

## Other responses

- `401`: Error: UNAUTHORIZED.

---

[API](https://skmtc.dev/bodylab/apis/body-lab-api.md) · [All operations](https://skmtc.dev/bodylab/apis/body-lab-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bodylab/apis/body-lab-api/revisions/544c201eaf88?raw)
