openedx / openedx/openedx-platform
Date Extensions - Backend API
Open
@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
- 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
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.