| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Component / App | Functional Area | Module | API Version | Resource / Endpoint (v2) | HTTP Method | Short Description | Critical for AI / External Tools? (H/M/L) | Priority (1 lower –5 higher) | T shirt size Effort(s/m/l) | Notes | ||||||||||||||
2 | Cohorts | Course Cohorts | v1 | /cohorts/v1/courses/{course_key_string}/cohorts/{cohort_id} | GET | Get details of a specific cohort or all cohorts | M | 4 | S | Requires course_key_string & cohort_id; returns cohort info | |||||||||||||||
3 | v1 | /cohorts/v1/courses/{course_key_string}/cohorts/{cohort_id} | POST | Create a new cohort | M | 4 | S | Must not include cohort_id in body; requires course_key_string | |||||||||||||||||
4 | v1 | /cohorts/v1/courses/{course_key_string}/cohorts/{cohort_id} | PATCH | Update a cohort (name or assignment type) | M | 4 | S | Requires cohort_id; partial updates allowed | |||||||||||||||||
5 | Cohort Users | v1 | /cohorts/v1/courses/{course_key_string}/cohorts/{cohort_id}/users/{username} | GET | List users in a specific cohort | H | 5 | S | Returns username, email, and name; path params required | ||||||||||||||||
6 | v1 | /cohorts/v1/courses/{course_key_string}/cohorts/{cohort_id}/users/{username} | POST | Add a given user to a cohort | H | 5 | S | Requires username, cohort_id, course_key_string; body contains user info | |||||||||||||||||
7 | v1 | /cohorts/v1/courses/{course_key_string}/cohorts/{cohort_id}/users/{username} | DELETE | Remove a user from a cohort | H | 5 | S | Path params required; returns 204 on success | |||||||||||||||||
8 | Bulk Cohort Assignment | v1 | /cohorts/v1/courses/{course_key_string}/users | POST | Upload a CSV file to assign users to cohorts in bulk (processed via Celery) | M | 4 | S | Requires file upload (key: uploaded-file); async processing resulting in downloadable CSV | ||||||||||||||||
9 | Cohort Settings | v1 | /cohorts/v1/settings/{course_key_string} | GET | Fetch cohort configuration for the course | M | 4 | S | Useful for AI tools to know cohorting rules; course_key_string required | ||||||||||||||||
10 | v1 | /cohorts/v1/settings/{course_key_string} | PUT | Update cohort configuration for the course | M | 4 | S | Updates cohorting logic; body contains settings object | |||||||||||||||||
11 | Grades | Course Grades | v1 | /grades/v1/courses/ | GET | List course progress status (paginated) | H | 5 | S | Supports cursor + page_size; useful for AI progress analytics | |||||||||||||||
12 | v1 | /grades/v1/courses/{course_id}/ | GET | Get progress status for a specific course | H | 5 | S | Requires course_id; often used by AI to evaluate learner performance | |||||||||||||||||
13 | Section Grades | v1 | /grades/v1/section_grades_breakdown/ | GET | Returns detailed grades for all sections of a course, optionally filtered by course_id or usernames | H | 5 | S | Includes current_grade, passed status, section-level breakdowns; supports pagination and filtering; very useful for AI progress analysis | ||||||||||||||||
14 | Subsection Grades | v1 | /grades/v1/subsection/{subsection_id}/ | GET | Returns subsection grade, override grades, and history of changes for a specific user | H | 5 | S | Useful for AI analytics on granular learner performance; path param subsection_id required | ||||||||||||||||
15 | Gradebook | v1 | /grades/v1/gradebook/{course_id}/ | GET | Get gradebook data if user has author/instructor access | M | 4 | S | Access controlled; useful for dashboards, not for learner AI | ||||||||||||||||
16 | v1 | /grades/v1/gradebook/{course_id}/grading-info | GET | Retrieves grading info for a course if the requesting user has author access | M | 4 | S | Supports pagination via page and page_size; staff/instructor only | |||||||||||||||||
17 | Gradebook Bulk Update | v1 | /grades/v1/gradebook/{course_id}/bulk-update | POST | Bulk update grades if user has author access | M | 4 | S | High-risk endpoint; requires careful permission handling | ||||||||||||||||
18 | Grading Policy | v1 | /grades/v1/policy/courses/{course_id}/ | GET | Retrieves grading policy for a course (assignment types, counts, weights, dropped items) | H | 5 | S | Useful for AI systems to compute expected grades or adaptive learning recommendations; pagination supported | ||||||||||||||||
19 | Submission History | v1 | /grades/v1/submission_history/{course_id}/ | GET | Retrieves submission history for ProblemBlocks; supports optional username filtering | H | 5 | S | Only ProblemBlocks supported; global staff can retrieve all users; useful for AI dashboards and progress analytics | ||||||||||||||||
20 | User | Account Management | v1 | /user/v1/account/password_reset/ | GET | Retrieves the password reset form description | M | 3 | S | Useful for AI or external tools guiding users through password reset | |||||||||||||||
21 | v1 | /user/v1/account/password_reset/token/validate/ | POST | Validates a password reset token | M | 3 | S | Needed if AI tools provide password reset assistance | |||||||||||||||||
22 | v1 | /user/v1/account/registration/ | GET | Retrieves user registration form description | M | 3 | S | Useful for AI-assisted onboarding or registration automation | |||||||||||||||||
23 | v1 | /user/v1/account/registration/ | POST | Creates a new user account | H | 5 | S | Required fields must be sent; can optionally include course_id for analytics; critical for AI onboarding flows | |||||||||||||||||
24 | v1 | /user/v1/accounts | GET | Returns a list of user detail objects; supports filtering by usernames, emails, or LMS IDs | M | 4 | S | Staff-only access for some filters; returns 404 if user not found | |||||||||||||||||
25 | v1 | /user/v1/accounts/cancel_retirement/ | POST | Cancels the retirement of a user's account | M | 3 | S | Handles top-level error handling and permissions | |||||||||||||||||
26 | v1 | /user/v1/accounts/deactivate_logout/ | POST | Marks user as having no password and logs them out | M | 3 | S | Used for account deactivation and logout flows | |||||||||||||||||
27 | v1 | /user/v1/accounts/name_change/ | POST | Creates a PendingNameChange request for profile name update | M | 3 | S | Name change is verified later; does not update profile immediately | |||||||||||||||||
28 | v1 | /user/v1/accounts/name_change/{username}/confirm/ | POST | Confirms a pending name change request and updates user's profile name | H | 4 | S | Requires path param 'username'; critical if AI workflows automate user profile updates | |||||||||||||||||
29 | v1 | /user/v1/accounts/replace_usernames/ | POST | Replaces current usernames with desired usernames; returns mapping of successful and failed replacements | H | 5 | S | Critical if AI tools or automated systems manage username migrations; data validation required | |||||||||||||||||
30 | v1 | /user/v1/accounts/retire/ | POST | Retires a user account including username, email, and other PII | H | 5 | S | Critical for AI-driven user lifecycle management or account deletion workflows | |||||||||||||||||
31 | v1 | /user/v1/accounts/retire_misc/ | POST | Retires a user in the LMS | H | 4 | S | Similar to retire endpoint, focused on LMS-specific data; relevant for automation | |||||||||||||||||
32 | v1 | /user/v1/accounts/retirement_cleanup/ | POST | Deletes a batch of retirement requests by username | M | 3 | S | Useful for automated cleanup of retired accounts; staff or automated scripts only | |||||||||||||||||
33 | v1 | /user/v1/accounts/retirement_partner_report/ | POST | Returns list of UserRetirementPartnerReportingStatus users and updates their processing status | M | 3 | S | Used for partner reporting and automated retirement pipelines; not critical for core AI dashboards | |||||||||||||||||
34 | v1 | /user/v1/accounts/retirement_partner_report/ | PUT | Creates a UserRetirementPartnerReportingStatus object for a user in the retirement pipeline | M | 3 | S | Part of retirement automation workflow; updates status for partner reporting | |||||||||||||||||
35 | v1 | /user/v1/accounts/retirement_partner_report_cleanup/ | POST | Deletes UserRetirementPartnerReportingStatus objects for reported users | M | 3 | S | Cleans up processed retirement reports; staff/admin use | |||||||||||||||||
36 | v1 | /user/v1/accounts/retirement_queue/ | GET | Returns RetirementStatus users in specified states and cool-off period | M | 3 | S | Useful for monitoring retirement queue; optional for AI automation | |||||||||||||||||
37 | v1 | /user/v1/accounts/retirements_by_status_and_date/ | GET | Lists UserRetirementStatusSerializer rows filtered by status and date range | M | 3 | S | Supports reporting and analytics; useful for automated retirement monitoring | |||||||||||||||||
38 | v1 | /user/v1/accounts/search_emails | POST | Returns user information for a list of emails; staff-only access | M | 3 | S | Useful for AI or scripts verifying user identities by email | |||||||||||||||||
39 | v1 | /user/v1/accounts/update_retirement_status/ | PATCH | Updates the RetirementStatus for a user and appends messages to the log | M | 3 | S | Used in retirement automation workflows; not directly critical for AI dashboards | |||||||||||||||||
40 | v1 | /user/v1/accounts/{username} | GET | Retrieves a single detailed user object | H | 5 | S | Critical for AI tools that need full user profile info; access depends on is_staff and ACCOUNT_VISIBILITY_CONFIGURATION | |||||||||||||||||
41 | v1 | /user/v1/accounts/{username} | PATCH | Updates user account/profile info (merge-patch supported) | H | 5 | S | Supports AI-driven updates or automated profile management; validation enforced | |||||||||||||||||
42 | v1 | /user/v1/accounts/{username}/deactivate/ | POST | Marks user as having no password for deactivation purposes | M | 3 | S | Useful for automated account deactivation or AI-managed workflows | |||||||||||||||||
43 | v1 | /user/v1/accounts/{username}/image | POST | Upload/update user profile image | M | 3 | S | Supports AI tools that manage or update profile images; optional | |||||||||||||||||
44 | v1 | /user/v1/accounts/{username}/image | DELETE | Deletes a user's profile image | M | 3 | S | Supports AI tools that manage profile images; optional | |||||||||||||||||
45 | v1 | /user/v1/accounts/{username}/retirement_status/ | GET | Returns the RetirementStatus of a user | M | 3 | S | Useful for monitoring user retirement state; relevant for AI workflows managing lifecycle | |||||||||||||||||
46 | v1 | /user/v1/accounts/{username}/verification_status/ | GET | Returns ID verification status for a user | H | 4 | S | Critical for AI or automated systems validating user identity | |||||||||||||||||
47 | v1 | /user/v1/accounts/{username}/verifications/ | GET | Retrieves detailed ID verification information for a user | H | 4 | S | Important for AI or automated verification workflows | |||||||||||||||||
48 | v1 | /user/v1/me | GET | Returns the authenticated user's username | H | 5 | S | Essential for AI tools to identify current user context | |||||||||||||||||
49 | Forum Management | v1 | /user/v1/forum_roles/{name}/users/ | GET | Lists users for a given forum role | M | 3 | S | Useful for AI or admin tools analyzing forum roles | ||||||||||||||||
50 | Preferences Management | v1 | /user/v1/preferences/email_opt_in/ | POST | Update or create user's email opt-in preference | M | 3 | S | Used for AI/analytics email targeting; optional | ||||||||||||||||
51 | v1 | /user/v1/preferences/time_zones/ | GET | List all time zones or by country | M | 3 | S | Useful for AI scheduling or localization; optional | |||||||||||||||||
52 | v1 | /user/v1/preferences/{pref_key}/users/ | GET | List a user's preferences | M | 3 | S | Supports AI in analyzing user settings | |||||||||||||||||
53 | v1 | /user/v1/preferences/{username} | GET | Retrieve all preferences for a user | M | 3 | S | Used for AI personalization | |||||||||||||||||
54 | v1 | /user/v1/preferences/{username} | PATCH | Update user preferences | M | 3 | S | Allows AI personalization adjustments | |||||||||||||||||
55 | v1 | /user/v1/preferences/{username}/{preference_key} | GET | Retrieve a specific preference for a user | M | 3 | S | Useful for AI checking individual preference state | |||||||||||||||||
56 | v1 | /user/v1/preferences/{username}/{preference_key} | PUT | Update a specific preference for a user | M | 3 | S | Supports AI-driven preference updates | |||||||||||||||||
57 | v1 | /user/v1/preferences/{username}/{preference_key} | DELETE | Delete a specific user preference | M | 3 | S | Supports AI cleanup of outdated preferences | |||||||||||||||||
58 | v1 | /user/v1/user_prefs/ | GET | List all user preferences via ORM | M | 3 | S | Useful for AI analytics or preference aggregation | |||||||||||||||||
59 | v1 | /user/v1/user_prefs/{id}/ | GET | Retrieve a single user preference via ORM | M | 3 | S | Supports AI checking individual preference state | |||||||||||||||||
60 | User Management | v1 | /user/v1/users/ | GET | List all users via ORM | M | 3 | S | AI systems may use for bulk analysis or personalization | ||||||||||||||||
61 | v1 | /user/v1/users/{id}/ | GET | Retrieve a single user object via ORM | M | 3 | S | Supports AI personalization or external tools | |||||||||||||||||
62 | Validation & Registration | v1 | /user/v1/validation/registration | POST | Validate registration form inputs before creating a new user | H | 5 | S | Supports AI automated account creation checks | ||||||||||||||||
63 | Account Registration | v2 | /user/v2/account/registration/ | GET | Retrieve registration endpoint info | M | 3 | S | Useful for AI user onboarding analytics | ||||||||||||||||
64 | v2 | /user/v2/account/registration/ | POST | Create a new user account | H | 5 | S | Critical for AI systems registering users in bulk | |||||||||||||||||
65 | Login Session | v1 | /user/{api_version}/account/login_session/ | GET | Get login session info | M | 3 | S | Supports AI session monitoring | ||||||||||||||||
66 | v1 | /user/{api_version}/account/login_session/ | POST | Authenticate user and create login session | H | 5 | S | Essential for AI / external tools requiring authenticated access | |||||||||||||||||
67 | Contentstore | Course Management | Advanced Settings | v0 | /contentstore/v0/advanced_settings/{course_id} | GET | Retrieves all advanced settings for a specific course, including display names, help text, current values, and deprecation status. Supports optional query parameters filter_fields (comma-separated list of fields to filter) and fetch_all (boolean to fetch all settings or only enabled ones). Returns a dictionary where each key is a setting name and the value contains display_name, help, value, deprecated, and other metadata. Handles authentication and authorization; returns 401 if unauthenticated, 403 if access denied, or 404 if course does not exist. | H | 4 | S | Essential for AI or external tools needing to read or analyze course configuration programmatically. Useful for generating course summaries, automated configuration audits, or integrating external systems with course settings. | ||||||||||||||
68 | Advanced Settings | v0 | /contentstore/v0/advanced_settings/{course_id} | PATCH | Updates one or more advanced settings for a specific course. Accepts a JSON object where each key is a setting name and the value field is updated; all other fields in the payload are ignored. Multiple settings can be updated in a single request. Returns the updated course settings in the same format as the GET endpoint. Handles authentication and authorization; returns 401 if unauthenticated, 403 if access denied, or 404 if course does not exist. | H | 4 | S | Essential for AI or external systems performing automated course configuration, bulk updates, or tool integrations. Useful for enabling/disabling course modules, updating calculators, LTI integrations, course CSS, or other course-wide advanced settings. Validations are applied to ensure only allowed value updates. | ||||||||||||||||
69 | File Assets | v0 | /contentstore/v0/file_assets/{course_id} | GET | Retrieves a list of all file assets associated with a specific course. Each asset object includes file (URI), title, and locked status. Handles authentication and authorization; returns 401 if unauthenticated, 403 if access denied, or 404 if course does not exist. Supports integration for AI or external tools that need to list course assets for analysis, auditing, or automated processing. | M | 3 | S | Useful for AI-driven course audits, automated asset management, or external tools syncing course files. | ||||||||||||||||
70 | File Assets | v0 | /contentstore/v0/file_assets/{course_id} | POST | Creates a new file asset for a specific course. Accepts a JSON body with locked status; the response returns the created asset with file URI, title, and locked status. Useful for programmatically adding assets to courses. | H | 4 | S | Supports AI or automation workflows that upload or provision course assets, ensuring consistent course content management. | ||||||||||||||||
71 | File Assets | v0 | /contentstore/v0/file_assets/{course_id}/{asset_key_string} | PUT | Updates an existing file asset completely for a given course and asset key. Accepts a JSON body (e.g., locked) and returns the full updated asset object. | H | 4 | S | Important for AI/external tools managing course asset lifecycles, such as updating access control or syncing metadata. | ||||||||||||||||
72 | File Assets | v0 | /contentstore/v0/file_assets/{course_id}/{asset_key_string} | PATCH | Partially updates an existing file asset for a given course and asset key. Only the fields provided in the body (e.g., locked) are updated; other fields remain unchanged. Returns the updated asset. | H | 4 | S | Supports AI/external systems performing incremental updates to course assets, reducing risk of overwriting unrelated fields. | ||||||||||||||||
73 | File Assets | v0 | /contentstore/v0/file_assets/{course_id}/{asset_key_string} | DELETE | Deletes a specific file asset from a course based on asset_key_string. Returns HTTP 204 on success. | H | 5 | S | Critical for AI or automated workflows that clean up or retire course assets to maintain course hygiene or comply with content lifecycle rules. | ||||||||||||||||
74 | Heartbeat | v0 | /contentstore/v0/heartbeat | GET | Returns the current status of the Authoring API. Response contains authoring_api_enabled boolean. Useful for monitoring service availability. | M | 3 | S | Useful for AI/external monitoring systems to verify API availability before performing automated course operations. | ||||||||||||||||
75 | Link Checking | v0 | /contentstore/v0/link_check/{course_id} | POST | Queues a Celery task to scan a course for broken links. Returns LinkCheckStatus: "Pending". Handles authentication; 401 if unauthenticated, 403 if access denied, 404 if course not found. | H | 4 | S | Enables AI/external automation to verify course content integrity and prepare reports or trigger alerts for broken/missing links. | ||||||||||||||||
76 | Link Checking | v0 | /contentstore/v0/link_check_status/{course_id} | GET | Retrieves the current status of a link check task for a course. Returns LinkCheckStatus (Uninitiated, Pending, In-Progress, Succeeded, Failed, Canceled, Retrying), LinkCheckCreatedAt, and optionally detailed output including sections, units, blocks, and previous run links. Useful for AI/external systems to monitor progress and gather detailed link integrity information. | H | 4 | S | Essential for AI/external tools tracking course content health, generating reports, or performing automated remediation of broken links. | ||||||||||||||||
77 | Rerun Link Update | v0 | /contentstore/v0/rerun_link_update/{course_id} | POST | Queues a Celery task to update course links to the latest course rerun. Accepts action (all to update all links or single for specific links) and optional data array with URLs, types, and block IDs. Returns status: "pending". Handles 400 for invalid payloads, 401/403/404 for auth/course errors. | H | 4 | S | Essential for AI or automated systems maintaining content consistency across course reruns, updating outdated links programmatically. | ||||||||||||||||
78 | Rerun Link Update | v0 | /contentstore/v0/rerun_link_update_status/{course_id} | GET | Retrieves the status of a course rerun link update task. Returns status (pending, in_progress, completed, failed, uninitiated) and optionally results for completed tasks, including updated URLs and success flags. | H | 4 | S | Enables AI/external tools to monitor link update tasks and fetch updated link mappings for automated reporting or remediation. | ||||||||||||||||
79 | Course Tabs | v0 | /contentstore/v0/tabs/{course_id} | GET | Retrieves all tabs for a course, including hidden tabs. Each tab object includes tab_id, title, type, name, visibility flags (is_hidden, is_hideable, course_staff_only), movability, and custom settings. Useful for AI/external tools analyzing course structure. | M | 3 | S | Supports AI-driven course navigation audits, UI customization, or automation that needs to know tab layouts and visibility. | ||||||||||||||||
80 | Course Tabs | v0 | /contentstore/v0/tabs/{course_id}/reorder | POST | Reorders tabs in a course. Accepts an array of objects with tab_locator identifying each tab’s Usage Key. Returns HTTP 204 on success. Handles auth and course access errors (401/403/404). | H | 4 | S | Supports AI/external tools performing automated tab layout updates, standardizing course navigation, or adjusting UI for accessibility/UX. | ||||||||||||||||
81 | Course Tabs | v0 | /contentstore/v0/tabs/{course_id}/settings | POST | Changes the visibility of a course tab. Accepts is_hidden boolean in the body and identifies the tab either by tab_id or tab_location (Usage Key). Returns HTTP 204 on success. Useful for programmatically hiding or showing tabs for students or staff. | H | 4 | S | Supports AI or external automation that dynamically controls course navigation based on user roles, course states, or personalization workflows. | ||||||||||||||||
82 | Video Transcripts | v0 | /contentstore/v0/video_transcripts/{course_id} | GET | Retrieves all video transcripts for a course. Each transcript includes file URI, edx_video_id, language_code, and optional new_language_code. Useful for AI tools analyzing content accessibility or generating localized versions. | M | 3 | S | Enables AI systems to check transcript availability, perform NLP or content analysis, or integrate with translation/localization pipelines. | ||||||||||||||||
83 | Video Transcripts | v0 | /contentstore/v0/video_transcripts/{course_id} | POST | Uploads a new transcript for a course video. Accepts file (formData), edx_video_id, optional language_code, and optional new_language_code. Returns the uploaded transcript object with URI and metadata. | H | 4 | S | Supports AI/external automation workflows adding or updating transcripts, enabling accessibility compliance, or synchronizing content with video updates. | ||||||||||||||||
84 | Video Transcripts | v0 | /contentstore/v0/video_transcripts/{course_id} | DELETE | Deletes all video transcripts for a course. Returns HTTP 204 on success. | H | 4 | S | Useful for AI or automated systems cleaning outdated or incorrect transcripts, maintaining content consistency. | ||||||||||||||||
85 | Video Images | v0 | /contentstore/v0/videos/images/{course_id}/{edx_video_id} | POST | Uploads an image for a specific course video. Accepts file (formData) and returns the uploaded file URI. | H | 4 | S | Supports AI/external tools managing video metadata, thumbnails, or automating content presentation updates. | ||||||||||||||||
86 | Course Videos | Video Uploads | v0 | /contentstore/v0/videos/uploads/{course_id} | POST | Upload one or multiple video files for a course. Returns info about uploaded files. | H | 5 | M | Useful for AI/external tools automating video management, ingestion, or synchronization workflows. | |||||||||||||||
87 | Video Uploads | v0 | /contentstore/v0/videos/uploads/{course_id}/{edx_video_id} | GET | Fetch details of uploaded video assets for a specific video ID. | M | 4 | S | Supports AI/external systems checking video availability or validating uploads. | ||||||||||||||||
88 | Video Uploads | v0 | /contentstore/v0/videos/uploads/{course_id}/{edx_video_id} | DELETE | Deletes a video asset from a course. Returns HTTP 204. | H | 4 | S | Important for automated content cleanup, version management, or AI-driven content moderation. | ||||||||||||||||
89 | YouTube Transcripts | Transcripts | v0 | /contentstore/v0/youtube_transcripts/{course_id}/check | GET | Checks the status and differences of YouTube transcripts for a course. Returns JSON with keys like html5_local, html5_equal, is_youtube_mode, youtube_local, youtube_server, youtube_diff, current_item_subs, status, and command. Useful for AI or external tools that automate transcript validation, synchronization, or accessibility compliance. | M | 3 | M | Supports automated verification of YouTube transcript consistency across local and server sources. | |||||||||||||||
90 | Transcripts | v0 | /contentstore/v0/youtube_transcripts/{course_id}/upload | GET | Retrieves upload status for YouTube transcripts associated with course videos. Returns edx_video_id and status. Useful for AI-driven automation for transcript uploads, monitoring, or video metadata analytics. | M | 3 | M | Can be integrated into automated workflows to ensure all video transcripts are uploaded correctly before course publishing. | ||||||||||||||||
91 | Certificates | Course Management | v1 | /contentstore/v1/certificates/{course_id} | GET | Retrieves all certificates associated with a course, including certificate_activation_handler_url, certificate_web_view_url, certificates array with details (course_title, description, signatories, is_active, etc.), course_modes, and other metadata. Useful for AI tools performing automated certificate verification, reporting, or analytics. | H | 4 | L | Supports AI-generated reporting dashboards, automated certificate tracking, or integration with external LMS/CRM systems. | |||||||||||||||
92 | Containers | Content Management | v1 | /contentstore/v1/container/{usage_key_string}/children | GET | Retrieves the children of a container/vertical block in a course. Returns a JSON object with children array (including name, block_id, block_type, user_partition_info, upstream_link, actions, validation_messages, render_error), is_published, can_paste_component, display_name, and upstream_ready_to_sync_children_info. Useful for AI or external tools analyzing course structure, component readiness, or automating content synchronization. | H | 4 | L | Enables AI-driven content management, automated validation, and syncing of course components. Critical for pipelines managing hierarchical course structures. | |||||||||||||||
93 | Container Management | Container Handler | v1 | /contentstore/v1/container_handler/{usage_key_string} | GET | Retrieves detailed vertical container data for a given usage_key_string. Returns a JSON object including display name, type, category, position, collapsible state, URLs for previous/next units, draft and published preview links, course sequence IDs, ancestor xblocks with children, component templates, xblock info, user clipboard content, and flags like is_unit_page and is_fullwidth_content. Supports AI tools in rendering course content dynamically, navigating course structure, and automating content analysis. Path parameter usage_key_string is required. | H | 5 | M | Returns comprehensive structure of vertical units; essential for AI-driven course rendering, navigation, and content extraction tools. | |||||||||||||||
94 | Course Grading | Course Grading | v1 | /contentstore/v1/course_grading/{course_id} | GET | Retrieves course grading configuration for a specific course ID. Returns JSON including graders (types, weights, minimum and drop counts), grade cutoffs, grace periods, minimum grade credit, course assignment lists, default grade designations, credit eligibility, and proctored exam settings URL. Path parameter course_id is required. Supports AI tools or external systems in calculating grades, monitoring credit eligibility, or integrating grading rules into analytics pipelines. | H | 5 | M | Essential for AI-driven course performance analysis, automated grade calculations, or integration with learning analytics systems. | |||||||||||||||
95 | Course Grading | Course Grading | v1 | /contentstore/v1/course_grading/{course_id} | POST | Updates the grading configuration for a given course. Accepts JSON body with graders, grade cutoffs, grace periods, minimum grade credit, and credit course flag. Returns updated grading configuration. Path parameter course_id is required. Useful for AI or external tools automating course grading rules, bulk updates, or synchronizing grading policies across multiple courses. | H | 5 | M | Supports AI-driven grading automation and consistency across courses; critical for external grading management tools. | |||||||||||||||
96 | Course Index | Course Outline | v1 | /contentstore/v1/course_index/{course_id} | GET | Retrieves the course outline/index for a given course ID. Returns JSON including course release date, course structure, deprecated blocks info, proctoring URLs, discussions links, initial state of expanded locators, initial user clipboard, LMS link, reindex link, notification IDs, and custom relative dates status. Optional query parameter show can set initial expanded state of the outline. Supports AI tools in visualizing course hierarchy, analyzing course structure, or dynamically rendering content navigation. | H | 5 | L | Essential for AI tools performing course mapping, analytics, or external integrations that need full course structure and block references. | |||||||||||||||
97 | Course Management | Course Rerun | v1 | /contentstore/v1/course_rerun/{course_id} | GET | Retrieves detailed information about a specific course rerun. Returns keys including allow_unicode_course_id, course_creator_status, number, display_name, org, and run. Requires course_id as path parameter. Handles 401, 403, 404 errors for authentication, permissions, or non-existent courses. Useful for AI tools to understand course versioning and plan content updates. | M | 3 | S | Useful for AI systems automating course recommendations or rerun monitoring. | |||||||||||||||
98 | Course Settings | v1 | /contentstore/v1/course_settings/{course_id} | GET | Retrieves all configurable settings for a course, including display name, credit eligibility, language options, marketing settings, LMS links, possible prerequisites, sidebar HTML, upgrade deadlines, and flags for entrance exams and extended details. Supports complex nested structures such as possible_pre_requisite_courses. Requires course_id path param. Returns 401/403/404 as per auth and access. Essential for AI systems that analyze course attributes, adapt content, or recommend courses based on eligibility and metadata. | H | 5 | S | Critical for AI dashboards or external systems managing course metadata; detailed nested response supports analytics. | ||||||||||||||||
99 | Course Team | v1 | /contentstore/v1/course_team/{course_id} | GET | Returns the list of CMS users assigned as editors or instructors for a specific course. Includes flags show_transfer_ownership_hint and allow_actions. Each user object contains id, username, email, and role. Requires course_id. Returns 401/403/404 for auth or access issues. Important for AI tools coordinating workflow automation for course management, notifications, or instructor assignments. | M | 3 | S | Useful for AI systems managing course team assignments or automating instructor-related actions. | ||||||||||||||||
100 | Waffle Flags | v1 | /contentstore/v1/course_waffle_flags | GET | Retrieves the list of waffle feature flags for courses. No parameters required. Returns JSON with flag configurations to control experimental or feature-specific behavior for a course. Can be used by AI systems to adapt workflows based on active flags, e.g., enabling/disabling certain features dynamically. | M | 3 | S | Optional for AI tools; primarily used for adaptive feature management or experiments. |