set_student_assignment_dates
Override due dates and availability for a specific student across all or selected assignments in a Canvas course.
Instructions
Fan a due-date / availability override for a specific student across all (or a filtered subset of) assignments in a course. Creates one student-set override per assignment via the Canvas assignment overrides API. Partial failures are tolerated — a failure on one assignment does not abort the rest. Note: for courses with many assignments this makes one Canvas API call per assignment. V1 is create-only: if an override for this student already exists on an assignment, Canvas returns a 422 and that assignment appears in the failed[] list. Use list_assignment_overrides to audit first. Dates must be ISO 8601 strings. To shift dates by a relative amount, first call list_assignments with include=overrides to retrieve current dates, compute absolute timestamps, then call this tool. Returns the standard fan-out envelope: separated applied[], skipped[] (unused in this create-only version, always empty), and failed[] (each with an error) arrays, a not_found list, and a summary of counts. Any assignment_ids that do not exist in the course are reported in not_found (they are neither applied nor failed). Provide user_id as the real Canvas user ID. If CANVAS_PSEUDONYMIZE_STUDENTS is enabled, call resolve_pseudonym first to obtain the real user_id from a pseudonym.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Label for each override (e.g. "Disability accommodation"). Defaults to "Student accommodation". | |
| due_at | No | New due date in ISO 8601 format. Pass null to remove the due date. | |
| lock_at | No | Availability close date in ISO 8601 format. Pass null to remove. | |
| user_id | Yes | Real Canvas user ID of the student to accommodate | |
| course_id | Yes | Canvas course ID | |
| unlock_at | No | Availability open date in ISO 8601 format. Pass null to remove. | |
| assignment_ids | No | Limit the fan-out to these specific assignment IDs (provide at least one). Omit entirely to target all assignments in the course. IDs not present in the course are returned in not_found, not applied/failed. |