---
title: "Delete Exercises Batch"
method: POST
path: "/teacher_exercises/delete-batch"
tags: ["teacher_exercises"]
---

# Delete Exercises Batch

`POST /teacher_exercises/delete-batch`

## Request

- Base URL: `https://api.excellence-ai.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.excellence-ai.com/teacher_exercises/delete-batch`
- Auth: OAuth 2
  - Password
  - Token URL: `api/login`
- TypeScript: <https://skmtc.dev/excellence-ai/apis/excellence-learning/docs/teacher_exercises/delete-batch/post.ts> (a function with typed inputs; its response is checked against the schema)

Delete the selected exercises. Anything in the selection that is not
the teacher's answers 404, and an exercise frozen by a devoir of a
finished year is refused — nothing is deleted then. Past that, one
failure leaves the others deleted and is reported.

## Request body

- DeleteExercisesBatchRequest: « Supprimer » on a selection of la bibliothèque.
  - `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

> 95 revisions in range; 1 not diffed.

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

[Operation history](https://skmtc.dev/excellence-ai/apis/excellence-learning/changes/teacher_exercises/delete-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/d415552b450f?raw)
