---
search:
  tags:
    - Training
    - POST
seo:
  description: >-
    Marks the session done, logs it as a strength… Reference for the POST
    /api/training/mesocycles/{id}/sessions/{week}/{day}/complete endpoint in the
    skcal API.
sidebar:
  label: Finish a session
  badge: POST
title: Finish a session
type: openapi-operation
---
Marks the session done, logs it as a strength workout in the workout history, and plans the same day next week from this week's results and feedback. Finishing the last session completes the mesocycle.

`POST /api/training/mesocycles/{id}/sessions/{week}/{day}/complete`

**Request body** (`application/json`)

Optional, when the session finished if not now.

- `at` (string | integer) — When the session finished (ISO 8601 or epoch ms, default now).

Request body example:

```json
{
  "at": "2026-10-25T19:30:00-05:00"
}
```

**Responses**

- `200` — The session was completed.
- `400` — The request body or parameters failed validation.
- `404` — No matching resource owned by the caller.

Response example, 200:

```json
{
  "ok": true,
  "week": 2,
  "day": 1,
  "exerciseName": "Barbell Bench Press",
  "muscle": "chest"
}
```
