Google Classroom add-ons are now generally available to developers! Please see the
add-ons documentation for more information.
Method: courses.students.create
Stay organized with collections
Save and categorize content based on your preferences.
Adds a user as a student of a course.
Domain administrators are permitted to directly add users within their domain as students to courses within their domain. Students are permitted to add themselves to a course using an enrollment code.
This method returns the following error codes:
PERMISSION_DENIED
if the requesting user is not permitted to create students in this course or for access errors.
NOT_FOUND
if the requested course ID does not exist.
FAILED_PRECONDITION
if the requested user's account is disabled, for the following request errors:
- CourseMemberLimitReached
- CourseNotModifiable
- UserGroupsMembershipLimitReached
- InactiveCourseOwner
ALREADY_EXISTS
if the user is already a student or teacher in the course.
HTTP request
POST https://classroom.googleapis.com/v1/courses/{courseId}/students
The URL uses gRPC Transcoding syntax.
Path parameters
Parameters |
courseId |
string
Identifier of the course to create the student in. This identifier can be either the Classroom-assigned identifier or an alias .
|
Query parameters
Parameters |
enrollmentCode |
string
Enrollment code of the course to create the student in. This code is required if userId corresponds to the requesting user; it may be omitted if the requesting user has administrative permissions to create students for any user.
|
Request body
The request body contains an instance of Student
.
Response body
If successful, the response body contains a newly created instance of Student
.
Authorization scopes
Requires one of the following OAuth scopes:
https://www.googleapis.com/auth/classroom.rosters
https://www.googleapis.com/auth/classroom.profile.emails
https://www.googleapis.com/auth/classroom.profile.photos
For more information, see the Authorization guide.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-04-17 UTC.
[null,null,["Last updated 2025-04-17 UTC."],[],[],null,["# Method: courses.students.create\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Query parameters](#body.QUERY_PARAMETERS)\n- [Request body](#body.request_body)\n- [Response body](#body.response_body)\n- [Authorization scopes](#body.aspect)\n- [Try it!](#try-it)\n\nAdds a user as a student of a course.\n\nDomain administrators are permitted to [directly add](https://developers.google.com/workspace/classroom/guides/manage-users) users within their domain as students to courses within their domain. Students are permitted to add themselves to a course using an enrollment code.\n\nThis method returns the following error codes:\n\n- `PERMISSION_DENIED` if the requesting user is not permitted to create students in this course or for [access errors](/workspace/classroom/reference/Access.Errors).\n- `NOT_FOUND` if the requested course ID does not exist.\n- `FAILED_PRECONDITION` if the requested user's account is disabled, for the following [request errors](/workspace/classroom/reference/Request.Errors):\n - CourseMemberLimitReached\n - CourseNotModifiable\n - UserGroupsMembershipLimitReached\n - InactiveCourseOwner\n- `ALREADY_EXISTS` if the user is already a student or teacher in the course.\n\n### HTTP request\n\n`POST https://classroom.googleapis.com/v1/courses/{courseId}/students`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n| Parameters ||\n|------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `courseId` | `string` Identifier of the course to create the student in. This identifier can be either the Classroom-assigned identifier or an [alias](/workspace/classroom/reference/rest/v1/courses.aliases#CourseAlias). |\n\n### Query parameters\n\n| Parameters ||\n|------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `enrollmentCode` | `string` Enrollment code of the course to create the student in. This code is required if [userId](/workspace/classroom/reference/rest/v1/courses.students#Student.FIELDS.user_id) corresponds to the requesting user; it may be omitted if the requesting user has administrative permissions to create students for any user. |\n\n### Request body\n\nThe request body contains an instance of [Student](/workspace/classroom/reference/rest/v1/courses.students#Student).\n\n### Response body\n\nIf successful, the response body contains a newly created instance of [Student](/workspace/classroom/reference/rest/v1/courses.students#Student).\n\n### Authorization scopes\n\nRequires one of the following OAuth scopes:\n\n- `https://www.googleapis.com/auth/classroom.rosters`\n- `\n https://www.googleapis.com/auth/classroom.profile.emails`\n- `\n https://www.googleapis.com/auth/classroom.profile.photos`\n\nFor more information, see the [Authorization guide](/workspace/guides/configure-oauth-consent)."]]