NovoEd's Activity Completion APIs allow a client to take action on behalf of learners.
Prior to using the Activity Completion 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.
There are two endpoints:
Below are steps to gather API parameters for the Mark as Done API. If you have trouble retrieving this information, please contact our Support Team at hello@novoed.com.
For example:
The URL below is added to a Web Link component on a lesson page:
https://www.examplesystem.com?user=%%USER_ID%%&course=%%CATALOG_ID&activity=%%ACTIVITY_ID%%
When the learner launches the link from the lesson page, NovoEd will attach the user's NovoEd ID, the NovoEd course's Catalog ID, and the Web Link component's Activity ID. The example system will receive and store those three parameters. Then, those three parameters will be used in the API call to mark the activity as complete for the learner in NovoEd.
Parameters received when the user launches the Web Link from the lesson page:
"Mark as Done" API:
https://api.novoed.com/institutions/<INSTITUTION_ID>/<CATALOG_ID>/learner/{{learner_id}}/external_tool/{{external_tool_id}}/mark_as_done.json?api_key=API_KEY&api_secret=API_SECRET'
API Call to mark the specific user as complete:
https://api.novoed.com/institutions/001/samplecourse1234/learner/888888/external_tool/12345/mark_as_done.json?api_key=9837589275&api_secret=ABC981728918
Note: Institution ID is assigned by the NovoEd platform. It is the number displayed when visiting your NovoEd platform. Reach out to NovoEd Support if you are unable to locate the Institution ID.
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.