In our April 2022 release, we made some changes to groups to address issues with timeouts while groups were being created within Brightspace. The changes we made meant that the creation of group categories, their child groups and any enrollments are now processed by a background task ensuring that groups are always created successfully, and their enrollments are processed as expected every time. Previously, you may have seen failures while creating group categories making the older method of creation unreliable. At this time, these changes are only applied to group creation within the Brightspace interface – in the Groups tool.
In our June 2022 release, or 20.22.06, we will be making the same change to our group creation APIs to provide the same benefits to this means of group creation. As of June, when you use the API route ‘POST /d2l/api/lp/(version)/(orgUnitId)/groupcategories/’ to create a new group category in an org unit you will receive a different status code response – a 202 Accepted – that would indicate that your request is accepted but is not yet completed. You will then be able to use a new API route to check the status of the group category creation request to ensure it has completed successfully. Users posting to this API would normally have seen a 200 OK status message if the action had succeeded.
Any API routes such as PUT, POST or DELETE calls against the currently processing group category creation would fail with a new status code response – a 409 Conflict – indicating that the group category creation has not yet completed, and no changes can be made against the group category at this time.
Why are we making this change?
For us to move to a more robust means of creating groups and providing the benefits the new background creation method gives us, we need to ensure that this change is applied to all methods of groups creation, both within the UI and via our APIs at this time.
What does this mean to me?
If you use our group category API as part of your process to create groups within org units, you will need to expect a different status code response and be able to handle it successfully.