---
title: "Submit Responses"
method: POST
path: "/teacher/in-class/runs/{run_id}/responses"
tags: ["in-class"]
---

# Submit Responses

`POST /teacher/in-class/runs/{run_id}/responses`

## 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/in-class/runs/{run_id}/responses`
- Auth: OAuth 2 (password, token URL `api/login`)

## Path parameters

- `run_id` string, required

## Request body

- SubmitResponsesRequest
  - `index` integer, required
  - `responses` IncomingResponseSchema[], required
    - `student_id` string, required
    - `letter` 'A' | 'B' | 'C' | 'D', required

## Response `200`

Successful Response

- SubmitResponsesResponse
  - `accepted` boolean, required
  - `run` RunResponse, required
    - `id` string, required
    - `activity_id` string, required
    - `activity_title` string, required
    - `class_id` string, required
    - `class_name` string, required
    - `status` 'live' | 'ended', required
    - `current_index` integer, required
    - `questions` ActivityQuestionSchema[], required
      - `id` string, nullable
      - `prompt` string, required
      - `choices` object, required
      - `correct` 'A' | 'B' | 'C' | 'D', required
      - `error_labels` object
      - `savoir_faire_ids` string[]
      - `source` QuestionSourceSchema
        - `kind` 'public_exercise' | 'calcul_template' | 'annales_exercise' | 'document' | 'manual'
        - `ref_id` string, nullable
    - `states` RunQuestionStateSchema[], required
      - `phase` 'open' | 'revealed', required
      - `responses` object, required
      - `revealed_at` string, date-time, nullable
    - `students` RunStudentSchema[], required
      - `student_id` string, required
      - `name` string, required
      - `first_name` string, required
      - `card_number` integer, required
      - `class_name` string, nullable
    - `started_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `ended_at` string, date-time, nullable

## Other responses

- `400`: Malformed identifier
- `403`: Not authorized for this resource
- `404`: Resource not found
- `409`: Business rule violated
- `422`: Validation Error

## Changes

> 55 revisions in range; 1 not diffed.

- **2026-10-15** `7925dd21e4d0`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/excellence-ai/apis/excellence-learning/changes/teacher/in-class/runs/:run_id/responses/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/379e4a57dee8?raw)
