Skip to main content

Hi everyone, Roberto Moscatelli from the Docebo Support team here and I want to speak a little bit about some IDs that you can find directly using the UI.

 

There is more than one reason why you need these IDs: for example you need them to make some API calls.

 

Here below you can find the easiest way to retrieve IDs directly on your platform.

 

Retrieve User_id

 

You just need to go to Admin Menu-User management and search for your user:

 

lxBNSeT3oxneu0AApqB8LELhiHwDPoCXSPqtICxKrOUklF37AIHLm0qal363YD7j0Wrz9Bap6hXD59nKiJOhwcLkX5mT-IHt8xVrUrrA3LDrP-x7b02n0kVCfwXihBpSpqefl-4-

 

Then open the network tab:

In order to access the browser console, you can simply right-click any element of the page and select "inspect"; then in the following window select the network tab

2z5nDAsdNIdzSAhTVe0oE1sMNj39AFObWa_R5EVTAPrg9-Lj1f2OrTbo8cG_r-1QheqwhbSJQ8ShhZf_H4Utq8s4wqg6w6oP_pr2n4rDO_UvhzJ9F2_6yXgUvLFPToLbkNQnpLwq

 

Now just click on the 3 dots right to the username and select “Edit”. The User_id will appear at the bottom left in the network tab:

 

MMTgft9hvy2JXc9yL5-h63tn2WfkhZBR4ts_aBms_bNLjnhtuCXc6l2Yyx1W2sFHKKugQdAtHSGJV1b55xctss6AQK4MLCHG-2r_AhuHgN4xzzmF72thob4eIDw7K-3SA3aT20-F

 

Retrieve Course_id

 

You just need to go to Admin Menu-Course management and search for your course.

Then click on the course and you can find the course_id in the URL:

 

XU6sGwwkSyPLvZslsrZ0NOKzZOkGNA5_9CHrpUp-xr0yzZoZxC2bolO4bNNLQWTGc5uLUY2MEmDMlvCQNW9FaivjxYgPTyKyIooEDpmNUKdlXhIh5tauNsd6ZdyWFTGs__J1KPia

 

B5sTjZjDjgcko4IzcdKoebVQ0CFhF8WMRk8PrxGWUMKUNbPz9Hbs-nKqS6ZhpbF27zp5fwnC0gcGlX433Zk7HyOCsaO_pofBkorCQkkylysUhXY23ymRyPfCvUh8qL-kCSGYCLAM



 

Retrieve Session_id

 

If your course is an ILT course, just select the course and then click on the session that you need:

 

1PcB7mnCeRb6E2qkbpth_t6TWTp-81EZic20tWVyUU4RdSfTEuw3P7GmqQxrQRD1B4J4AF6ZHeiePCkJN4dfqYJCBz0jdcpTIGS4I8zKXdsa65p2PrbRawgirvujnjE_emkZuozj

 

And you can find the session_id in the URL:

 

DM7bjzgORmdl0ldprt4eRbvmoKgJFcRuMQEMjZAcMKyMj5zYyVmEd5Bppb8Z0t3cXwQQBAT3lklMKVq7iiFqKuiTucyXtBmVtepm76mmJDNABEQlcW9DNLcUizOiyZdoCMbGEuNa



 

Retrieve Event_id

 

If your course is an ILT course, just select the course, then the session and then click on the event that you need:

 

2qu7NWphmY_Fk6cO-J4r_EtgQpHU7xICSGY05q3PvxjRlr52-wxGtE-lYTrRVtGbTc1YbE60mg9xBWpOWJqbaEyvusI5iWy38Maxy7pNBVo_aHcIf6b3iIRhCU9MB_tnn4iZOrct

 

And you can find the session_id in the URL:

 

wypleQgpMaRWBeJPi-noIT2IPndTdckLXpBA6enjwaUE8Q_eM7_M6KrowGSYA_mEckKkpik1e7MD029dn24R5x6abBc9IGayNhT1EZey42Ggqrj-QX3c43iY-719pOkSlpnz7lyc



 

Retrieve LO_id

 

You just need to go to Admin Menu-Course management and search for your course.

Then move to the training material tab:

 

Now click on the hamburger menu right to your training material and then hover the mouse on “delete”

tVSCkqqgx4q5S-vpVfRdqqE12ozyoDmQMug2FPpmx_xBg2bdt4Riins0kLAHGUDRlOnaZSNMmV-zLZmRjTTeI6RDGlRAPbmtX1YmQEuW_LEdEOI-AScmtTjoc2I0aDQTnSCcg1si

 

At the bottom left you will see a string with id_object”: this is the ID of your learning object:

 

qbw7syUEXaJnkgnxRpdniFyJ2DkEW6T9C_4JQf7hObYn-89s-rHA6sli_MOXCRMMm6QJwFmtlHBArG-1MtWqd2bzK3EJHxPOwYwMM6nOSWB7y-xRlIn72dsKZbNWMlhsQbk6Dkt-



 

Retrieve Page_id

 

For custom pages is enough to go in that page and check the URL:

 

GgS248AsOPVCRc9LlZa0gmVu56Kt43zx6S0eWvgZGP3_Pm4rhTp-zb55OZ7IEE2Kn25qihB_7MSqUeXNtvVHuaddMHeGSD0Getm_THcz7XETBdeIgZdfgjiV3p6f6lEEjI2YJyP9

 

If you don’t have this page on your menu, just go in Admin Menu-Manage Pages and select your page: also in this case the Page_id will appears in the URL

 

Retrieve Catalog_id

 

You just need to go to Admin Menu-Course catalog and hover the mouse on the “assigned courses” icon right to the catalog name:

 

 ZXFEJR9Q8XHPa6DDrPuFJL4wWHlrdrFefJ32WxiQXC2Uaw-Nt2ihDv3uYkF9YhDiZM1-FzUJZkomHhdrnzcEN0zZZC39hcIF8B_JmPJ50lGgKfME97quyOehVE1VBb2-m5mBAOdX

 

At the bottom left you will see a string with “assignCourses&id”: this is the ID of your catalog

 

mWy5jbzX-q91HlFJ4wL4TornYD8hNu5XDgrL7nCtoCSlrbQW2Sh_snUv2zP2fFSwC7HvMGO5uTYiHAYE5tHuaQjcD-_nJrvguWEvdUlOCh3HWpyPZ5ZLw9-S0KDSfu-fw9jEJBjW

 

Retrieve Learning Plan_id

 

You just need to go to Admin Menu-Learning Plans and hover the mouse on the “assigned users” icon right to the learning plan name:

 

UHA3d1nfFdtQvN2OdKuI1D5bXynPXX068lXuyxvxAsxipv349HTfBccwVtCTiEVD7_83BT5dhe_qwERvCrqGXfP4_K14szQMBcmDn7h67bxyv_F0uBCaV-YlpWlRGTLYaHZoNeY3



 

At the bottom left you will see a string with “users&id”: this is the ID of your learning plan

 

ar8S-Y-Ad2VGVALkRp_3TiNaOlKYrsq2XZbwv6kFnWeP1rOHpM3FQZk3dloVDmB4RAE1mBbz5d10yyLmb9ZdinOhHfmkJ1MnK9zOWoLCMpUBYmxVxAIeNt8ceBsCe50XdHhggkED


 

Retrieve Channel_id

 

You just need to go to Admin Menu-Channels and select your channel: also in this case the Channel_id will appears in the URL

 

a7T_8M4cqAHAC2vMmYWkfCYKN1PccilcKVbMExo6JqUPVT8C0gZdsUAhY3DNRJ-a_V3gL3UBPvE350BEF7b6YGUTtPSJNz55nbp_t_Gl7SSL6beM-89fzIA7_jGNaAHuDlW9xOMW


 

aJdB3i0I5kjBeaxXHqUFpviL75uS1k9ElJwiH1VEB6Xu5D-9SXzJug-LkeExg6jfkdcLtvNxCV23SqPHWzn8iGOeUmo296Wm5MTJkq2mkwkXQuXNJK5FLZBE-oGRKdLfm4Zyb4hx



 

Retrieve Group_id


You just need to go to Admin Menu-Groups and select your group: also in this case the Group_id will appears in the URL

 

K4Jk79lIChptWAOpNt4aSjMbeYbgxy0ASxHaT1t1jBLZUACnspdS-imhrb8sVUZQSrRzgiyCtvm97eG8s8uti5GWLjguyd6_wQRttaaS8H2nMazE9jCDKTPiL_2LUaTfqJrhDeEF

 

xKpHqw-r26pXYsa7NYTMrq9UV8nAYC5yRKjXf_3TY2WpYGrQXaNtKYO2YBPvzRgBnkiXKmRVP8n7SpU_S8OeUTTnVFVyrx6CkQymg1-gD078aXOmCISEylYuq-g6g6c18rpw7FKw

This is lovely, would have loved a year ago when I first started playing in the API and had to guess and check to find some items! I do often joke there seems to be too many unique identifiers for different objects when it comes to docebo, especially for courses. Would be nice to be able to use some of them more interchangeably.


Wow this is a great post @roberto.moscatelli. Thanks for sharing. 


Great info!

Here is more that may be more useful for advanced admins:

  1. The current user’s access token (yours if you’re the one logged in) is stored in local storage in the browser, and it’s really useful to have it handy for the API browser without having to fire up Postman to get it. In the browser you can grab your access token by “inspecting” the code, choosing the Application tab, and opening Local Storage on the left side.  The actual access token is in the “access_token” property of the JSON returned. Additionally, the user id is *usually* in the id_user property of that same JSON, but not always (I haven’t figured out what the actual trigger is that causes the id to be written to local storage, but it doesn’t always happen at login).
  2. With JavaScript, the access token is retrievable under localStorage.getItem(“access_token”). The current user’s id can also be retrieved (usually) from the id_user key. (For some reason the id_user key is not in local storage right from the moment of login in every case.)  As a bonus, the logged-in user’s email address can be grabbed from the UI with JavaScript using document.querySelector(‘.ellipsed’).innerText.  JavaScript is helpful if you’re extending functionality such as providing additional field validation, tooltips, personalization, buttons, or incorporating externally-scored activities through custom forms, etc. beyond the “in the box” capabilities of the system.
  3. Disclaimer: Anything with customer-written JavaScript is currently “unsupported” by Docebo. If you break anything, Tier 1 support may not be able to solve this for you. If you do create custom JavaScript solutions and end up accidentally locked out by bad code and a UI that won’t load,  PM me for a couple solutions I’ve found. :sunglasses:

@roberto.moscatelli  Thanks for the details … For myself,  using a browser’s Development Tools can be good for one user, but I typically need 100’s of Unique User IDs at any given time. I also need to know other types of user data so I’ve simply built a daily User report that exports my whole platform, including the Unique User ID.


@roberto.moscatelli  Thanks for the details … For myself,  using a browser’s Development Tools can be good for one user, but I typically need 100’s of Unique User IDs at any given time. I also need to know other types of user data so I’ve simply built a daily User report that exports my whole platform, including the Unique User ID.

Why wouldn’t you just programatically access the info you need when you need it then? The above data is excellent for POC’s, testing, proofing things, not so much for running full business processes.


@roberto.moscatelli  Thanks for the details … For myself,  using a browser’s Development Tools can be good for one user, but I typically need 100’s of Unique User IDs at any given time. I also need to know other types of user data so I’ve simply built a daily User report that exports my whole platform, including the Unique User ID.

Why wouldn’t you just programatically access the info you need when you need it then? The above data is excellent for POC’s, testing, proofing things, not so much for running full business processes.

@Bfarkas Not exactly sure what you mean by “programmatically” but am assuming you mean API. Unfortunately, APIs are a bit of a stretch for me and my team, so I use batch uploads for most of my administrative work. Yes, I know...HUGE LOE. We’re hoping that Docebo Connect might be in our future, and that approach to automation/integration might work better for us.


@roberto.moscatelli  Thanks for the details … For myself,  using a browser’s Development Tools can be good for one user, but I typically need 100’s of Unique User IDs at any given time. I also need to know other types of user data so I’ve simply built a daily User report that exports my whole platform, including the Unique User ID.

 

Hi @KMallette,

thank you so much for your reply!
This is completely true for the "users" part. The above instructions are useful if you need 1 user_id, not for a massive "report". As you correctly said, if you need 100's of Unique User IDs (via UI) the best way is to run a "Users" report selecting the data that you need. 
Just be careful with new users: as reported in our KB article at the following link:
https://help.docebo.com/hc/en-us/articles/360020124159-Creating-Managing-New-Custom-Reports
Data extracted and displayed in the report is not real-time, so for new users you need to wait the data refresh.
So maybe if you need the User_id for a user that you have just created, I hope that the guide can help you.

For the other IDs (catalogs, menu, pages...) there is not a report showing these IDs, so you can retrieve them following the Community post hints or via API.

Let us know if this can help you!


Hi @roberto.moscatelli, do you know a similar way to get to the course’s thumbnail ID? 😎

Best,
Janina


Hi @roberto.moscatelli, do you know a similar way to get to the course’s thumbnail ID? 😎

Best,
Janina

 

Hi @janina.zielecki thank you for your reply and suggestion!

You cannot retrieve it directly but, if you don’t want to use the API (in this case 

GET/learn/v1/courses/{course_id} ) you can use another “trick”.

 

Once you have retrieve the course_id (from the URL) you can open the “network console” and insert it in the “filter” (let’s take as example the course_id = 29)

 

 

Then scroll down until you can see “thumbnail” and you will see the id (in this case “269”):

 

 

If is not so clear, I recorded a short video showing how to retrieve it using the network console, please let me know if you can find it helpful.

You can find it here:

https://drive.google.com/file/d/13SEefRvgGAetO3ZQZ72CDz9Aqh8icTMQ/view?usp=sharing

 

Have a nice day!

Roberto


Wow! That’s very nice! Thank you! 😍
Yes, I think I’m a bit faster with that one!


Just posted an idea related to this thread so commenting here in case people are readinig and interested in voting:

 

While I am comfortable leveraging the API or browser to find these ids, it is a bit of skill knowing how and where to find each one, and sometimes when you just need one using the API to do it is tedious, it would be nice to have an ID dashboard of sorts.


Fast follow, Session UUID was a mystery until via a similar post… C’mon Docebo, at a min. can you please have someone (IDK, heck a college intern maybe!) spend ~ 10 min. and add these ‘where to find’ pointers into the KB articles? 

In a related post, I found one way to find it is playing with the col’s. displayed on the Sessions tab. (Click the 3 vertical bars icon that is “Column Selector”).

(And I digress...) And that’s another annoying limitation. Somehow our default was set one over (10 of 9) so I had to deselect 2 in order to check Unique Session ID (can we align ref. to field names too please?). And while I’m at it, can we lose the col’s. limitation so an admin can simply scroll the display something like a spreadsheet?


Yeah, I end up using API to do most of these, but the documentation is incredibly lacking for where to get the ID’s and even which id is needed sometimes since there are multiple ID types.


Yeah, I end up using API to do most of these, but the documentation is incredibly lacking for where to get the ID’s and even which id is needed sometimes since there are multiple ID types.

I guess another way to grab at least course/session info is downloading the csv template while in the UI for “New Session via CSV” or “New Event via CSV” so the CSV that downloads already populates IDs for you. Another annoying gap is the KB article says things like “you can’t have both id’s in the same row or it will bomb outI”, so I update our procedures guide to use just one (delete one off the download or if you source it manually, just grab one) so our new admin can run with this. Then I test (with both id’s present) and that’s a lie, it created in this case the session just fine. What a time waster…

Anyway B, I’m not our System Admin but he’s new to Docebo, and I haven’t ever used an API process, how might he/we get started?


Working on a little something that might be perfect for you and him, more very soon. 


Does anyone else gets a ‘Permission denied’ when trying to work with a LO ID in the API call  /learn/v1/lo/{id}?


No, just tried and it worked as expected in the API Browser for me. Are you logged in correctly with a valid token?


No, just tried and it worked as expected in the API Browser for me. Are you logged in correctly with a valid token?

Yes, other calls are working.


@janina.zielecki 

Hi Janina!

I tend to receive the same ‘Permission denied’ response from the ‘Returns information for a single learning object’ API endpoint (/learn/v1/lo/{id}) if I’m not ‘Enrolled’ in the Course that contains the SCO with the ‘LO Id’ I’m querying. This appears to be true for several other API endpoints.

I’m curious if this is the same scenario for you?

Please let me know if this helps.

Enjoy your weekend!


Interesting @janina.zielecki , my test case I was enrolled in so would hold that theory up. 


We are doing an evaluation of Workato and Connect to see how they’ll help us leverage UUIDs. 


You can also find session UUID here:
 

 


You can also find session UUID here:
 

 

Yup just keep in mind that session ID and session unique ID are two different things. Most of the interfaces use them interchangeably, but it’s the session ID that’s needed if doing api things. Gets weird that there are multiple unique id’s for objects around the system. 


You can also find branch ID by clicking the edit button on branch keeping network tab in the console open:
 

 


Thanks, it would be helpful to know the max length of these Docebo Ids, for storing them in other integrated systems.  10 char? 20 char?

Thanks


Reply