Skip to main content
Question

API to manage and assign Certificate Templates aka Certificates of Completion?

  • August 4, 2026
  • 3 replies
  • 74 views

Jtischler
Helper II
Forum|alt.badge.img+1

I want to be able to assign/link Certificates of Completion/Certificate Templates to courses in bulk.  My assumption is that this will need to be done via API like the majority of batch/bulk functions, but Icannot find any API endpoints for this.  Am I missing them somewhere?  Is this still a 100% manual task to assign to courses and LearningPlans?

3 replies

Hi ​@Jtischler,

There is a way to bulk update certificates via API, its under Courses > Update Course General Details.

You’ll need the ID of the certificate, this is a snapshot from the API call for Course Update.

{
"certificate": {
"id": 0,
"additional_certificates": [
{
"sequence": 0,
"certificate_id": 0,
"association_entity": {
"id": 0,
"type": "group"
}
}
],
"additional_certificate_options": {
"enable_multiple_certificates_generation": true,
"certificates_to_generate": 0
}
}
}

You can get the Cert ID by checking out the URL of the certificate template.

This call will only handle 1 update at a time, so a batch will likely need a runner from whatever API tool you use like Postman.


Jtischler
Helper II
Forum|alt.badge.img+1
  • Author
  • Helper II
  • August 13, 2026

@INoahGuy_Lrnlab - Thanks, I did find this but have not been successful in getting it to work.  Full disclosure, I am upskilling on API’s, so still very green.  Am I able to use just this portion of the body schema or do I need to include the whole thing? Ideally I would like to leverage a CSV template vs having to use actual JSON.  Any step by step guidance would be appreciated. 

I am using the free Postman currently, so would need to do this as a bcakground job to load a CSV which doesn’t work for all calls.  I can’t do runner jobs.  I have tried using SOAP with AI guidance and no luck.

 

TIA! 


Hi ​@Jtischler, yes, you can only use a portion of the API, unless the request schema says the field is required, otherwise your API call can look less like the standard format that the API browser shows.

Admittedly if you can’t do runners, this might take a while, but you could play a copy and paste game using the API browser to fire the tailored API to your platform, there isn’t a way through this API call specifically as a batch to the platform.