---
title: "Update Assignment Class Schedule"
method: PUT
path: "/teacher/assignments/{assignment_id}/schedules/{class_id}"
tags: ["teacher_assignments"]
---

# Update Assignment Class Schedule

`PUT /teacher/assignments/{assignment_id}/schedules/{class_id}`

Set ONE class's dates for this devoir (per-class planning): when the
class sees it and when it is due. A past class, or a past devoir, is
read-only. On a shared devoir, a class's planning belongs to its own
teacher, and stays adjustable after the shared freeze.

## Path parameters

- `assignment_id` string, required
- `class_id` string, required

## Request body

- UpdateAssignmentClassScheduleRequest — One class's planning. Fields left out are untouched; null clears.
  - `start_date` string, date-time, nullable
  - `due_date` string, date-time, nullable

## Response `200`

Successful Response

- AssignmentClassSchedulesResponse
  - `status` string, required
  - `class_schedules` AssignmentClassScheduleOut[], required
    - `class_id` string, required
    - `class_name` string, required
    - `school_year` string, nullable
    - `is_past` boolean
    - `start_date` string, date-time, nullable
    - `due_date` string, date-time, nullable
  - `start_date` string, date-time, nullable
  - `due_date` string, date-time, 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)
