---
title: "Duplicate Teacher Assignment"
method: POST
path: "/teacher/assignments/{assignment_id}/duplicate"
tags: ["teacher_assignments"]
---

# Duplicate Teacher Assignment

`POST /teacher/assignments/{assignment_id}/duplicate`

Duplicate a teacher assignment. Class is optional - if not provided, creates a draft copy.
The copy keeps the original's folder when that folder is of the teacher's
current year, and lands at the root otherwise. It keeps the original's
title when the original belongs to a past year (it lives under another
year tab); a copy of a devoir of this year takes the « (copie) » suffix.
A devoir shared with the teacher (objet commun) can be duplicated too:
the copy is fully theirs, exercises deep-copied, private and unshared.

## Path parameters

- `assignment_id` string, required

## Request body

- DuplicateAssignmentRequest
  - `class_id` string, nullable

## Response `200`

Successful Response

- RoutersExerciseAssignmentsBasicResponse
  - `status` string, required
  - `message` string, required
  - `assignment_id` string, nullable

## Other responses

- `422` — Validation Error

---

[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/86793aa823ea?raw)
