Introduction
Enrollment APIs are a set of JSON APIs that allow a client to programmatically register learners in NovoEd as well as get information on the status of a registration. These APIs are suitable for clients who have their own portal for listing their online offerings and are looking for a programmatic way to connect their online portal with NovoEd.
Set-Up
Prior to using the Enrollment APIs, you will need to request an API Key and Secret. Then, you will connect it to your preferred course(s) and/or link it to your whole institution.
This article, How to Request and Set Up an API Key and Secret, walks through the process of requesting and setting up the API Key and Secret.
Endpoints
There are six endpoints:
- POST Enroll new user
- POST Unregister a learner
- POST Resend welcome email
- GET Registration information (enrollment status, course role)
- GET All Courses in an Institution
- GET Enrollments for user
- PUT Update Self Paced Access End Date
Developer Documentation
Rate Limiting
We ensure the integrity of our API endpoints, NovoEd limits usage of our API on a per key basis. Here are the rate limits:
Time Span |
Request Limit |
1 Minute |
200 |
1 Hour |
1000 |
1 Day |
13000 |
“Time span” is determined by when a request first comes in. Within the next time span, the requestor cannot exhaust the number of requests allowed within that time period.
Notes
- You may call the same endpoint to update first name and last name of the user with the same email address; the email address identifies the user
- “Unenroll” removes user access, which is the closest NovoEd has to disable a user.
Troubleshooting
If you receive a 503 from any of the endpoints listed above, you are probably being throttled due to back-end capacity issues or because you have reached quota.
We recommend implementing an exponential backoff and retrying the call until 200 success is reached. Of course, retries should be limited and errors communicated back to the caller.
External Id can be present when SSO based on external id is enabled. Register New Learner requires the existence of an email address. However, in all other calls providing an email address or external id is sufficient and you do not need to provide both. If both are provided, NovoEd will use external_id as the primary id.