Skip to main content
Question

combine user list and course list from docebo

  • September 23, 2025
  • 4 replies
  • 61 views

Hi team,

 

is there any way to combine user list + course list from docebo, ham not able to see there is no common field between both, is there any api which supports I can take course list + user list along, and combine data as shown below

final data that I need from docebo [user + course list] is 
{
    "name": "Vandana Gouda",
    "email": "vandanagouda060@gmail.com",
    "training_name": "FY21 Security and Privacy Introduction (Mandatory)",
    "due_date": "2025-09-08"
  },

or at least common field between them so that I can map it and combine myself in MuleSoft ???

4 replies

lrnlab
Hero III
Forum|alt.badge.img+10
  • Hero III
  • September 23, 2025

You can get this detail from the User - Courses report. Have you tried exposing that in CSV and using it as your data source?


  • Author
  • Newcomer
  • September 23, 2025

Okey can you please specify which api have both course and user data which includes above all fields? as of now we are using json data directly 
 


lrnlab
Hero III
Forum|alt.badge.img+10
  • Hero III
  • September 23, 2025

Not sure which APi’s have al that...I was talking about a report. What are yo truing to accomplish exactly? Do you have to use APIs to accomplish your task?


hailey.gebhart
Helper III

@vandana19 

 

There are APIs that grab the course enrollments for a specific course and ones for the enrollments of a specific user. If you are trying to go broader than that, I know the following option works. 

 

It might not be ideal depending on your way of accessing APIs, but you can pull a specific report from the analytics service of the API browser. To do this, you have to set up an existing report (or create on yourself via API, but the UI does a fine job of this), then grab the report ID (this is the alphanumeric sequence of characters near the end of the URL when you are editing the report). 

Then you are going to want to use the endpoint Export report as CSV GET /analytics/v1/reports/{report_id}/export/csv

 

This is going to give you an execution ID (id_export). You need this to test the export status and get the results of your report. 

 

Then, you are going to set up a while loop that loops until the status of the report is successful: 

    Get export procedure status GET /analytics/v1/reports/{id_report}/exports/{id_export}.

 

Once the report procedure finishes, you can get the results of the report (your actual report). Get report results paginated GET /analytics/v1/reports/{report_id}/exports/{export_id}/results. You are going to need to loop through the pages until you run out of data. This will get you the output of whatever report you specify in the system as a JSON. You might have to do some additional cleaning to put all the results in one list, but it should get you closer to what you need (especially if you are expecting 200 rows or less). 

 

Other than that, you can try to get a list of courses, then iterate through that list of courses for course enrollment calls. This is less efficient and API call intensive if you are trying to get a report of ALL courses.

If you don’t have Docebo Connect, it is great at handling these situations to send off to different platforms. I think you can even create your own custom APIs if needed. 

 

Let me know how else I can help or if I need to expand on this proposed solution at all!

 

Hailey