openedx / openedx/openedx-platform

[API] User

Open
#39,058 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Functional Area: User

Endpoints under this functional area:

Module API Version Resource / Endpoint HTTP Method Description
Account Management v1 /user/v1/account/password_reset/ GET Retrieves the password reset form description
Account Management v1 /user/v1/account/password_reset/token/validate/ POST Validates a password reset token
Account Management v1 /user/v1/account/registration/ GET Retrieves user registration form description
Account Management v1 /user/v1/account/registration/ POST Creates a new user account
Account Management v1 /user/v1/accounts GET Returns a list of user detail objects; supports filtering by usernames, emails, or LMS IDs
Account Management v1 /user/v1/accounts/cancel_retirement/ POST Cancels the retirement of a user's account
Account Management v1 /user/v1/accounts/deactivate_logout/ POST Marks user as having no password and logs them out
Account Management v1 /user/v1/accounts/name_change/ POST Creates a PendingNameChange request for profile name update
Account Management v1 /user/v1/accounts/name_change/{username}/confirm/ POST Confirms a pending name change request and updates user's profile name
Account Management v1 /user/v1/accounts/replace_usernames/ POST Replaces current usernames with desired usernames; returns mapping of successful and failed replacements
Account Management v1 /user/v1/accounts/retire/ POST Retires a user account including username, email, and other PII
Account Management v1 /user/v1/accounts/retire_misc/ POST Retires a user in the LMS
Account Management v1 /user/v1/accounts/retirement_cleanup/ POST Deletes a batch of retirement requests by username
Account Management v1 /user/v1/accounts/retirement_partner_report/ POST Returns list of UserRetirementPartnerReportingStatus users and updates their processing status
Account Management v1 /user/v1/accounts/retirement_partner_report/ PUT Creates a UserRetirementPartnerReportingStatus object for a user in the retirement pipeline
Account Management v1 /user/v1/accounts/retirement_partner_report_cleanup/ POST Deletes UserRetirementPartnerReportingStatus objects for reported users
Account Management v1 /user/v1/accounts/retirement_queue/ GET Returns RetirementStatus users in specified states and cool-off period
Account Management v1 /user/v1/accounts/retirements_by_status_and_date/ GET Lists UserRetirementStatusSerializer rows filtered by status and date range
Account Management v1 /user/v1/accounts/search_emails POST Returns user information for a list of emails; staff-only access
Account Management v1 /user/v1/accounts/update_retirement_status/ PATCH Updates the RetirementStatus for a user and appends messages to the log
Account Management v1 /user/v1/accounts/{username} GET Retrieves a single detailed user object
Account Management v1 /user/v1/accounts/{username} PATCH Updates user account/profile info (merge-patch supported)
Account Management v1 /user/v1/accounts/{username}/deactivate/ POST Marks user as having no password for deactivation purposes
Account Management v1 /user/v1/accounts/{username}/image POST Upload/update user profile image
Account Management v1 /user/v1/accounts/{username}/image DELETE Deletes a user's profile image
Account Management v1 /user/v1/accounts/{username}/retirement_status/ GET Returns the RetirementStatus of a user
Account Management v1 /user/v1/accounts/{username}/verification_status/ GET Returns ID verification status for a user
Account Management v1 /user/v1/accounts/{username}/verifications/ GET Retrieves detailed ID verification information for a user
Account Management v1 /user/v1/me GET Returns the authenticated user's username
Forum Management v1 /user/v1/forum_roles/{name}/users/ GET Lists users for a given forum role
Preferences Management v1 /user/v1/preferences/email_opt_in/ POST Update or create user's email opt-in preference
Preferences Management v1 /user/v1/preferences/time_zones/ GET List all time zones or by country
Preferences Management v1 /user/v1/preferences/{pref_key}/users/ GET List a user's preferences
Preferences Management v1 /user/v1/preferences/{username} GET Retrieve all preferences for a user
Preferences Management v1 /user/v1/preferences/{username} PATCH Update user preferences
Preferences Management v1 /user/v1/preferences/{username}/{preference_key} GET Retrieve a specific preference for a user
Preferences Management v1 /user/v1/preferences/{username}/{preference_key} PUT Update a specific preference for a user
Preferences Management v1 /user/v1/preferences/{username}/{preference_key} DELETE Delete a specific user preference
Preferences Management v1 /user/v1/user_prefs/ GET List all user preferences via ORM
Preferences Management v1 /user/v1/user_prefs/{id}/ GET Retrieve a single user preference via ORM
User Management v1 /user/v1/users/ GET List all users via ORM
User Management v1 /user/v1/users/{id}/ GET Retrieve a single user object via ORM
Validation & Registration v1 /user/v1/validation/registration POST Validate registration form inputs before creating a new user
Account Registration v2 /user/v2/account/registration/ GET Retrieve registration endpoint info
Account Registration v2 /user/v2/account/registration/ POST Create a new user account
Login Session v1 /user/{api_version}/account/login_session/ GET Get login session info
Login Session v1 /user/{api_version}/account/login_session/ POST Authenticate user and create login session

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.

Research direction

The issue body is an inventory of User API endpoints, including v1 and v2 paths, but it does not name a documentation file or specify the requested change. First clarify the target documentation location and scope; completion criteria are not provided in the issue.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.