UNPKG

openapi-directory

Version:

Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS

1 lines 177 kB
{"openapi":"3.0.0","servers":[{"url":"https://classroom.googleapis.com/"}],"info":{"contact":{"name":"Google","url":"https://google.com","x-twitter":"youtube"},"description":"Manages classes, rosters, and invitations in Google Classroom.","license":{"name":"Creative Commons Attribution 3.0","url":"http://creativecommons.org/licenses/by/3.0/"},"termsOfService":"https://developers.google.com/terms/","title":"Google Classroom API","version":"v1","x-apiClientRegistration":{"url":"https://console.developers.google.com"},"x-apisguru-categories":["analytics","media"],"x-logo":{"url":"https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"},"x-origin":[{"converter":{"url":"https://github.com/mermade/oas-kit","version":"7.0.4"},"format":"google","url":"https://classroom.googleapis.com/$discovery/rest?version=v1","version":"v1"}],"x-providerName":"googleapis.com","x-serviceName":"classroom"},"externalDocs":{"url":"https://developers.google.com/classroom/"},"tags":[{"name":"courses"},{"name":"invitations"},{"name":"registrations"},{"name":"userProfiles"}],"paths":{"/v1/courses":{"get":{"description":"Returns a list of courses that the requesting user is permitted to view, restricted to those that match the request. Returned courses are ordered by creation time, with the most recently created coming first. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the query argument is malformed. * `NOT_FOUND` if any users specified in the query arguments do not exist.","operationId":"classroom.courses.list","parameters":[{"description":"Restricts returned courses to those in one of the specified states The default value is ACTIVE, ARCHIVED, PROVISIONED, DECLINED.","explode":true,"in":"query","name":"courseStates","schema":{"items":{"enum":["COURSE_STATE_UNSPECIFIED","ACTIVE","ARCHIVED","PROVISIONED","DECLINED","SUSPENDED"],"type":"string"},"type":"array"},"style":"form"},{"description":"Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.","in":"query","name":"pageToken","schema":{"type":"string"}},{"description":"Restricts returned courses to those having a student with the specified identifier. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user","in":"query","name":"studentId","schema":{"type":"string"}},{"description":"Restricts returned courses to those having a teacher with the specified identifier. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user","in":"query","name":"teacherId","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCoursesResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.courses"],"Oauth2c":["https://www.googleapis.com/auth/classroom.courses"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.courses.readonly"],"Oauth2c":["https://www.googleapis.com/auth/classroom.courses.readonly"]}],"tags":["courses"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Creates a course. The user specified in `ownerId` is the owner of the created course and added as a teacher. A non-admin requesting user can only create a course with themselves as the owner. Domain admins can create courses owned by any user within their domain. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create courses or for access errors. * `NOT_FOUND` if the primary teacher is not a valid user. * `FAILED_PRECONDITION` if the course owner's account is disabled or for the following request errors: * UserCannotOwnCourse * UserGroupsMembershipLimitReached * `ALREADY_EXISTS` if an alias was specified in the `id` and already exists.","operationId":"classroom.courses.create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Course"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Course"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.courses"],"Oauth2c":["https://www.googleapis.com/auth/classroom.courses"]}],"tags":["courses"]}},"/v1/courses/{courseId}/aliases":{"get":{"description":"Returns a list of aliases for a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the course or for access errors. * `NOT_FOUND` if the course does not exist.","operationId":"classroom.courses.aliases.list","parameters":[{"description":"The identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.","in":"query","name":"pageToken","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCourseAliasesResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.courses"],"Oauth2c":["https://www.googleapis.com/auth/classroom.courses"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.courses.readonly"],"Oauth2c":["https://www.googleapis.com/auth/classroom.courses.readonly"]}],"tags":["courses"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Creates an alias for a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create the alias or for access errors. * `NOT_FOUND` if the course does not exist. * `ALREADY_EXISTS` if the alias already exists. * `FAILED_PRECONDITION` if the alias requested does not make sense for the requesting user or course (for example, if a user not in a domain attempts to access a domain-scoped alias).","operationId":"classroom.courses.aliases.create","parameters":[{"description":"Identifier of the course to alias. This identifier can be either the Classroom-assigned identifier or an alias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourseAlias"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourseAlias"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.courses"],"Oauth2c":["https://www.googleapis.com/auth/classroom.courses"]}],"tags":["courses"]}},"/v1/courses/{courseId}/aliases/{alias}":{"delete":{"description":"Deletes an alias of a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to remove the alias or for access errors. * `NOT_FOUND` if the alias does not exist. * `FAILED_PRECONDITION` if the alias requested does not make sense for the requesting user or course (for example, if a user not in a domain attempts to delete a domain-scoped alias).","operationId":"classroom.courses.aliases.delete","parameters":[{"description":"Identifier of the course whose alias should be deleted. This identifier can be either the Classroom-assigned identifier or an alias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Alias to delete. This may not be the Classroom-assigned identifier.","in":"path","name":"alias","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Empty"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.courses"],"Oauth2c":["https://www.googleapis.com/auth/classroom.courses"]}],"tags":["courses"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}]},"/v1/courses/{courseId}/announcements":{"get":{"description":"Returns a list of announcements that the requester is permitted to view. Course students may only view `PUBLISHED` announcements. Course teachers and domain administrators may view all announcements. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.","operationId":"classroom.courses.announcements.list","parameters":[{"description":"Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Restriction on the `state` of announcements returned. If this argument is left unspecified, the default value is `PUBLISHED`.","explode":true,"in":"query","name":"announcementStates","schema":{"items":{"enum":["ANNOUNCEMENT_STATE_UNSPECIFIED","PUBLISHED","DRAFT","DELETED"],"type":"string"},"type":"array"},"style":"form"},{"description":"Optional sort ordering for results. A comma-separated list of fields with an optional sort direction keyword. Supported field is `updateTime`. Supported direction keywords are `asc` and `desc`. If not specified, `updateTime desc` is the default behavior. Examples: `updateTime asc`, `updateTime`","in":"query","name":"orderBy","schema":{"type":"string"}},{"description":"Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.","in":"query","name":"pageToken","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListAnnouncementsResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.announcements"],"Oauth2c":["https://www.googleapis.com/auth/classroom.announcements"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.announcements.readonly"],"Oauth2c":["https://www.googleapis.com/auth/classroom.announcements.readonly"]}],"tags":["courses"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Creates an announcement. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course, create announcements in the requested course, share a Drive attachment, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist. * `FAILED_PRECONDITION` for the following request error: * AttachmentNotVisible","operationId":"classroom.courses.announcements.create","parameters":[{"description":"Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Announcement"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Announcement"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.announcements"],"Oauth2c":["https://www.googleapis.com/auth/classroom.announcements"]}],"tags":["courses"]}},"/v1/courses/{courseId}/announcements/{id}":{"delete":{"description":"Deletes an announcement. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding announcement item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding announcement, if the requesting user is not permitted to delete the requested course or for access errors. * `FAILED_PRECONDITION` if the requested announcement has already been deleted. * `NOT_FOUND` if no course exists with the requested ID.","operationId":"classroom.courses.announcements.delete","parameters":[{"description":"Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Identifier of the announcement to delete. This identifier is a Classroom-assigned identifier.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Empty"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.announcements"],"Oauth2c":["https://www.googleapis.com/auth/classroom.announcements"]}],"tags":["courses"]},"get":{"description":"Returns an announcement. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or announcement, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course or announcement does not exist.","operationId":"classroom.courses.announcements.get","parameters":[{"description":"Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Identifier of the announcement.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Announcement"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.announcements"],"Oauth2c":["https://www.googleapis.com/auth/classroom.announcements"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.announcements.readonly"],"Oauth2c":["https://www.googleapis.com/auth/classroom.announcements.readonly"]}],"tags":["courses"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"patch":{"description":"Updates one or more fields of an announcement. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding announcement or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `FAILED_PRECONDITION` if the requested announcement has already been deleted. * `NOT_FOUND` if the requested course or announcement does not exist","operationId":"classroom.courses.announcements.patch","parameters":[{"description":"Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Identifier of the announcement.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Mask that identifies which fields on the announcement to update. This field is required to do an update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the update mask and not in the Announcement object. If a field that does not support empty values is included in the update mask and not set in the Announcement object, an `INVALID_ARGUMENT` error is returned. The following fields may be specified by teachers: * `text` * `state` * `scheduled_time`","in":"query","name":"updateMask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Announcement"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Announcement"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.announcements"],"Oauth2c":["https://www.googleapis.com/auth/classroom.announcements"]}],"tags":["courses"]}},"/v1/courses/{courseId}/announcements/{id}:modifyAssignees":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Modifies assignee mode and options of an announcement. Only a teacher of the course that contains the announcement may call this method. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course or course work does not exist.","operationId":"classroom.courses.announcements.modifyAssignees","parameters":[{"description":"Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Identifier of the announcement.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModifyAnnouncementAssigneesRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Announcement"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.announcements"],"Oauth2c":["https://www.googleapis.com/auth/classroom.announcements"]}],"tags":["courses"]}},"/v1/courses/{courseId}/courseWork":{"get":{"description":"Returns a list of course work that the requester is permitted to view. Course students may only view `PUBLISHED` course work. Course teachers and domain administrators may view all course work. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.","operationId":"classroom.courses.courseWork.list","parameters":[{"description":"Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Restriction on the work status to return. Only courseWork that matches is returned. If unspecified, items with a work status of `PUBLISHED` is returned.","explode":true,"in":"query","name":"courseWorkStates","schema":{"items":{"enum":["COURSE_WORK_STATE_UNSPECIFIED","PUBLISHED","DRAFT","DELETED"],"type":"string"},"type":"array"},"style":"form"},{"description":"Optional sort ordering for results. A comma-separated list of fields with an optional sort direction keyword. Supported fields are `updateTime` and `dueDate`. Supported direction keywords are `asc` and `desc`. If not specified, `updateTime desc` is the default behavior. Examples: `dueDate asc,updateTime desc`, `updateTime,dueDate desc`","in":"query","name":"orderBy","schema":{"type":"string"}},{"description":"Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.","in":"query","name":"pageToken","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCourseWorkResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.me"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.me"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.me.readonly"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.me.readonly"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.students"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.students"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.students.readonly"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.students.readonly"]}],"tags":["courses"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Creates course work. The resulting course work (and corresponding student submissions) are associated with the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to make the request. Classroom API requests to modify course work and student submissions must be made with an OAuth client ID from the associated Developer Console project. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course, create course work in the requested course, share a Drive attachment, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist. * `FAILED_PRECONDITION` for the following request error: * AttachmentNotVisible","operationId":"classroom.courses.courseWork.create","parameters":[{"description":"Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourseWork"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourseWork"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.students"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.students"]}],"tags":["courses"]}},"/v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions":{"get":{"description":"Returns a list of student submissions that the requester is permitted to view, factoring in the OAuth scopes of the request. `-` may be specified as the `course_work_id` to include student submissions for multiple course work items. Course students may only view their own work. Course teachers and domain administrators may view all student submissions. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.","operationId":"classroom.courses.courseWork.studentSubmissions.list","parameters":[{"description":"Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Identifier of the student work to request. This may be set to the string literal `\"-\"` to request student work for all course work in the specified course.","in":"path","name":"courseWorkId","required":true,"schema":{"type":"string"}},{"description":"Requested lateness value. If specified, returned student submissions are restricted by the requested value. If unspecified, submissions are returned regardless of `late` value.","in":"query","name":"late","schema":{"enum":["LATE_VALUES_UNSPECIFIED","LATE_ONLY","NOT_LATE_ONLY"],"type":"string"}},{"description":"Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.","in":"query","name":"pageToken","schema":{"type":"string"}},{"description":"Requested submission states. If specified, returned student submissions match one of the specified submission states.","explode":true,"in":"query","name":"states","schema":{"items":{"enum":["SUBMISSION_STATE_UNSPECIFIED","NEW","CREATED","TURNED_IN","RETURNED","RECLAIMED_BY_STUDENT"],"type":"string"},"type":"array"},"style":"form"},{"description":"Optional argument to restrict returned student work to those owned by the student with the specified identifier. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user","in":"query","name":"userId","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListStudentSubmissionsResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.me"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.me"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.me.readonly"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.me.readonly"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.students"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.students"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.students.readonly"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.students.readonly"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.student-submissions.me.readonly"],"Oauth2c":["https://www.googleapis.com/auth/classroom.student-submissions.me.readonly"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.student-submissions.students.readonly"],"Oauth2c":["https://www.googleapis.com/auth/classroom.student-submissions.students.readonly"]}],"tags":["courses"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}]},"/v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}":{"get":{"description":"Returns a student submission. * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course, course work, or student submission or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.","operationId":"classroom.courses.courseWork.studentSubmissions.get","parameters":[{"description":"Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Identifier of the course work.","in":"path","name":"courseWorkId","required":true,"schema":{"type":"string"}},{"description":"Identifier of the student submission.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudentSubmission"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.me"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.me"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.me.readonly"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.me.readonly"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.students"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.students"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.students.readonly"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.students.readonly"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.student-submissions.me.readonly"],"Oauth2c":["https://www.googleapis.com/auth/classroom.student-submissions.me.readonly"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.student-submissions.students.readonly"],"Oauth2c":["https://www.googleapis.com/auth/classroom.student-submissions.students.readonly"]}],"tags":["courses"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"patch":{"description":"Updates one or more fields of a student submission. See google.classroom.v1.StudentSubmission for details of which fields may be updated and who may change them. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding course work, if the user is not permitted to make the requested modification to the student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.","operationId":"classroom.courses.courseWork.studentSubmissions.patch","parameters":[{"description":"Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Identifier of the course work.","in":"path","name":"courseWorkId","required":true,"schema":{"type":"string"}},{"description":"Identifier of the student submission.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Mask that identifies which fields on the student submission to update. This field is required to do an update. The update fails if invalid fields are specified. The following fields may be specified by teachers: * `draft_grade` * `assigned_grade`","in":"query","name":"updateMask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudentSubmission"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudentSubmission"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.me"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.me"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.students"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.students"]}],"tags":["courses"]}},"/v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:modifyAttachments":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Modifies attachments of student submission. Attachments may only be added to student submissions belonging to course work objects with a `workType` of `ASSIGNMENT`. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, if the user is not permitted to modify attachments on the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.","operationId":"classroom.courses.courseWork.studentSubmissions.modifyAttachments","parameters":[{"description":"Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Identifier of the course work.","in":"path","name":"courseWorkId","required":true,"schema":{"type":"string"}},{"description":"Identifier of the student submission.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModifyAttachmentsRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudentSubmission"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.me"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.me"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.students"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.students"]}],"tags":["courses"]}},"/v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:reclaim":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Reclaims a student submission on behalf of the student that owns it. Reclaiming a student submission transfers ownership of attached Drive files to the student and updates the submission state. Only the student that owns the requested student submission may call this method, and only for a student submission that has been turned in. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, unsubmit the requested student submission, or for access errors. * `FAILED_PRECONDITION` if the student submission has not been turned in. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.","operationId":"classroom.courses.courseWork.studentSubmissions.reclaim","parameters":[{"description":"Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Identifier of the course work.","in":"path","name":"courseWorkId","required":true,"schema":{"type":"string"}},{"description":"Identifier of the student submission.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReclaimStudentSubmissionRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Empty"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.me"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.me"]}],"tags":["courses"]}},"/v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:return":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Returns a student submission. Returning a student submission transfers ownership of attached Drive files to the student and may also update the submission state. Unlike the Classroom application, returning a student submission does not set assignedGrade to the draftGrade value. Only a teacher of the course that contains the requested student submission may call this method. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, return the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.","operationId":"classroom.courses.courseWork.studentSubmissions.return","parameters":[{"description":"Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Identifier of the course work.","in":"path","name":"courseWorkId","required":true,"schema":{"type":"string"}},{"description":"Identifier of the student submission.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReturnStudentSubmissionRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Empty"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.students"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.students"]}],"tags":["courses"]}},"/v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:turnIn":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Turns in a student submission. Turning in a student submission transfers ownership of attached Drive files to the teacher and may also update the submission state. This may only be called by the student that owns the specified student submission. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, turn in the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.","operationId":"classroom.courses.courseWork.studentSubmissions.turnIn","parameters":[{"description":"Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Identifier of the course work.","in":"path","name":"courseWorkId","required":true,"schema":{"type":"string"}},{"description":"Identifier of the student submission.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TurnInStudentSubmissionRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Empty"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.me"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.me"]}],"tags":["courses"]}},"/v1/courses/{courseId}/courseWork/{id}":{"delete":{"description":"Deletes a course work. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding course work, if the requesting user is not permitted to delete the requested course or for access errors. * `FAILED_PRECONDITION` if the requested course work has already been deleted. * `NOT_FOUND` if no course exists with the requested ID.","operationId":"classroom.courses.courseWork.delete","parameters":[{"description":"Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Identifier of the course work to delete. This identifier is a Classroom-assigned identifier.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Empty"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.students"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.students"]}],"tags":["courses"]},"get":{"description":"Returns course work. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course or course work does not exist.","operationId":"classroom.courses.courseWork.get","parameters":[{"description":"Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Identifier of the course work.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourseWork"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.me"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.me"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.me.readonly"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.me.readonly"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.students"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.students"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.students.readonly"],"Oauth2c":["https://www.googleapis.com/auth/classroom.coursework.students.readonly"]}],"tags":["courses"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"patch":{"description":"Updates one or more fields of a course work. See google.classroom.v1.CourseWork for details of which fields may be updated and who may change them. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding course work, if the user is not permitted to make the requested modification to the student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `FAILED_PRECONDITION` if the requested course work has already been deleted. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.","operationId":"classroom.courses.courseWork.patch","parameters":[{"description":"Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.","in":"path","name":"courseId","required":true,"schema":{"t