---
title: "Execute Ai Review"
method: POST
path: "/calcul-exercises/ai-review/execute"
tags: ["Calcul Exercises"]
---

# Execute Ai Review

`POST /calcul-exercises/ai-review/execute`

Execute AI review on all exercises in the specified category.
Uses concurrent processing with up to 10 parallel workers.
The AI checks:
- Self-sufficiency: Is the exercise statement understandable without the title?
- LaTeX formatting: Does it use proper LaTeX?
- Mathematical validity: Are questions and answers correct?
- Suitability for drill format: Can it be declined into repetitive variations?

## Request body

- AIReviewRequest — Request model for AI review of exercises
  - `category_path` string[], required — Category path to review (will include all subfolders)
  - `skip_to_review` boolean — Skip exercises already marked as to_review
  - `skip_with_change_request` boolean — Skip exercises that already have a pending change request

## Response `200`

Successful Response

- AIReviewResponse — Response for AI review operation
  - `success` integer, required
  - `failed` integer, required
  - `skipped` integer, required
  - `no_change` integer, required
  - `change_requests` integer, required
  - `marked_to_review` integer, required
  - `results` AIReviewResultItem[], required
    - `template_id` string, required
    - `title` string, required
    - `action` 'none' | 'change_request' | 'to_review', required
    - `reason` string, nullable
    - `proposed_changes` ProposedChanges — Proposed changes from AI review
      - `title` string, nullable
      - `variations` VariationChange[]
        - `index` integer, required
        - `new_content` string, nullable
        - `new_solution` string, nullable
    - `error` 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/2a0c1636fd3b?raw)
