Remove students from a group identified by its external reference ID, without rewriting its membership. This endpoint never adds anyone. Same behaviour as DELETE /v3/groups/{id}/students, including the exhaustive list of cases where a student keeps their place on a course.
Up to 100 students per call. Send studentIds or studentExternalReferenceIds, never both, with 1 to 100 identifiers. The limit counts the identifiers sent, duplicates included; a student listed twice is processed once, so removedCount can be lower than the number of identifiers sent. To replace a whole membership use PUT /v3/groups/{id}/students.
Not idempotent, by design. Removing a student who is not a member of the group is rejected with STUDENT_NOT_IN_GROUP, and one such student refuses the whole list: nobody is removed, and the error names every non-member. Treat that code as benign if your events can be delivered more than once.
All or nothing. An unknown or archived student fails the whole call and writes nothing; the error names every one of them.
Rate limit: standard. Concurrency: two identical calls sent at the same moment share a single execution; a call replayed after the response has come back runs again in full.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||

