[DEPR]: Contentstore and enrollment API versions superseded by FC-0118
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
Start by reviewing PR #38755 and the linked ADRs 0026, 0028, 0029, and 0032, then inspect the listed contentstore and enrollment API entry points. No implementation files or tests are named. Done means deprecated markers, warning headers, and replacement documentation are in place, followed by removal after the stated release window.
Written by the indexing model from the issue text.
Description
RFC Start Date
N/A -- Already Accepted
Target Plan Accepted Date
N/A -- Already Accepted
Target Transition Unblocked Date
Immediately -- Transition Already Unblocked
Earliest Breaking Changes Unblocked Date
One named release after the release this deprecation ships in
Rationale
As part of FC-0118 (API standardization), a set of Studio contentstore
endpoints and the LMS enrollment API were re-issued at new versions rather than
changed in place. The standardization ADRs mandate changes that are breaking for
existing consumers:
- ADR 0029 replaces the legacy
{"developer_message": ..., "error_code": ...}
error shape with an RFC 7807 envelope (type,title,status,detail,
instance). Any client parsing error responses would break. - ADR 0028 moves from
APIViewtoViewSet+DefaultRouter, changing URL
patterns (trailing slashes, router-managed routing). - ADR 0026 standardizes authentication and removes the deprecated
BearerAuthentication, so Bearer-only consumers lose access. - ADR 0032 standardizes pagination, changing the response envelope on list
endpoints.
Issuing new versions let existing consumers migrate on their own timeline
instead of absorbing a silent breaking change. That migration window is what
this ticket closes: the old versions are now redundant, and keeping both means
every future change to these endpoints has to be made twice.
Description
All replacements are merged and available today via
#38755.
| Deprecated endpoint | Replacement | Standardization issue |
|---|---|---|
GET/POST /api/contentstore/v0/xblock/{course_id} and /{course_id}/{usage_key} |
GET/POST/PATCH/DELETE /api/contentstore/v1/xblock/{usage_key}/ |
#38368 |
/api/enrollment/v1/ — enrollment, enrollments, course/{course_id}, unenroll/, roles/, enrollment_allowed/ |
/api/enrollment/v2/ |
#38369 |
GET/PUT /api/contentstore/v1/course_details/{course_id} |
GET/PUT /api/contentstore/v3/course_details/{course_key}/ |
#38370 |
GET /api/contentstore/v1/home |
GET /api/contentstore/v3/home/ |
#38371 |
GET /api/contentstore/v2/home/courses |
GET /api/contentstore/v4/home/ |
#38372 |
POST /api/contentstore/v0/grading/{course_id} |
PATCH /api/contentstore/v3/authoring_grading/{course_key}/ |
#38373 |
Consumers migrating should expect the RFC 7807 error envelope, router-managed
URLs (note the trailing slash), JWT or session auth in place of Bearer, and on
list endpoints the standardized pagination envelope.
Deprecation Schedule
The old versions are deprecated as of this ticket and will be removed one
named release after the release in which this deprecation ships, giving
operators and plugin authors a full release cycle on a supported version.
- Now — endpoints marked deprecated:
deprecated: truein the OpenAPI
schema, aWarningresponse header, and docs pointing at the replacements. - Next named release — both versions ship; the deprecated ones still work.
- The release after — old versions removed.
Task List
This ticket is the umbrella for API deprecations arising from the FC-0118
standardization work. Further areas will be appended as their replacement
versions merge:
- contentstore xblock, course_details, home (v1 and v2), grading; LMS enrollment v1 — #38755
- Dominant language
- Python
- Stars
- 8.2k
- Forks
- 4.4k
- Avg merge
- 6d 18h
- Merged PRs (30d)
- 42
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.
More from openedx/openedx-platform
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
openedx/openedx-platform#39084 ·
-
Difficulty 2/5 Under an hour Newbie friendliness 82/100
openedx/openedx-platform#38792 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
openedx/openedx-platform#38544 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
openedx/openedx-platform#38472 ·
-
Difficulty 1/5 1-3 hours Newbie friendliness 68/100
openedx/openedx-platform#34390 ·
All issues in openedx/openedx-platform
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100