Skip to main content
Question

Using API to Edit Enrollments

  • March 12, 2026
  • 1 reply
  • 8 views

Forum|alt.badge.img+4

I’ve used this article to great advantage to enroll folks via the API, but it depends on learners not currently being enrolled. 

Has anyone seen any similar instructions for how to use the Edit Multiple endpoint on people already enrolled? 

1 reply

Moshe.Machlav
Novice III
Forum|alt.badge.img

The endpoint you're looking for is PUT /learn/v1/enrollments — it's essentially the "edit multiple" counterpart to the bulk enroll POST you've been using. The key difference is that it only works on users who are already enrolled, which is exactly your scenario.

The body structure looks like this:

json

{
"user_ids": [123, 456, 789],
"course_ids": [101, 102],
"status": 2,
"date_complete": "2026-03-14 12:00:00"
}

A few gotchas I've run into when deploying this for organizations:

  • Max 1,000 users per call — batch your requests if you're working with larger groups.
  • One completion date applies to all users in a single call. If you need unique dates per user, you'll either need multiple calls or fall back to the single-update endpoint PUT /learn/v1/enrollments/{course_id}/{user_id}.
  • All course IDs apply to all user IDs — there's no per-user course mapping within a single request.
  • Use a noon timestamp (12:00:00) to avoid timezone-related date shifting.

You can test it directly in your API Browser under learn → Enrollment → "Update enrollment of users to courses (Multiple update)".

There's actually a companion community article that walks through this exact flow step by step: API Browser Quick Grabs: Bulk Update User's Enrollment to a Completion. And for the full list of enrollment-related endpoints, the help article on API services and endpoints is a solid reference.

Happy to share more detail on structuring the batches if you're working with a large population.