General information
Authentication
We recommend authenticating your API-calls using a Bearer token. You can create one of these tokens by going to your profile and adding a Key there. The key should at the very least have the ability to: read Relations read All Courses read Orders
You can use the key by passing it in the requests Authorization headers like:
Authorization: Bearer <token>
Note: This key is bound to the user that created it. If the user’s permissions get revoked, this key will also no longer be authorized.
Pagination
Eduframe’s web-API returns paginated results. The size of the page and the page number can be set with query params:
- per_page
- page
e.g.:
https://api.eduframe.nl/api/v1/planned_courses?page=2&per_page=100
Info about the total number of records, the previous page, the next page, the last page and the first page can be found in the response headers <Link>
and <Total>
, e.g.:
Link:
<https://drieam-test.edufra.me/api/v1/planned_courses?page=1&per_page=25>; rel="first",
<https://drieam-test.edufra.me/api/v1/planned_courses?page=1&per_page=25>; rel="prev",
<https://drieam-test.edufra.me/api/v1/planned_courses?page=1&per_page=25>; rel="last"
Total: 66
Rate limiting
To prevent numerous API calls overloading Eduframe, rate limiting is implemented. The limit is currently set to 500 requests per 5 minutes. When you hit this limit the application will return an error with HTTP code 429 and message Too many requests were made. Webhook registration and format
Registration
It is possible to let Eduframe POST a webhook notification to a specified URL. You can add a webhook-URL via Settings → Webhooks → Add Webhook. The relevant subscribable events are noted later in this document.
Object
notification: {
{
event: "planned_course.updated",
educator: "drieam-test",
entity_id: 142716,
tenant_id: "29e40df7-4b7c-4a8b-a382-858224237ecc",
entity_type: "PlannedCourse"
}
}