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
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["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)."]]