---
title: "Move Exercises Batch"
method: POST
path: "/teacher_exercises/move-batch"
tags: ["teacher_exercises"]
---

# Move Exercises Batch

`POST /teacher_exercises/move-batch`

File the selected exercises in one folder, or at the root with no
`folder_id`. The folder must be the teacher's and hold exercises. La
bibliothèque is not split by school year, so nothing else is checked.

## Request body

- MoveExercisesBatchRequest — « Déplacer dans un dossier » on a selection of la bibliothèque.
  - `folder_id` string, nullable
  - `exercise_ids` string[]

## Response `200`

Successful Response

- BulkOperationResponse — What went through and what did not. A batch that is refused as a whole — something frozen in the selection, a folder of another year — answers with an error instead; these two lists are for the writes themselves.
  - `done` string[]
  - `failures` BulkOperationFailureResponse[]
    - `id` string, required
    - `title` string, required
    - `error` string, required

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-14** `0a41d91c9d20` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/excellence-ai/apis/excellence-learning/changes/teacher_exercises/move-batch/post.md)

---

[API](https://skmtc.dev/excellence-ai/apis/excellence-learning.md) · [All operations](https://skmtc.dev/excellence-ai/apis/excellence-learning/llms.txt) · [OpenAPI document](https://skmtc.dev/excellence-ai/apis/excellence-learning/revisions/2a0c1636fd3b?raw)
