Overview
In instances when a customer's application needs to communicate with the NovoEd platform, API calls may be programmed to deliver or retrieve information between the two applications.
Process
- Org Admin requests an API Key and Secret from the NovoEd Support Team. (See article.)
- Connect the API Key to a course or institution. (See article.)
- Program the APIs in the application that will communicate with NovoEd.
- Test the API calls within the preferred application.
- Enable API calls within the preferred courses and/or learning journeys.
Basic Authentication
All NovoEd APIs support basic authentication.
To use basic authentication, include an “Authorization” request header with your base64-encoded credentials. The API Key serves as the username and API Secret as the password.
Requests made with basic authentication should omit api_key and api_secret parameters.
OAuth 2
You can use the OAuth token endpoint to obtain an access token for use in subsequent API requests. Tokens have access to all API endpoints for the institution. Access tokens have a limited lifespan. A refresh token may be used to acquire an updated access token.
Note: An API Key and Secret must be obtained from the NovoEd Support Team and connected to your NovoEd institution to utilize NovoEd's OAuth2 APIs. (See article for directions)
To obtain an access token
POST to https://api.novoed.com/oauth/token and include the following in the request body:
"grant_type": "password"
"username": your API Key from NovoEd Support
"password": your API Secret from NovoEd Support
This endpoint will respond with the following:
- An access token
- The time in seconds when the access token will expire
- A refresh token which can be used to obtain an updated access token
To use in requests, include the access token in the "Authorization" access header:
Header params
{ "Authorization": "Bearer <access token>" }
For more information, visit the developer documentation.
Types of APIs
NovoEd provides six different sets of APIs that can be programmed:
- Enrollment APIs
- Register New Learner
- Unregister Learner
- Resend Welcome Email
- Get Registration Info
- Get All Courses in an Institution
- Put Update Self Paced Access End Date
- Archiving User-Generated Content APIs
- Message Archive
- Discussion Archive
- Assignment Submission Archive
- Private Feedback Archive
- Practice Submission Archive
- Practice Submission Discussion Archive
- Team and Group Workspaces Archive
- Manage Users at the Institution-Level APIs
- See Available roles
- See Custom Profile List
- Update Custom Profile
- Update Email
- Update External ID
- See User
- Update User
- Create User
- Course APIs
- Retrieve a List of Courses
- Update Course Information (Catalog ID, Course Name, Course Dates)
- Clone Course
- Org-Level Analytics APIs
- Retrieve a List of Users
- Retrieve a List of Courses
- Retrieve a List of Enrollments
- Retrieve a List of Lesson Pages
- Retrieve a List of Course Activities
- Retrieve a List of Learning Activity Outcomes
- Retrieve a List of Users' Lecture Page Views
- Retrieve a List of Org Level Users and their Org Level Roles
- Activity Completion APIs
- Mark Specific Web Embed or Web Link Activity as Complete for Specific User
- Get Web links with auto-complete
- OAuth2 APIs
- Authorization Token
- Authorization Token Info
- Revoke Authorization Token
- Revoke Authentication (Base 64 Header)
- Refresh Authorization Token
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.