Last modified on August 24, 2023 at 5:13 pm

Resource URL


Registrations are records representing a user’s enrollment in and progress through a particular offering of a course. Users may be registered into an offering by POSTing to /api/v5/registrations and providing an object with userId and offeringId components (see examples below). Since users may take a single offering multiple times (if you have configured your course offerings to allow retake), these two components are not enough to reliably identify a registration. So, like other resources, each registration has its own single, unique identifier.

Once a registration is created, the registration status will be active as the user progresses through the course. On completion, the status will change to either passed or failed depending on their performance and the course’s configured grading parameters and strategies. You may halt a user’s progress through the course in two ways: assign a grade to the registration by PUTing an object with a gradePercentage property to /api/v5/registrations/<registration_id>, which will automatically assign the registration a new status of passed or failed based on the passing grade set in the course; or, you may eject a user by PUTing an object with its status property set to ejected to /api/v5/registrations/<registration_id>.

Use Case Examples

GET requests

Retrieve all registration dataGET /api/v5/registrationsRetrieve all registration data.
Retrieve a specific registrationGET /api/v5/registrations/{id}Retrieve all data about a specific registration identified by {id}.

POST requests

Register user into offeringPOST /dc/api/v5/registrationsRegister a user for a course offering by creating a new registration record

PUT requests

Assign a gradePUT /dc/api/v5/registrations/{id}Halt users progress and assign a grade to the registration record
Eject user from an offeringPUT /dc/api/v5/registrations/{id}Halt users progress and eject them from a course offering (no grade assigned)