---
title: "Accept Exam Variant"
method: POST
path: "/teacher-exams/{exam_id}/variants/{job_id}/accept"
tags: ["Teacher Exam Variants"]
---

# Accept Exam Variant

`POST /teacher-exams/{exam_id}/variants/{job_id}/accept`

## 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-exams/{exam_id}/variants/{job_id}/accept`
- Auth: OAuth 2 (password, token URL `api/login`)

Create a new exam from the finished job. Figures flagged `keep` are
shared with the source exam (same as duplicate); `adapt` figures are
redrawn from the model's description with the source code as a hint.

## Path parameters

- `exam_id` string, required
- `job_id` string, required

## Request body

- ExamVariantAccept
  - `title` string, nullable
  - `exercise_ids` integer[], nullable

## Response `200`

Successful Response

- ExamVariantAcceptResponse
  - `exam_id` string, required
  - `exam_title` string, required

## Other responses

- `404`: Resource not found
- `409`: Business rule violated
- `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/379e4a57dee8?raw)
