Google Classroom API | Google for Developers (original ) (raw )Manages classes, rosters, and invitations in Google Classroom.
Service: classroom.googleapis.comTo call this service, we recommend that you use the Google-provided client libraries . If your application needs to use your own libraries to call this service, use the following information when you make the API requests.
Discovery documentA Discovery Document is a machine-readable specification for describing and consuming REST APIs. It is used to build client libraries, IDE plugins, and other tools that interact with Google APIs. One service may provide multiple discovery documents. This service provides the following discovery document:
Service endpointA service endpoint is a base URL that specifies the network address of an API service. One service might have multiple service endpoints. This service has the following service endpoint and all URIs below are relative to this service endpoint:
https://classroom.googleapis.com
Methods
checkAddOnCreationEligibility (deprecated)
GET /v1/courses/{courseId}:checkAddOnCreationEligibility Returns whether a user is eligible to create add-on attachments in a given course.
checkGradingPeriodsSetupEligibility (deprecated)
GET /v1/courses/{courseId}:checkGradingPeriodsSetupEligibility Returns whether a user is eligible to update GradingPeriodSettings in a given course.
create
POST /v1/courses Creates a course.
delete
DELETE /v1/courses/{id} Deletes a course.
get
GET /v1/courses/{id} Returns a course.
getGradingPeriodSettings
GET /v1/courses/{courseId}/gradingPeriodSettings Returns the grading period settings in a course.
list
GET /v1/courses Returns a list of courses that the requesting user is permitted to view, restricted to those that match the request.
patch
PATCH /v1/courses/{id} Updates one or more fields in a course.
update
PUT /v1/courses/{id} Updates a course.
updateGradingPeriodSettings
PATCH /v1/courses/{courseId}/gradingPeriodSettings Updates grading period settings of a course.
Methods
create
POST /v1/courses/{courseId}/aliases Creates an alias for a course.
delete
DELETE /v1/courses/{courseId}/aliases/{alias} Deletes an alias of a course.
list
GET /v1/courses/{courseId}/aliases Returns a list of aliases for a course.
Methods
create
POST /v1/courses/{courseId}/announcements Creates an announcement.
delete
DELETE /v1/courses/{courseId}/announcements/{id} Deletes an announcement.
get
GET /v1/courses/{courseId}/announcements/{id} Returns an announcement.
getAddOnContext
GET /v1/courses/{courseId}/announcements/{itemId}/addOnContext Gets metadata for Classroom add-ons in the context of a specific post.
list
GET /v1/courses/{courseId}/announcements Returns a list of announcements that the requester is permitted to view.
modifyAssignees
POST /v1/courses/{courseId}/announcements/{id}:modifyAssignees Modifies assignee mode and options of an announcement.
patch
PATCH /v1/courses/{courseId}/announcements/{id} Updates one or more fields of an announcement.
Methods
create
POST /v1/courses/{courseId}/announcements/{itemId}/addOnAttachments Creates an add-on attachment under a post.
delete
DELETE /v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId} Deletes an add-on attachment.
get
GET /v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId} Returns an add-on attachment.
list
GET /v1/courses/{courseId}/announcements/{itemId}/addOnAttachments Returns all attachments created by an add-on under the post.
patch
PATCH /v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId} Updates an add-on attachment.
Methods
create
POST /v1/courses/{courseId}/courseWork Creates course work.
delete
DELETE /v1/courses/{courseId}/courseWork/{id} Deletes a course work.
get
GET /v1/courses/{courseId}/courseWork/{id} Returns course work.
getAddOnContext
GET /v1/courses/{courseId}/courseWork/{itemId}/addOnContext Gets metadata for Classroom add-ons in the context of a specific post.
list
GET /v1/courses/{courseId}/courseWork Returns a list of course work that the requester is permitted to view.
modifyAssignees
POST /v1/courses/{courseId}/courseWork/{id}:modifyAssignees Modifies assignee mode and options of a coursework.
patch
PATCH /v1/courses/{courseId}/courseWork/{id} Updates one or more fields of a course work.
Methods
create
POST /v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments Creates an add-on attachment under a post.
delete
DELETE /v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId} Deletes an add-on attachment.
get
GET /v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId} Returns an add-on attachment.
list
GET /v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments Returns all attachments created by an add-on under the post.
patch
PATCH /v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId} Updates an add-on attachment.
Methods
get
GET /v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId} Returns a student submission for an add-on attachment.
patch
PATCH /v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId} Updates data associated with an add-on attachment submission.
Methods
create
POST /v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics Creates a rubric.
delete
DELETE /v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics/{id} Deletes a rubric.
get
GET /v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics/{id} Returns a rubric.
list
GET /v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics Returns a list of rubrics that the requester is permitted to view.
patch
PATCH /v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics/{id} Updates a rubric.
Methods
get
GET /v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id} Returns a student submission.
list
GET /v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions Returns a list of student submissions that the requester is permitted to view, factoring in the OAuth scopes of the request.
modifyAttachments
POST /v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:modifyAttachments Modifies attachments of student submission.
patch
PATCH /v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id} Updates one or more fields of a student submission.
reclaim
POST /v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:reclaim Reclaims a student submission on behalf of the student that owns it.
return
POST /v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:return Returns a student submission.
turnIn
POST /v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:turnIn Turns in a student submission.
Methods
create
POST /v1/courses/{courseId}/courseWorkMaterials Creates a course work material.
delete
DELETE /v1/courses/{courseId}/courseWorkMaterials/{id} Deletes a course work material.
get
GET /v1/courses/{courseId}/courseWorkMaterials/{id} Returns a course work material.
getAddOnContext
GET /v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnContext Gets metadata for Classroom add-ons in the context of a specific post.
list
GET /v1/courses/{courseId}/courseWorkMaterials Returns a list of course work material that the requester is permitted to view.
patch
PATCH /v1/courses/{courseId}/courseWorkMaterials/{id} Updates one or more fields of a course work material.
Methods
create
POST /v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments Creates an add-on attachment under a post.
delete
DELETE /v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId} Deletes an add-on attachment.
get
GET /v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId} Returns an add-on attachment.
list
GET /v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments Returns all attachments created by an add-on under the post.
patch
PATCH /v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId} Updates an add-on attachment.
Methods
getAddOnContext
GET /v1/courses/{courseId}/posts/{postId}/addOnContext Gets metadata for Classroom add-ons in the context of a specific post.
Methods
create
POST /v1/courses/{courseId}/posts/{postId}/addOnAttachments Creates an add-on attachment under a post.
delete
DELETE /v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId} Deletes an add-on attachment.
get
GET /v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId} Returns an add-on attachment.
list
GET /v1/courses/{courseId}/posts/{postId}/addOnAttachments Returns all attachments created by an add-on under the post.
patch
PATCH /v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId} Updates an add-on attachment.
Methods
get
GET /v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId} Returns a student submission for an add-on attachment.
patch
PATCH /v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId} Updates data associated with an add-on attachment submission.
Methods
create
POST /v1/courses/{courseId}/studentGroups Creates a student group for a course.
delete
DELETE /v1/courses/{courseId}/studentGroups/{id} Deletes a student group.
list
GET /v1/courses/{courseId}/studentGroups Returns a list of groups in a course.
patch
PATCH /v1/courses/{courseId}/studentGroups/{id} Updates one or more fields in a student group.
Methods
create
POST /v1/courses/{courseId}/studentGroups/{studentGroupId}/studentGroupMembers Creates a student group member for a student group.
delete
DELETE /v1/courses/{courseId}/studentGroups/{studentGroupId}/studentGroupMembers/{userId} Deletes a student group member.
list
GET /v1/courses/{courseId}/studentGroups/{studentGroupId}/studentGroupMembers Returns a list of students in a group.
Methods
create
POST /v1/courses/{courseId}/students Adds a user as a student of a course.
delete
DELETE /v1/courses/{courseId}/students/{userId} Deletes a student of a course.
get
GET /v1/courses/{courseId}/students/{userId} Returns a student of a course.
list
GET /v1/courses/{courseId}/students Returns a list of students of this course that the requester is permitted to view.
Methods
create
POST /v1/courses/{courseId}/teachers Creates a teacher of a course.
delete
DELETE /v1/courses/{courseId}/teachers/{userId} Removes the specified teacher from the specified course.
get
GET /v1/courses/{courseId}/teachers/{userId} Returns a teacher of a course.
list
GET /v1/courses/{courseId}/teachers Returns a list of teachers of this course that the requester is permitted to view.
Methods
create
POST /v1/courses/{courseId}/topics Creates a topic.
delete
DELETE /v1/courses/{courseId}/topics/{id} Deletes a topic.
get
GET /v1/courses/{courseId}/topics/{id} Returns a topic.
list
GET /v1/courses/{courseId}/topics Returns the list of topics that the requester is permitted to view.
patch
PATCH /v1/courses/{courseId}/topics/{id} Updates one or more fields of a topic.
Methods
accept
POST /v1/invitations/{id}:accept Accepts an invitation, removing it and adding the invited user to the teachers or students (as appropriate) of the specified course.
create
POST /v1/invitations Creates an invitation.
delete
DELETE /v1/invitations/{id} Deletes an invitation.
get
GET /v1/invitations/{id} Returns an invitation.
list
GET /v1/invitations Returns a list of invitations that the requesting user is permitted to view, restricted to those that match the list request.
Methods
create
POST /v1/registrations Creates a Registration, causing Classroom to start sending notifications from the provided feed to the destination provided in cloudPubSubTopic.
delete
DELETE /v1/registrations/{registrationId} Deletes a Registration, causing Classroom to stop sending notifications for that Registration.
Methods
checkUserCapability
GET /v1/userProfiles/{userId}:checkUserCapability Returns whether a user may use the specified Classroom capability.
get
GET /v1/userProfiles/{userId} Returns a user profile.
Methods
create
POST /v1/userProfiles/{guardianInvitation.studentId}/guardianInvitations Creates a guardian invitation, and sends an email to the guardian asking them to confirm that they are the student's guardian.
get
GET /v1/userProfiles/{studentId}/guardianInvitations/{invitationId} Returns a specific guardian invitation.
list
GET /v1/userProfiles/{studentId}/guardianInvitations Returns a list of guardian invitations that the requesting user is permitted to view, filtered by the parameters provided.
patch
PATCH /v1/userProfiles/{studentId}/guardianInvitations/{invitationId} Modifies a guardian invitation.
Methods
delete
DELETE /v1/userProfiles/{studentId}/guardians/{guardianId} Deletes a guardian.
get
GET /v1/userProfiles/{studentId}/guardians/{guardianId} Returns a specific guardian.
list
GET /v1/userProfiles/{studentId}/guardians Returns a list of guardians that the requesting user is permitted to view, restricted to those that match the request.