---
title: "Duplicate Exams Batch"
method: POST
path: "/teacher-exams/duplicate-batch"
tags: ["Teacher Exams"]
---

# Duplicate Exams Batch

`POST /teacher-exams/duplicate-batch`

Copy the selected évaluations, and every own évaluation of the
selected folders' subtrees that belongs to `school_year`, into the
teacher's current year, each in the folder of its source. With `dry_run`
the response only says what would happen (the confirmation dialog). An
évaluation or folder that is not the teacher's answers 404.

## Request body

- DuplicateExamsBatchRequest — « Dupliquer pour 2026-2027 » on a selection of « Mes évaluations ».
  - `folder_ids` string[]
  - `school_year` string, required
  - `dry_run` boolean
  - `include_already_duplicated` boolean
  - `exam_ids` string[]

## Response `200`

Successful Response

- BulkDuplicationResponse
  - `target_school_year` string, required
  - `to_copy` DuplicationItemResponse[], required
    - `id` string, required
    - `title` string, required
    - `folder_id` string, nullable
  - `already_duplicated` DuplicationItemResponse[], required
    - `id` string, required
    - `title` string, required
    - `folder_id` string, nullable
  - `created` DuplicationCreatedResponse[]
    - `source_id` string, required
    - `id` string, required
  - `failures` DuplicationFailureResponse[]
    - `id` string, required
    - `title` string, required
    - `error` string, required

## Other responses

- `404` — Resource not found
- `409` — Business rule violated
- `422` — Validation Error

## Changes

- **2026-09-07** `0ccba2913cca` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/excellence-ai/apis/excellence-learning/changes/teacher-exams/duplicate-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)
