---
search:
  tags:
    - Training
    - POST
seo:
  description: >-
    Adds an exercise to the caller's library so it can be picked in a mesocycle.
    Reference for the POST /api/training/exercises endpoint in the skcal API.
sidebar:
  label: Add a custom exercise
  badge: POST
title: Add a custom exercise
type: openapi-operation
---
Adds an exercise to the caller's library so it can be picked in a mesocycle.

`POST /api/training/exercises`

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

The exercise.

- `name` (string, required) — Exercise name.
- `muscle` (string, required) — Muscle key from the library.
- `equipment` (string, required) — Equipment type.
- `videoUrl` (string<uri> | null) — Optional https link to a demo video.

Request body example:

```json
{
  "name": "Landmine Press",
  "muscle": "front_delts",
  "equipment": "barbell",
  "videoUrl": null
}
```

**Responses**

- `200` — The exercise was created.
- `400` — The request body or parameters failed validation.

Response example, 200:

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