openedx / openedx/openedx-platform

Date Extensions - Backend API

Open
#37,595 0 comments 0 reactions 1 assignee View on GitHub

@holaontiveros is already working on this.

Since Nov 3, 2025.

Dominant language
Python
Stars
8.2k
Forks
4.4k
Avg merge
6d 18h
Merged PRs (30d)
42

Description

Backend ticket to support the work outlined here: https://github.com/openedx/frontend-app-instruct/issues/13

  1. Epic - Tab Content: Date Extensions · Issue #13 · openedx/frontend-app-instruct
    This epic includes all the work required to redesign and improve the Date Extensions tab within the Instructor Dashboard. The Date Extensions tab ensures that instructors can easily manage individu...

While there's a couple of APIs that already covered some functionality we are missing better APIs for the new implementation

Wish list for new endponts

  • List of students with an extension
    • Filter by learner name / username / email
    • Pagination support (offset, amount per page for future proof when paragon supports it)
  • Add individual extension
    • Learner username / email
    • Date of extension
    • Time of extension
    • Reason of extension
    • Selected graded subsection

Current endpoints

Method Endpoint CurrentPayload Status Description
POST /courses/course-v1:OEXCOM+101+2025_T1/instructor/api/change_due_date FormData student=email&url=block-v1-ID&due_datetime=12%2F23%2F2026+12%3A00&reason=TIME Partial Missing username for the ID
POST /courses/course-v1:OEXCOM+101+2025_T1/instructor/api/show_unit_extensions formdata payload: url: block-v1:blockId Partial Missing pagination related data, missing filter/search related parts

Ideal new endpoints

Method Endpoint Payload Status Description
POST /api/instructor/v2/courses/<course_id>/change_due_date
{ "email_or_username": "email", "block_id": "block-v1:id", "due_datetime": "MM/DD/AAAA HH:MM", "reason": "Reason text" }
Proposed Added ability to use emailr or username
GET /api/instructor/v2/courses/<course_id>/unit_extensions?=blockId& N/A but query strings for blockId, page, page_size Proposed Pagination and related response in swagger yaml
GET /api/instructor/v2/courses/<course_id>/graded_subsections N/A This curently comes from the templating engine so an API to get it

Complete endpoint doc in swagger format

date extensions swagger.yaml

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.