---
title: "The athlete's equipment places, in their own order"
method: GET
path: "/equipment/places"
tags: ["Places"]
---

# The athlete's equipment places, in their own order

`GET /equipment/places`

## Request

- Base URL: `https://bodylab.lol/api/v1`
- URL: `https://bodylab.lol/api/v1/equipment/places`
- Auth: HTTP bearer

Named places only, with the one that is home and the one that is active marked. A one-off created for today is returned separately as `justForToday` and is never in the list — it reverts on its own, so it is not something to tidy up. An athlete who has never created a place has none: their sessions are written from what their profile says they own.

## Headers

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

## Response `200`

OK

- object
  - `places` object[], required
    - `id` string, required: Opaque identifier.
    - `name` string, nullable, required: What the athlete called it. Null for the unnamed one-off in force today (see justForToday): it has no name because it is never listed and never chosen again.
    - `items` object, required: What is at this place, each item mapping to the heaviest single implement of it in kilograms, or null for "enough" (a rack needs no number). Absent keys are not there. An empty object is a real place — a hotel room with nothing in it — and not a place with no answer.
    - `isHome` boolean, required: The place everything reverts to: exactly one of the athlete's places is home. It can't be deleted while another place exists — make another one home first.
    - `isActive` boolean, required: True for the one place every prescription is currently written from. Exactly one place is active, and it stays active until the athlete switches.
    - `forDate` string, date, nullable, required: A day on the athlete's own calendar: YYYY-MM-DD, no time zone.
    - `createdAt` string, date-time, required: An instant: ISO-8601 with offset, e.g. 2026-09-13T06:30:00Z.
    - `updatedAt` string, date-time, required: An instant: ISO-8601 with offset, e.g. 2026-09-13T06:30:00Z.
  - `justForToday` object, nullable, required: The unnamed one-off in force today, if the athlete said they are somewhere different just for today. Null otherwise, including when yesterday's one-off has reverted.
    - `id` string, required: Opaque identifier.
    - `name` string, nullable, required: What the athlete called it. Null for the unnamed one-off in force today (see justForToday): it has no name because it is never listed and never chosen again.
    - `items` object, required: What is at this place, each item mapping to the heaviest single implement of it in kilograms, or null for "enough" (a rack needs no number). Absent keys are not there. An empty object is a real place — a hotel room with nothing in it — and not a place with no answer.
    - `isHome` boolean, required: The place everything reverts to: exactly one of the athlete's places is home. It can't be deleted while another place exists — make another one home first.
    - `isActive` boolean, required: True for the one place every prescription is currently written from. Exactly one place is active, and it stays active until the athlete switches.
    - `forDate` string, date, nullable, required: A day on the athlete's own calendar: YYYY-MM-DD, no time zone.
    - `createdAt` string, date-time, required: An instant: ISO-8601 with offset, e.g. 2026-09-13T06:30:00Z.
    - `updatedAt` string, date-time, required: An instant: ISO-8601 with offset, e.g. 2026-09-13T06:30:00Z.

## 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)
