---
title: "Get Assignment Class Feedback"
method: GET
path: "/teacher/assignments/{assignment_id}/class-feedback"
tags: ["teacher_assignments"]
---

# Get Assignment Class Feedback

`GET /teacher/assignments/{assignment_id}/class-feedback`

Generate or fetch class feedback for an assignment.
Can only be generated after assignment due date has passed.
Only caches the AI-generated difficulty points to avoid data duplication.

Admins can access this but won't trigger new LLM analyses - only view cached ones.

## Path parameters

- `assignment_id` string, required

## Query parameters

- `force_regenerate` boolean

## Response `200`

Successful Response

- ClassFeedbackResponse
  - `assignment_id` string, required
  - `assignment_title` string, required
  - `class_name` string, required
  - `exercise_feedbacks` ExerciseFeedback[], required
    - `exercise_id` string, required
    - `exercise_content` string, required
    - `exercise_solution` string
    - `figure_id` string, nullable
    - `solution_figure_id` string, nullable
    - `figure_content` string, nullable
    - `figure_solution` string, nullable
    - `student_results` StudentResult[], required
      - `student_id` string, required
      - `student_name` string, required
      - `student_email` string, required
      - `correctness` string, nullable
      - `feedback` string, nullable
      - `image_urls_history` string[]
      - `submission_blocks` SolutionBlock[]
        - `id` string, required
        - `block_type` 'text' | 'image' | 'tableau'
        - `image_urls` string[]
        - `diagram_image_urls` string[]
        - `figure_id` string, nullable
        - `transcribed_text` string
        - `transcription_suggestion` string, nullable
        - `tableau` TableauPayload
          - `version` integer
          - `columns` TableauColumn[], required
            - `left_endpoint` string, nullable
            - `right_endpoint` string, nullable
            - `separator_value` string, nullable
            - `label` string, nullable
          - `rows` TableauRow[], required
            - `id` string, required
            - `name` string, required
            - `line_type` 'signes' | 'variations'
          - `cells` object
          - `variable_name` string
        - `ai_generated` boolean
        - `is_correctly_oriented` boolean, nullable
        - `created_at` string, date-time, required
        - `updated_at` string, date-time, required
        - `position` integer, required
    - `difficulty_points` string[]
    - `chat_insights` string[]
    - `correct_count` integer
    - `partial_count` integer
    - `wrong_count` integer
    - `no_submission_count` integer
    - `is_calcul` boolean
    - `exercise_title` string, nullable
    - `variations` CalculVariation[]
      - `content` string, required
      - `solution` string, required
  - `total_students` integer, required
  - `generated_at` string, date-time, required
  - `user_owns_assignment` boolean

## 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-service-production.skmtc.workers.dev/v1/apis/excellence-ai/excellence-learning/revisions/437cd8414e9e/schema)
