Skip to main content
This operation adds multiple users to a group at once. If a user is already a member of the group, they are not added again.
When users are added to a group, the related member and access records are created automatically. If a user is already a member of the group, they are not added again.

Request headers

string
required
The service user’s API token in the Bearer YOUR_TOKEN format. The school owner issues the token in the admin panel: Manage → School → For developers → API keys — see the “Authentication” section for details.
integer
required
The numeric ID of the seller — the account the school belongs to. Copy it on the API keys page, in the Integration data → Identifiers card. The token’s permissions are checked against this ID.
integer
required
The numeric ID of the school, found in the same place as Seller-Id. The value must match the seller’s school — otherwise a 400 error with cause: "ForbiddenSchoolMismatch" is returned.
Requires authentication and the “School User Management” permission (SchoolManageUsers).

Request parameters

The maximum number of users you can add in a single request is 250. To add more users, use several requests.
integer
required
Group ID — the groupId field from the group list. To enroll a user in a course, find that course’s group with the courseIds filter (see Course enrollment). The group must be bound to a product, otherwise the GroupNotBoundToProduct error is returned.
integer[]
required
An array of numeric user IDs in Exode (the id field from user/find or user/list). Up to 250 users per request.
If a user is already a member of the group, they are not added again. The response shows which users already exist in the group and which were added. IDs not found in the school from the School-Id header are silently skipped and appear in neither exist nor created — reconcile the response with the request. Repeating the call with the same userIds is safe.
For each new member, access to the group’s product is granted (or reactivated if it was disabled), and the ProductEnrolledViaLms webhook is sent. For users in exist, access and webhooks are not affected.

Response parameters

array
An array of users who are already members of the group.
array
An array of users who were added to the group. Each item has the same structure as the items of the exist array.
array
An array of users skipped because they are excluded from automatic assignment. Items are user objects (the same structure as the nested user in exist items).For this method the array is always empty: exclusions only limit automatic assignment by org structure rules, and adding via the API counts as manual. The field is always present in the response — take it into account if you validate the schema strictly.
Manual addition removes a previously set exclusion: if the user was earlier removed from the group manually, after adding them via the API the automatic assignment rules can assign them again.

Permission requirements

Adding members to a group requires the “School User Management” permission (SchoolManageUsers).
The service user must be authenticated with a token and have the appropriate access permissions for the specified school.

Updated: 2026-09-25 14:33 UTC