[FC-0118] docs: add ADR for merging similar endpoints#38262
Open
Abdul-Muqadim-Arbisoft wants to merge 2 commits intoopenedx:docs/ADRs-axim_api_improvementsfrom
Open
[FC-0118] docs: add ADR for merging similar endpoints#38262Abdul-Muqadim-Arbisoft wants to merge 2 commits intoopenedx:docs/ADRs-axim_api_improvementsfrom
Abdul-Muqadim-Arbisoft wants to merge 2 commits intoopenedx:docs/ADRs-axim_api_improvementsfrom
Conversation
- Propose consolidation of narrow action-scoped URLs into unified parameterised views - Document certificate generation endpoints as primary consolidation candidate - Define action/mode parameter pattern and shared service layer approach
deborahgu
approved these changes
Apr 6, 2026
Member
deborahgu
left a comment
There was a problem hiding this comment.
this makes some of the PR's I saw go through last year make so much more sense. 😀
Comment on lines
+132
to
+133
| * Existing clients calling the legacy URLs require a migration period; deprecated aliases must be | ||
| maintained until adoption drops sufficiently. |
Member
There was a problem hiding this comment.
at least in openedx code, I'm pretty sure that these are only called internally by the instructor djangoapp, right? Although come to think of it that's probably just because this work got done last year. 😆
Contributor
Author
There was a problem hiding this comment.
You're right, within openedx the only caller is the instructor dashboard frontend, so the in-tree migration is atomic (backend + frontend together). The migration-period language was aimed at out-of-tree callers, Tutor plugins, custom MFEs, operator integrations etc
Member
|
approved but I added a suggested change. |
- Reword "pure REST" alternative per @deborahgu's suggestion: the proposed design is already RESTful (certificate_task is the noun, POST creates the task, payload specifies the task type) - Clarify authorization model: preserve the three distinct permissions from the legacy endpoints via two-layer enforcement (coarse view-level check + per-mode service-level check). Updated implementation requirements, view docstring, and code skeleton to reflect this
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Currently, Open edX APIs expose multiple narrow action-scoped endpoints for the same resource domain, duplicating permission checks, validation logic, and business logic across sibling views. This ADR proposes consolidating these fragmented endpoints into single parameterised DRF views backed by a shared service layer, using an action or mode parameter to distinguish operations
Issue: #38166