openapi-directory
Version:
Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS
1 lines • 137 kB
JSON
{"openapi":"3.0.0","info":{"contact":{"name":"Google","url":"https://google.com"},"description":"Manages classes, rosters, and invitations in Google Classroom.","title":"Google Classroom","version":"v1","x-apiClientRegistration":{"url":"https://console.developers.google.com"},"x-apisguru-categories":["education"],"x-logo":{"url":"https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"},"x-origin":[{"converter":{"url":"https://github.com/lucybot/api-spec-converter","version":"2.7.18"},"format":"google","url":"https://classroom.googleapis.com/$discovery/rest?version=v1","version":"v1"}],"x-preferred":true,"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,\nrestricted to those that match the request. Returned courses are ordered by\ncreation time, with the most recently created coming first.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` for access errors.\n* `INVALID_ARGUMENT` if the query argument is malformed.\n* `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\nThe default value is ACTIVE, ARCHIVED, PROVISIONED, DECLINED.","in":"query","name":"courseStates","explode":true,"schema":{"type":"array","items":{"enum":["COURSE_STATE_UNSPECIFIED","ACTIVE","ARCHIVED","PROVISIONED","DECLINED","SUSPENDED"],"type":"string"}}},{"description":"Maximum number of items to return. Zero or unspecified indicates that the\nserver may assign a maximum.\n\nThe server may return fewer than the specified number of results.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"nextPageToken\nvalue returned from a previous\nlist call,\nindicating that the subsequent page of results should be returned.\n\nThe list request must be\notherwise 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\nidentifier. The identifier can be one of the following:\n\n* the numeric identifier for the user\n* the email address of the user\n* 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\nidentifier. The identifier can be one of the following:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user","in":"query","name":"teacherId","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ListCoursesResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.courses"]},{"Oauth2":["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/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Creates a course.\n\nThe user specified in `ownerId` is the owner of the created course\nand added as a teacher.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to create\ncourses or for access errors.\n* `NOT_FOUND` if the primary teacher is not a valid user.\n* `FAILED_PRECONDITION` if the course owner's account is disabled or for\nthe following request errors:\n * UserGroupsMembershipLimitReached\n* `ALREADY_EXISTS` if an alias was specified in the `id` and\nalready exists.","operationId":"classroom.courses.create","requestBody":{"$ref":"#/components/requestBodies/Course"},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Course"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.courses"]}],"tags":["courses"]}},"/v1/courses/{courseId}/aliases":{"get":{"description":"Returns a list of aliases for a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\ncourse or for access errors.\n* `NOT_FOUND` if the course does not exist.","operationId":"classroom.courses.aliases.list","parameters":[{"description":"The identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Maximum number of items to return. Zero or unspecified indicates that the\nserver may assign a maximum.\n\nThe server may return fewer than the specified number of results.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"nextPageToken\nvalue returned from a previous\nlist call,\nindicating that the subsequent page of results should be returned.\n\nThe list request\nmust be otherwise identical to the one that resulted in this token.","in":"query","name":"pageToken","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ListCourseAliasesResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.courses"]},{"Oauth2":["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/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Creates an alias for a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to create the\nalias or for access errors.\n* `NOT_FOUND` if the course does not exist.\n* `ALREADY_EXISTS` if the alias already exists.\n* `FAILED_PRECONDITION` if the alias requested does not make sense for the\n requesting user or course (for example, if a user not in a domain\n attempts to access a domain-scoped alias).","operationId":"classroom.courses.aliases.create","parameters":[{"description":"Identifier of the course to alias.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourseAlias"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CourseAlias"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.courses"]}],"tags":["courses"]}},"/v1/courses/{courseId}/aliases/{alias}":{"delete":{"description":"Deletes an alias of a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to remove the\nalias or for access errors.\n* `NOT_FOUND` if the alias does not exist.\n* `FAILED_PRECONDITION` if the alias requested does not make sense for the\n requesting user or course (for example, if a user not in a domain\n attempts to delete a domain-scoped alias).","operationId":"classroom.courses.aliases.delete","parameters":[{"description":"Alias to delete.\nThis may not be the Classroom-assigned identifier.","in":"path","name":"alias","required":true,"schema":{"type":"string"}},{"description":"Identifier of the course whose alias should be deleted.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Empty"}}}}},"security":[{"Oauth2":["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/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}]},"/v1/courses/{courseId}/announcements":{"get":{"description":"Returns a list of announcements that the requester is permitted to view.\n\nCourse students may only view `PUBLISHED` announcements. Course teachers\nand domain administrators may view all announcements.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access\nthe requested course or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course does not exist.","operationId":"classroom.courses.announcements.list","parameters":[{"description":"Restriction on the `state` of announcements returned.\nIf this argument is left unspecified, the default value is `PUBLISHED`.","in":"query","name":"announcementStates","explode":true,"schema":{"type":"array","items":{"enum":["ANNOUNCEMENT_STATE_UNSPECIFIED","PUBLISHED","DRAFT","DELETED"],"type":"string"}}},{"description":"Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Optional sort ordering for results. A comma-separated list of fields with\nan optional sort direction keyword. Supported field is `updateTime`.\nSupported direction keywords are `asc` and `desc`.\nIf not specified, `updateTime desc` is the default behavior.\nExamples: `updateTime asc`, `updateTime`","in":"query","name":"orderBy","schema":{"type":"string"}},{"description":"Maximum number of items to return. Zero or unspecified indicates that the\nserver may assign a maximum.\n\nThe server may return fewer than the specified number of results.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"nextPageToken\nvalue returned from a previous\nlist call,\nindicating that the subsequent page of results should be returned.\n\nThe list request\nmust be otherwise identical to the one that resulted in this token.","in":"query","name":"pageToken","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ListAnnouncementsResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.announcements"]},{"Oauth2":["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/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Creates an announcement.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course, create announcements in the requested course, share a\nDrive attachment, or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course does not exist.\n* `FAILED_PRECONDITION` for the following request error:\n * AttachmentNotVisible","operationId":"classroom.courses.announcements.create","parameters":[{"description":"Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/Announcement"},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Announcement"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.announcements"]}],"tags":["courses"]}},"/v1/courses/{courseId}/announcements/{id}":{"delete":{"description":"Deletes an announcement.\n\nThis request must be made by the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\ncreate the corresponding announcement item.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting developer project did not create\nthe corresponding announcement, if the requesting user is not permitted\nto delete the requested course or for access errors.\n* `FAILED_PRECONDITION` if the requested announcement has already been\ndeleted.\n* `NOT_FOUND` if no course exists with the requested ID.","operationId":"classroom.courses.announcements.delete","parameters":[{"description":"Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Identifier of the announcement to delete.\nThis identifier is a Classroom-assigned identifier.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Empty"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.announcements"]}],"tags":["courses"]},"get":{"description":"Returns an announcement.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or announcement, or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course or announcement does not exist.","operationId":"classroom.courses.announcements.get","parameters":[{"description":"Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.","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":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Announcement"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.announcements"]},{"Oauth2":["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/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"patch":{"description":"Updates one or more fields of an announcement.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting developer project did not create\nthe corresponding announcement or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `FAILED_PRECONDITION` if the requested announcement has already been\ndeleted.\n* `NOT_FOUND` if the requested course or announcement does not exist","operationId":"classroom.courses.announcements.patch","parameters":[{"description":"Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.","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.\nThis field is required to do an update. The update fails if invalid\nfields are specified. If a field supports empty values, it can be cleared\nby specifying it in the update mask and not in the Announcement object. If\na field that does not support empty values is included in the update mask\nand not set in the Announcement object, an `INVALID_ARGUMENT` error will be\nreturned.\n\nThe following fields may be specified by teachers:\n\n* `text`\n* `state`\n* `scheduled_time`","in":"query","name":"updateMask","schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/Announcement"},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Announcement"}}}}},"security":[{"Oauth2":["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/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Modifies assignee mode and options of an announcement.\n\nOnly a teacher of the course that contains the announcement may\ncall this method.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or course work or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course or course work does not exist.","operationId":"classroom.courses.announcements.modifyAssignees","parameters":[{"description":"Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.","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":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Announcement"}}}}},"security":[{"Oauth2":["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.\n\nCourse students may only view `PUBLISHED` course work. Course teachers\nand domain administrators may view all course work.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access\nthe requested course or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course does not exist.","operationId":"classroom.courses.courseWork.list","parameters":[{"description":"Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Restriction on the work status to return. Only courseWork that matches\nis returned. If unspecified, items with a work status of `PUBLISHED`\nis returned.","in":"query","name":"courseWorkStates","explode":true,"schema":{"type":"array","items":{"enum":["COURSE_WORK_STATE_UNSPECIFIED","PUBLISHED","DRAFT","DELETED"],"type":"string"}}},{"description":"Optional sort ordering for results. A comma-separated list of fields with\nan optional sort direction keyword. Supported fields are `updateTime`\nand `dueDate`. Supported direction keywords are `asc` and `desc`.\nIf not specified, `updateTime desc` is the default behavior.\nExamples: `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\nserver may assign a maximum.\n\nThe server may return fewer than the specified number of results.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"nextPageToken\nvalue returned from a previous\nlist call,\nindicating that the subsequent page of results should be returned.\n\nThe list request\nmust be otherwise identical to the one that resulted in this token.","in":"query","name":"pageToken","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ListCourseWorkResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.me"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.me.readonly"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.students"]},{"Oauth2":["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/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Creates course work.\n\nThe resulting course work (and corresponding student submissions) are\nassociated with the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\nmake the request. Classroom API requests to modify course work and student\nsubmissions must be made with an OAuth client ID from the associated\nDeveloper Console project.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course, create course work in the requested course, share a\nDrive attachment, or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course does not exist.\n* `FAILED_PRECONDITION` for the following request error:\n * AttachmentNotVisible","operationId":"classroom.courses.courseWork.create","parameters":[{"description":"Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/CourseWork"},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CourseWork"}}}}},"security":[{"Oauth2":["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\nview, factoring in the OAuth scopes of the request.\n`-` may be specified as the `course_work_id` to include student\nsubmissions for multiple course work items.\n\nCourse students may only view their own work. Course teachers\nand domain administrators may view all student submissions.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or course work, or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course does not exist.","operationId":"classroom.courses.courseWork.studentSubmissions.list","parameters":[{"description":"Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Identifier of the student work to request.\nThis may be set to the string literal `\"-\"` to request student work for\nall 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\nrestricted by the requested value.\nIf unspecified, submissions are returned regardless of `late` value.","in":"query","name":"late","schema":{"type":"string","enum":["LATE_VALUES_UNSPECIFIED","LATE_ONLY","NOT_LATE_ONLY"]}},{"description":"Maximum number of items to return. Zero or unspecified indicates that the\nserver may assign a maximum.\n\nThe server may return fewer than the specified number of results.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"nextPageToken\nvalue returned from a previous\nlist call,\nindicating that the subsequent page of results should be returned.\n\nThe list request\nmust 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\nmatch one of the specified submission states.","in":"query","name":"states","explode":true,"schema":{"type":"array","items":{"enum":["SUBMISSION_STATE_UNSPECIFIED","NEW","CREATED","TURNED_IN","RETURNED","RECLAIMED_BY_STUDENT"],"type":"string"}}},{"description":"Optional argument to restrict returned student work to those owned by the\nstudent with the specified identifier. The identifier can be one of the\nfollowing:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user","in":"query","name":"userId","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ListStudentSubmissionsResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.me"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.me.readonly"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.students"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.students.readonly"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.student-submissions.me.readonly"]},{"Oauth2":["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/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}]},"/v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}":{"get":{"description":"Returns a student submission.\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course, course work, or student submission or for\naccess errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course, course work, or student submission\ndoes not exist.","operationId":"classroom.courses.courseWork.studentSubmissions.get","parameters":[{"description":"Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.","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":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StudentSubmission"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.me"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.me.readonly"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.students"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.students.readonly"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.student-submissions.me.readonly"]},{"Oauth2":["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/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"patch":{"description":"Updates one or more fields of a student submission.\n\nSee google.classroom.v1.StudentSubmission for details\nof which fields may be updated and who may change them.\n\nThis request must be made by the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\ncreate the corresponding course work item.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting developer project did not create\nthe corresponding course work, if the user is not permitted to make the\nrequested modification to the student submission, or for\naccess errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course, course work, or student submission\ndoes not exist.","operationId":"classroom.courses.courseWork.studentSubmissions.patch","parameters":[{"description":"Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.","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.\nThis field is required to do an update. The update fails if invalid\nfields are specified.\n\nThe following fields may be specified by teachers:\n\n* `draft_grade`\n* `assigned_grade`","in":"query","name":"updateMask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudentSubmission"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StudentSubmission"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.me"]},{"Oauth2":["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/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Modifies attachments of student submission.\n\nAttachments may only be added to student submissions belonging to course\nwork objects with a `workType` of `ASSIGNMENT`.\n\nThis request must be made by the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\ncreate the corresponding course work item.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or course work, if the user is not permitted to modify\nattachments on the requested student submission, or for\naccess errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course, course work, or student submission\ndoes not exist.","operationId":"classroom.courses.courseWork.studentSubmissions.modifyAttachments","parameters":[{"description":"Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.","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":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StudentSubmission"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.me"]},{"Oauth2":["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/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Reclaims a student submission on behalf of the student that owns it.\n\nReclaiming a student submission transfers ownership of attached Drive\nfiles to the student and updates the submission state.\n\nOnly the student that owns the requested student submission may call this\nmethod, and only for a student submission that has been turned in.\n\nThis request must be made by the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\ncreate the corresponding course work item.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or course work, unsubmit the requested student submission,\nor for access errors.\n* `FAILED_PRECONDITION` if the student submission has not been turned in.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course, course work, or student submission\ndoes not exist.","operationId":"classroom.courses.courseWork.studentSubmissions.reclaim","parameters":[{"description":"Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.","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":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Empty"}}}}},"security":[{"Oauth2":["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/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Returns a student submission.\n\nReturning a student submission transfers ownership of attached Drive\nfiles to the student and may also update the submission state.\nUnlike the Classroom application, returning a student submission does not\nset assignedGrade to the draftGrade value.\n\nOnly a teacher of the course that contains the requested student submission\nmay call this method.\n\nThis request must be made by the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\ncreate the corresponding course work item.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or course work, return the requested student submission,\nor for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course, course work, or student submission\ndoes not exist.","operationId":"classroom.courses.courseWork.studentSubmissions.return","parameters":[{"description":"Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.","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":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Empty"}}}}},"security":[{"Oauth2":["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/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Turns in a student submission.\n\nTurning in a student submission transfers ownership of attached Drive\nfiles to the teacher and may also update the submission state.\n\nThis may only be called by the student that owns the specified student\nsubmission.\n\nThis request must be made by the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\ncreate the corresponding course work item.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or course work, turn in the requested student submission,\nor for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course, course work, or student submission\ndoes not exist.","operationId":"classroom.courses.courseWork.studentSubmissions.turnIn","parameters":[{"description":"Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.","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":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Empty"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.me"]}],"tags":["courses"]}},"/v1/courses/{courseId}/courseWork/{id}":{"delete":{"description":"Deletes a course work.\n\nThis request must be made by the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\ncreate the corresponding course work item.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting developer project did not create\nthe corresponding course work, if the requesting user is not permitted\nto delete the requested course or for access errors.\n* `FAILED_PRECONDITION` if the requested course work has already been\ndeleted.\n* `NOT_FOUND` if no course exists with the requested ID.","operationId":"classroom.courses.courseWork.delete","parameters":[{"description":"Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Identifier of the course work to delete.\nThis identifier is a Classroom-assigned identifier.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Empty"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.students"]}],"tags":["courses"]},"get":{"description":"Returns course work.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or course work, or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course or course work does not exist.","operationId":"classroom.courses.courseWork.get","parameters":[{"description":"Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.","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":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CourseWork"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.me"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.me.readonly"]},{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.students"]},{"Oauth2":["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/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"patch":{"description":"Updates one or more fields of a course work.\n\nSee google.classroom.v1.CourseWork for details\nof which fields may be updated and who may change them.\n\nThis request must be made by the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\ncreate the corresponding course work item.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting developer project did not create\nthe corresponding course work, if the user is not permitted to make the\nrequested modification to the student submission, or for\naccess errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `FAILED_PRECONDITION` if the requested course work has already been\ndeleted.\n* `NOT_FOUND` if the requested course, course work, or student submission\ndoes not exist.","operationId":"classroom.courses.courseWork.patch","parameters":[{"description":"Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Identifier of the course work.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Mask that identifies which fields on the course work to update.\nThis field is required to do an update. The update fails if invalid\nfields are specified. If a field supports empty values, it can be cleared\nby specifying it in the update mask and not in the CourseWork object. If a\nfield that does not support empty values is included in the update mask and\nnot set in the CourseWork object, an `INVALID_ARGUMENT` error will be\nreturned.\n\nThe following fields may be specified by teachers:\n\n* `title`\n* `description`\n* `state`\n* `due_date`\n* `due_time`\n* `max_points`\n* `scheduled_time`\n* `submission_modification_mode`","in":"query","name":"updateMask","schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/CourseWork"},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CourseWork"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.students"]}],"tags":["courses"]}},"/v1/courses/{courseId}/courseWork/{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/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Modifies assignee mode and options of a coursework.\n\nOnly a teacher of the course that contains the coursework may\ncall this method.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or course work or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course or course work does not exist.","operationId":"classroom.courses.courseWork.modifyAssignees","parameters":[{"description":"Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Identifier of the coursework.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModifyCourseWorkAssigneesRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CourseWork"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/classroom.coursework.students"]}],"tags":["courses"]}},"/v1/courses/{courseId}/students":{"get":{"description":"Returns a list of students of this course that the requester\nis permitted to view.\n\nThis method returns the following error codes:\n\n* `NOT_FOUND` if the course does not exist.\n* `PERMISSION_DENIED` for access errors.","operationId":"classroom.courses.students.list","parameters":[{"description":"Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.","in":"path","name":"courseId","required":true,"schema":{"type":"string"}},{"description":"Maximum number of items to return. Zero means no maximum.\n\nThe server may return fewer than the specified number of results.","in":"query","name":"pageSize","schema":{"type":"int