Skip to main content

Hi guys,

I am trying to generate a report using docebo api to find out users with courses that are overdue.

I am not sure if I missed something, but I went through the api references but couldn’t find anything related to this.

Any advice on how to go about getting this information would be appreciated.

Thank You.

Hi Mdurham,

You best bet is probably in the Course API microservice, with the query filter for the enrollment validity. The enrollment status is an important filter, too, in order to not pull in completed courses. Note that this will require an admin-level token to retrieve the data:

GET /course/v1/courses/enrollments?enrollment_validity_to={TODAY}&enrollment_statusu]=in_progress&enrollment_statusu]=enrolled

The date value should be passed as “YYYY-MM-DD”

I hope this helps!


Hi Mdurham,

You best bet is probably in the Course API microservice, with the query filter for the enrollment validity. The enrollment status is an important filter, too, in order to not pull in completed courses. Note that this will require an admin-level token to retrieve the data:

GET /course/v1/courses/enrollments?enrollment_validity_to={TODAY}&enrollment_statusu]=in_progress&enrollment_statusu]=enrolled

The date value should be passed as “YYYY-MM-DD”

I hope this helps!

Hi Samuel,

I was doing some testing and I didn't really get what the enrollment_validity_to query filter is doing. 

How does that determine whether the course is overdue? When I included the filter, result turned was half the number as when I didn't have it. I spot checked a few accounts and it seemed correct but there isn’t any obvious field identifying that the course is overdue.

Thanks again for your help.


I was doing some testing and I didn't really get what the enrollment_validity_to query filter is doing. 

How does that determine whether the course is overdue? When I included the filter, result turned was half the number as when I didn't have it. I spot checked a few accounts and it seemed correct but there isn’t any obvious field identifying that the course is overdue.

Hi mdurham,

You won’t find an explicit flag for a course that is overdue, since overdue means “the due date of this course for this user is some time in the past.”

Within the API, the due date for a user is described as enrollment validity; depending on your platform settings this may or may not block a user from accessing content after the date. By passing enrollment_validity_to=2024-09-02, I am asking the system to “show me all enrollments which have a date UP TO today”, which is in other words saying “due dates in the past” = overdue. I hope this explanation helps clear things up 😊


Reply