---
title: "Split Exercise"
method: POST
path: "/teacher/assignments/{assignment_id}/split-exercise"
tags: ["teacher_assignments"]
---

# Split Exercise

`POST /teacher/assignments/{assignment_id}/split-exercise`

Split an existing exercise into multiple exercises using AI.
Uses AI to create multiple variations of the original exercise.

## Path parameters

- `assignment_id` string, required

## Request body

- SplitExerciseRequest
  - `exercise_id` string, required
  - `number_of_splits` integer, required — Number of exercises to create (2-50)
  - `custom_prompt` string — Custom prompt for AI generation

## Response `200`

Successful Response

- SplitExerciseResponse
  - `status` string, required
  - `message` string, required
  - `new_exercise_ids` string[], required
  - `updated_at` string, date-time, required
  - `exercise_ids` string[], required
  - `exercises` AssignmentExerciseStub[]
    - `id` string, required
    - `order` integer, required
    - `source` 'teacher' | 'public' | 'calcul_template' | 'annale' | 'unknown'
    - `title` string, nullable
    - `original_id` string, nullable
    - `source_public_exercise_id` string, nullable
    - `source_annales_exercise_id` string, nullable
    - `estimated_minutes` integer, nullable
  - `added_exercises` AssignmentExerciseStub[]
    - `id` string, required
    - `order` integer, required
    - `source` 'teacher' | 'public' | 'calcul_template' | 'annale' | 'unknown'
    - `title` string, nullable
    - `original_id` string, nullable
    - `source_public_exercise_id` string, nullable
    - `source_annales_exercise_id` string, nullable
    - `estimated_minutes` integer, nullable
  - `removed_exercise_ids` string[]

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-05** `437cd8414e9e` — 2 info
  - added the optional property `added_exercises/items/estimated_minutes` to the response with the `200` status
  - added the optional property `exercises/items/estimated_minutes` to the response with the `200` status

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