{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/classroom.announcements": {
          "description": "View and manage announcements in Google Classroom"
        },
        "https://www.googleapis.com/auth/classroom.announcements.readonly": {
          "description": "View announcements in Google Classroom"
        },
        "https://www.googleapis.com/auth/classroom.courses": {
          "description": "Manage your Google Classroom classes"
        },
        "https://www.googleapis.com/auth/classroom.courses.readonly": {
          "description": "View your Google Classroom classes"
        },
        "https://www.googleapis.com/auth/classroom.coursework.me": {
          "description": "Manage your course work and view your grades in Google Classroom"
        },
        "https://www.googleapis.com/auth/classroom.coursework.me.readonly": {
          "description": "View your course work and grades in Google Classroom"
        },
        "https://www.googleapis.com/auth/classroom.coursework.students": {
          "description": "Manage course work and grades for students in the Google Classroom classes you teach and view the course work and grades for classes you administer"
        },
        "https://www.googleapis.com/auth/classroom.coursework.students.readonly": {
          "description": "View course work and grades for students in the Google Classroom classes you teach or administer"
        },
        "https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly": {
          "description": "View your Google Classroom guardians"
        },
        "https://www.googleapis.com/auth/classroom.guardianlinks.students": {
          "description": "View and manage guardians for students in your Google Classroom classes"
        },
        "https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly": {
          "description": "View guardians for students in your Google Classroom classes"
        },
        "https://www.googleapis.com/auth/classroom.profile.emails": {
          "description": "View the email addresses of people in your classes"
        },
        "https://www.googleapis.com/auth/classroom.profile.photos": {
          "description": "View the profile photos of people in your classes"
        },
        "https://www.googleapis.com/auth/classroom.push-notifications": {
          "description": "Receive notifications about your Google Classroom data"
        },
        "https://www.googleapis.com/auth/classroom.rosters": {
          "description": "Manage your Google Classroom class rosters"
        },
        "https://www.googleapis.com/auth/classroom.rosters.readonly": {
          "description": "View your Google Classroom class rosters"
        },
        "https://www.googleapis.com/auth/classroom.student-submissions.me.readonly": {
          "description": "View your course work and grades in Google Classroom"
        },
        "https://www.googleapis.com/auth/classroom.student-submissions.students.readonly": {
          "description": "View course work and grades for students in the Google Classroom classes you teach or administer"
        },
        "https://www.googleapis.com/auth/classroom.topics": {
          "description": "See, create, and edit topics in Google Classroom"
        },
        "https://www.googleapis.com/auth/classroom.topics.readonly": {
          "description": "View topics in Google Classroom"
        }
      }
    }
  },
  "basePath": "",
  "baseUrl": "https://classroom.googleapis.com/",
  "batchPath": "batch",
  "description": "Manages classes, rosters, and invitations in Google Classroom.",
  "discoveryVersion": "v1",
  "documentationLink": "https://developers.google.com/classroom/",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "id": "classroom:v1",
  "kind": "discovery#restDescription",
  "mtlsRootUrl": "https://classroom.mtls.googleapis.com/",
  "name": "classroom",
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "parameters": {
    "$.xgafv": {
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "default": "json",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query",
      "type": "string"
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "resources": {
    "courses": {
      "methods": {
        "create": {
          "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.",
          "flatPath": "v1/courses",
          "httpMethod": "POST",
          "id": "classroom.courses.create",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1/courses",
          "request": {
            "$ref": "Course"
          },
          "response": {
            "$ref": "Course"
          },
          "scopes": [
            "https://www.googleapis.com/auth/classroom.courses"
          ]
        },
        "delete": {
          "description": "Deletes a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to delete the\nrequested course or for access errors.\n* `NOT_FOUND` if no course exists with the requested ID.",
          "flatPath": "v1/courses/{id}",
          "httpMethod": "DELETE",
          "id": "classroom.courses.delete",
          "parameterOrder": [
            "id"
          ],
          "parameters": {
            "id": {
              "description": "Identifier of the course to delete.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/courses/{id}",
          "response": {
            "$ref": "Empty"
          },
          "scopes": [
            "https://www.googleapis.com/auth/classroom.courses"
          ]
        },
        "get": {
          "description": "Returns a course.\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 for access errors.\n* `NOT_FOUND` if no course exists with the requested ID.",
          "flatPath": "v1/courses/{id}",
          "httpMethod": "GET",
          "id": "classroom.courses.get",
          "parameterOrder": [
            "id"
          ],
          "parameters": {
            "id": {
              "description": "Identifier of the course to return.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/courses/{id}",
          "response": {
            "$ref": "Course"
          },
          "scopes": [
            "https://www.googleapis.com/auth/classroom.courses",
            "https://www.googleapis.com/auth/classroom.courses.readonly"
          ]
        },
        "list": {
          "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.",
          "flatPath": "v1/courses",
          "httpMethod": "GET",
          "id": "classroom.courses.list",
          "parameterOrder": [],
          "parameters": {
            "courseStates": {
              "description": "Restricts returned courses to those in one of the specified states\nThe default value is ACTIVE, ARCHIVED, PROVISIONED, DECLINED.",
              "enum": [
                "COURSE_STATE_UNSPECIFIED",
                "ACTIVE",
                "ARCHIVED",
                "PROVISIONED",
                "DECLINED",
                "SUSPENDED"
              ],
              "location": "query",
              "repeated": true,
              "type": "string"
            },
            "pageSize": {
              "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.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "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.",
              "location": "query",
              "type": "string"
            },
            "studentId": {
              "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",
              "location": "query",
              "type": "string"
            },
            "teacherId": {
              "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",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/courses",
          "response": {
            "$ref": "ListCoursesResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/classroom.courses",
            "https://www.googleapis.com/auth/classroom.courses.readonly"
          ]
        },
        "patch": {
          "description": "Updates one or more fields in a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to modify the\nrequested course or for access errors.\n* `NOT_FOUND` if no course exists with the requested ID.\n* `INVALID_ARGUMENT` if invalid fields are specified in the update mask or\nif no update mask is supplied.\n* `FAILED_PRECONDITION` for the following request errors:\n    * CourseNotModifiable",
          "flatPath": "v1/courses/{id}",
          "httpMethod": "PATCH",
          "id": "classroom.courses.patch",
          "parameterOrder": [
            "id"
          ],
          "parameters": {
            "id": {
              "description": "Identifier of the course to update.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "updateMask": {
              "description": "Mask that identifies which fields on the course to update.\nThis field is required to do an update. The update will fail if invalid\nfields are specified. The following fields are valid:\n\n* `name`\n* `section`\n* `descriptionHeading`\n* `description`\n* `room`\n* `courseState`\n* `ownerId`\n\nNote: patches to ownerId are treated as being effective immediately, but in\npractice it may take some time for the ownership transfer of all affected\nresources to complete.\n\nWhen set in a query parameter, this field should be specified as\n\n`updateMask=\u003cfield1\u003e,\u003cfield2\u003e,...`",
              "format": "google-fieldmask",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/courses/{id}",
          "request": {
            "$ref": "Course"
          },
          "response": {
            "$ref": "Course"
          },
          "scopes": [
            "https://www.googleapis.com/auth/classroom.courses"
          ]
        },
        "update": {
          "description": "Updates a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to modify the\nrequested course or for access errors.\n* `NOT_FOUND` if no course exists with the requested ID.\n* `FAILED_PRECONDITION` for the following request errors:\n    * CourseNotModifiable",
          "flatPath": "v1/courses/{id}",
          "httpMethod": "PUT",
          "id": "classroom.courses.update",
          "parameterOrder": [
            "id"
          ],
          "parameters": {
            "id": {
              "description": "Identifier of the course to update.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/courses/{id}",
          "request": {
            "$ref": "Course"
          },
          "response": {
            "$ref": "Course"
          },
          "scopes": [
            "https://www.googleapis.com/auth/classroom.courses"
          ]
        }
      },
      "resources": {
        "aliases": {
          "methods": {
            "create": {
              "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).",
              "flatPath": "v1/courses/{courseId}/aliases",
              "httpMethod": "POST",
              "id": "classroom.courses.aliases.create",
              "parameterOrder": [
                "courseId"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course to alias.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/aliases",
              "request": {
                "$ref": "CourseAlias"
              },
              "response": {
                "$ref": "CourseAlias"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.courses"
              ]
            },
            "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).",
              "flatPath": "v1/courses/{courseId}/aliases/{alias}",
              "httpMethod": "DELETE",
              "id": "classroom.courses.aliases.delete",
              "parameterOrder": [
                "courseId",
                "alias"
              ],
              "parameters": {
                "alias": {
                  "description": "Alias to delete.\nThis may not be the Classroom-assigned identifier.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "courseId": {
                  "description": "Identifier of the course whose alias should be deleted.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/aliases/{alias}",
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.courses"
              ]
            },
            "list": {
              "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.",
              "flatPath": "v1/courses/{courseId}/aliases",
              "httpMethod": "GET",
              "id": "classroom.courses.aliases.list",
              "parameterOrder": [
                "courseId"
              ],
              "parameters": {
                "courseId": {
                  "description": "The identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "pageSize": {
                  "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.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "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.",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/aliases",
              "response": {
                "$ref": "ListCourseAliasesResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.courses",
                "https://www.googleapis.com/auth/classroom.courses.readonly"
              ]
            }
          }
        },
        "announcements": {
          "methods": {
            "create": {
              "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",
              "flatPath": "v1/courses/{courseId}/announcements",
              "httpMethod": "POST",
              "id": "classroom.courses.announcements.create",
              "parameterOrder": [
                "courseId"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/announcements",
              "request": {
                "$ref": "Announcement"
              },
              "response": {
                "$ref": "Announcement"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.announcements"
              ]
            },
            "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.",
              "flatPath": "v1/courses/{courseId}/announcements/{id}",
              "httpMethod": "DELETE",
              "id": "classroom.courses.announcements.delete",
              "parameterOrder": [
                "courseId",
                "id"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "id": {
                  "description": "Identifier of the announcement to delete.\nThis identifier is a Classroom-assigned identifier.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/announcements/{id}",
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.announcements"
              ]
            },
            "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.",
              "flatPath": "v1/courses/{courseId}/announcements/{id}",
              "httpMethod": "GET",
              "id": "classroom.courses.announcements.get",
              "parameterOrder": [
                "courseId",
                "id"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "id": {
                  "description": "Identifier of the announcement.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/announcements/{id}",
              "response": {
                "$ref": "Announcement"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.announcements",
                "https://www.googleapis.com/auth/classroom.announcements.readonly"
              ]
            },
            "list": {
              "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.",
              "flatPath": "v1/courses/{courseId}/announcements",
              "httpMethod": "GET",
              "id": "classroom.courses.announcements.list",
              "parameterOrder": [
                "courseId"
              ],
              "parameters": {
                "announcementStates": {
                  "description": "Restriction on the `state` of announcements returned.\nIf this argument is left unspecified, the default value is `PUBLISHED`.",
                  "enum": [
                    "ANNOUNCEMENT_STATE_UNSPECIFIED",
                    "PUBLISHED",
                    "DRAFT",
                    "DELETED"
                  ],
                  "location": "query",
                  "repeated": true,
                  "type": "string"
                },
                "courseId": {
                  "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "orderBy": {
                  "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`",
                  "location": "query",
                  "type": "string"
                },
                "pageSize": {
                  "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.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "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.",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/announcements",
              "response": {
                "$ref": "ListAnnouncementsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.announcements",
                "https://www.googleapis.com/auth/classroom.announcements.readonly"
              ]
            },
            "modifyAssignees": {
              "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.",
              "flatPath": "v1/courses/{courseId}/announcements/{id}:modifyAssignees",
              "httpMethod": "POST",
              "id": "classroom.courses.announcements.modifyAssignees",
              "parameterOrder": [
                "courseId",
                "id"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "id": {
                  "description": "Identifier of the announcement.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/announcements/{id}:modifyAssignees",
              "request": {
                "$ref": "ModifyAnnouncementAssigneesRequest"
              },
              "response": {
                "$ref": "Announcement"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.announcements"
              ]
            },
            "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",
              "flatPath": "v1/courses/{courseId}/announcements/{id}",
              "httpMethod": "PATCH",
              "id": "classroom.courses.announcements.patch",
              "parameterOrder": [
                "courseId",
                "id"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "id": {
                  "description": "Identifier of the announcement.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "updateMask": {
                  "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`",
                  "format": "google-fieldmask",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/announcements/{id}",
              "request": {
                "$ref": "Announcement"
              },
              "response": {
                "$ref": "Announcement"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.announcements"
              ]
            }
          }
        },
        "courseWork": {
          "methods": {
            "create": {
              "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",
              "flatPath": "v1/courses/{courseId}/courseWork",
              "httpMethod": "POST",
              "id": "classroom.courses.courseWork.create",
              "parameterOrder": [
                "courseId"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/courseWork",
              "request": {
                "$ref": "CourseWork"
              },
              "response": {
                "$ref": "CourseWork"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.coursework.students"
              ]
            },
            "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.",
              "flatPath": "v1/courses/{courseId}/courseWork/{id}",
              "httpMethod": "DELETE",
              "id": "classroom.courses.courseWork.delete",
              "parameterOrder": [
                "courseId",
                "id"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "id": {
                  "description": "Identifier of the course work to delete.\nThis identifier is a Classroom-assigned identifier.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/courseWork/{id}",
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.coursework.students"
              ]
            },
            "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.",
              "flatPath": "v1/courses/{courseId}/courseWork/{id}",
              "httpMethod": "GET",
              "id": "classroom.courses.courseWork.get",
              "parameterOrder": [
                "courseId",
                "id"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "id": {
                  "description": "Identifier of the course work.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/courseWork/{id}",
              "response": {
                "$ref": "CourseWork"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.coursework.me",
                "https://www.googleapis.com/auth/classroom.coursework.me.readonly",
                "https://www.googleapis.com/auth/classroom.coursework.students",
                "https://www.googleapis.com/auth/classroom.coursework.students.readonly"
              ]
            },
            "list": {
              "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.",
              "flatPath": "v1/courses/{courseId}/courseWork",
              "httpMethod": "GET",
              "id": "classroom.courses.courseWork.list",
              "parameterOrder": [
                "courseId"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "courseWorkStates": {
                  "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.",
                  "enum": [
                    "COURSE_WORK_STATE_UNSPECIFIED",
                    "PUBLISHED",
                    "DRAFT",
                    "DELETED"
                  ],
                  "location": "query",
                  "repeated": true,
                  "type": "string"
                },
                "orderBy": {
                  "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`",
                  "location": "query",
                  "type": "string"
                },
                "pageSize": {
                  "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.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "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.",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/courseWork",
              "response": {
                "$ref": "ListCourseWorkResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.coursework.me",
                "https://www.googleapis.com/auth/classroom.coursework.me.readonly",
                "https://www.googleapis.com/auth/classroom.coursework.students",
                "https://www.googleapis.com/auth/classroom.coursework.students.readonly"
              ]
            },
            "modifyAssignees": {
              "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.",
              "flatPath": "v1/courses/{courseId}/courseWork/{id}:modifyAssignees",
              "httpMethod": "POST",
              "id": "classroom.courses.courseWork.modifyAssignees",
              "parameterOrder": [
                "courseId",
                "id"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "id": {
                  "description": "Identifier of the coursework.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/courseWork/{id}:modifyAssignees",
              "request": {
                "$ref": "ModifyCourseWorkAssigneesRequest"
              },
              "response": {
                "$ref": "CourseWork"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.coursework.students"
              ]
            },
            "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.",
              "flatPath": "v1/courses/{courseId}/courseWork/{id}",
              "httpMethod": "PATCH",
              "id": "classroom.courses.courseWork.patch",
              "parameterOrder": [
                "courseId",
                "id"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "id": {
                  "description": "Identifier of the course work.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "updateMask": {
                  "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`\n* `topic_id`",
                  "format": "google-fieldmask",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/courseWork/{id}",
              "request": {
                "$ref": "CourseWork"
              },
              "response": {
                "$ref": "CourseWork"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.coursework.students"
              ]
            }
          },
          "resources": {
            "studentSubmissions": {
              "methods": {
                "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.",
                  "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}",
                  "httpMethod": "GET",
                  "id": "classroom.courses.courseWork.studentSubmissions.get",
                  "parameterOrder": [
                    "courseId",
                    "courseWorkId",
                    "id"
                  ],
                  "parameters": {
                    "courseId": {
                      "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "courseWorkId": {
                      "description": "Identifier of the course work.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "id": {
                      "description": "Identifier of the student submission.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}",
                  "response": {
                    "$ref": "StudentSubmission"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/classroom.coursework.me",
                    "https://www.googleapis.com/auth/classroom.coursework.me.readonly",
                    "https://www.googleapis.com/auth/classroom.coursework.students",
                    "https://www.googleapis.com/auth/classroom.coursework.students.readonly",
                    "https://www.googleapis.com/auth/classroom.student-submissions.me.readonly",
                    "https://www.googleapis.com/auth/classroom.student-submissions.students.readonly"
                  ]
                },
                "list": {
                  "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.",
                  "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions",
                  "httpMethod": "GET",
                  "id": "classroom.courses.courseWork.studentSubmissions.list",
                  "parameterOrder": [
                    "courseId",
                    "courseWorkId"
                  ],
                  "parameters": {
                    "courseId": {
                      "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "courseWorkId": {
                      "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.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "late": {
                      "description": "Requested lateness value. If specified, returned student submissions are\nrestricted by the requested value.\nIf unspecified, submissions are returned regardless of `late` value.",
                      "enum": [
                        "LATE_VALUES_UNSPECIFIED",
                        "LATE_ONLY",
                        "NOT_LATE_ONLY"
                      ],
                      "location": "query",
                      "type": "string"
                    },
                    "pageSize": {
                      "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.",
                      "format": "int32",
                      "location": "query",
                      "type": "integer"
                    },
                    "pageToken": {
                      "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.",
                      "location": "query",
                      "type": "string"
                    },
                    "states": {
                      "description": "Requested submission states. If specified, returned student submissions\nmatch one of the specified submission states.",
                      "enum": [
                        "SUBMISSION_STATE_UNSPECIFIED",
                        "NEW",
                        "CREATED",
                        "TURNED_IN",
                        "RETURNED",
                        "RECLAIMED_BY_STUDENT"
                      ],
                      "location": "query",
                      "repeated": true,
                      "type": "string"
                    },
                    "userId": {
                      "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",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions",
                  "response": {
                    "$ref": "ListStudentSubmissionsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/classroom.coursework.me",
                    "https://www.googleapis.com/auth/classroom.coursework.me.readonly",
                    "https://www.googleapis.com/auth/classroom.coursework.students",
                    "https://www.googleapis.com/auth/classroom.coursework.students.readonly",
                    "https://www.googleapis.com/auth/classroom.student-submissions.me.readonly",
                    "https://www.googleapis.com/auth/classroom.student-submissions.students.readonly"
                  ]
                },
                "modifyAttachments": {
                  "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.",
                  "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:modifyAttachments",
                  "httpMethod": "POST",
                  "id": "classroom.courses.courseWork.studentSubmissions.modifyAttachments",
                  "parameterOrder": [
                    "courseId",
                    "courseWorkId",
                    "id"
                  ],
                  "parameters": {
                    "courseId": {
                      "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "courseWorkId": {
                      "description": "Identifier of the course work.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "id": {
                      "description": "Identifier of the student submission.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:modifyAttachments",
                  "request": {
                    "$ref": "ModifyAttachmentsRequest"
                  },
                  "response": {
                    "$ref": "StudentSubmission"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/classroom.coursework.me",
                    "https://www.googleapis.com/auth/classroom.coursework.students"
                  ]
                },
                "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.",
                  "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}",
                  "httpMethod": "PATCH",
                  "id": "classroom.courses.courseWork.studentSubmissions.patch",
                  "parameterOrder": [
                    "courseId",
                    "courseWorkId",
                    "id"
                  ],
                  "parameters": {
                    "courseId": {
                      "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "courseWorkId": {
                      "description": "Identifier of the course work.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "id": {
                      "description": "Identifier of the student submission.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "updateMask": {
                      "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`",
                      "format": "google-fieldmask",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}",
                  "request": {
                    "$ref": "StudentSubmission"
                  },
                  "response": {
                    "$ref": "StudentSubmission"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/classroom.coursework.me",
                    "https://www.googleapis.com/auth/classroom.coursework.students"
                  ]
                },
                "reclaim": {
                  "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.",
                  "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:reclaim",
                  "httpMethod": "POST",
                  "id": "classroom.courses.courseWork.studentSubmissions.reclaim",
                  "parameterOrder": [
                    "courseId",
                    "courseWorkId",
                    "id"
                  ],
                  "parameters": {
                    "courseId": {
                      "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "courseWorkId": {
                      "description": "Identifier of the course work.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "id": {
                      "description": "Identifier of the student submission.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:reclaim",
                  "request": {
                    "$ref": "ReclaimStudentSubmissionRequest"
                  },
                  "response": {
                    "$ref": "Empty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/classroom.coursework.me"
                  ]
                },
                "return": {
                  "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.",
                  "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:return",
                  "httpMethod": "POST",
                  "id": "classroom.courses.courseWork.studentSubmissions.return",
                  "parameterOrder": [
                    "courseId",
                    "courseWorkId",
                    "id"
                  ],
                  "parameters": {
                    "courseId": {
                      "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "courseWorkId": {
                      "description": "Identifier of the course work.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "id": {
                      "description": "Identifier of the student submission.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:return",
                  "request": {
                    "$ref": "ReturnStudentSubmissionRequest"
                  },
                  "response": {
                    "$ref": "Empty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/classroom.coursework.students"
                  ]
                },
                "turnIn": {
                  "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.",
                  "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:turnIn",
                  "httpMethod": "POST",
                  "id": "classroom.courses.courseWork.studentSubmissions.turnIn",
                  "parameterOrder": [
                    "courseId",
                    "courseWorkId",
                    "id"
                  ],
                  "parameters": {
                    "courseId": {
                      "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "courseWorkId": {
                      "description": "Identifier of the course work.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "id": {
                      "description": "Identifier of the student submission.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:turnIn",
                  "request": {
                    "$ref": "TurnInStudentSubmissionRequest"
                  },
                  "response": {
                    "$ref": "Empty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/classroom.coursework.me"
                  ]
                }
              }
            }
          }
        },
        "students": {
          "methods": {
            "create": {
              "description": "Adds a user as a student of a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to create\nstudents in this course or for access errors.\n* `NOT_FOUND` if the requested course ID does not exist.\n* `FAILED_PRECONDITION` if the requested user's account is disabled,\nfor the following request errors:\n    * CourseMemberLimitReached\n    * CourseNotModifiable\n    * UserGroupsMembershipLimitReached\n* `ALREADY_EXISTS` if the user is already a student or teacher in the\ncourse.",
              "flatPath": "v1/courses/{courseId}/students",
              "httpMethod": "POST",
              "id": "classroom.courses.students.create",
              "parameterOrder": [
                "courseId"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course to create the student in.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "enrollmentCode": {
                  "description": "Enrollment code of the course to create the student in.\nThis code is required if userId\ncorresponds to the requesting user; it may be omitted if the requesting\nuser has administrative permissions to create students for any user.",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/students",
              "request": {
                "$ref": "Student"
              },
              "response": {
                "$ref": "Student"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.profile.emails",
                "https://www.googleapis.com/auth/classroom.profile.photos",
                "https://www.googleapis.com/auth/classroom.rosters"
              ]
            },
            "delete": {
              "description": "Deletes a student of a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to delete\nstudents of this course or for access errors.\n* `NOT_FOUND` if no student of this course has the requested ID or if the\ncourse does not exist.",
              "flatPath": "v1/courses/{courseId}/students/{userId}",
              "httpMethod": "DELETE",
              "id": "classroom.courses.students.delete",
              "parameterOrder": [
                "courseId",
                "userId"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "userId": {
                  "description": "Identifier of the student to delete. 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",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/students/{userId}",
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.rosters"
              ]
            },
            "get": {
              "description": "Returns a student of a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to view\nstudents of this course or for access errors.\n* `NOT_FOUND` if no student of this course has the requested ID or if the\ncourse does not exist.",
              "flatPath": "v1/courses/{courseId}/students/{userId}",
              "httpMethod": "GET",
              "id": "classroom.courses.students.get",
              "parameterOrder": [
                "courseId",
                "userId"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "userId": {
                  "description": "Identifier of the student to return. 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",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/students/{userId}",
              "response": {
                "$ref": "Student"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.profile.emails",
                "https://www.googleapis.com/auth/classroom.profile.photos",
                "https://www.googleapis.com/auth/classroom.rosters",
                "https://www.googleapis.com/auth/classroom.rosters.readonly"
              ]
            },
            "list": {
              "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.",
              "flatPath": "v1/courses/{courseId}/students",
              "httpMethod": "GET",
              "id": "classroom.courses.students.list",
              "parameterOrder": [
                "courseId"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "pageSize": {
                  "description": "Maximum number of items to return. Zero means no maximum.\n\nThe server may return fewer than the specified number of results.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "nextPageToken\nvalue returned from a previous\nlist call, indicating that\nthe subsequent page of results should be returned.\n\nThe list request must be\notherwise identical to the one that resulted in this token.",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/students",
              "response": {
                "$ref": "ListStudentsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.profile.emails",
                "https://www.googleapis.com/auth/classroom.profile.photos",
                "https://www.googleapis.com/auth/classroom.rosters",
                "https://www.googleapis.com/auth/classroom.rosters.readonly"
              ]
            }
          }
        },
        "teachers": {
          "methods": {
            "create": {
              "description": "Creates a teacher of a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not  permitted to create\nteachers in this course or for access errors.\n* `NOT_FOUND` if the requested course ID does not exist.\n* `FAILED_PRECONDITION` if the requested user's account is disabled,\nfor the following request errors:\n    * CourseMemberLimitReached\n    * CourseNotModifiable\n    * CourseTeacherLimitReached\n    * UserGroupsMembershipLimitReached\n* `ALREADY_EXISTS` if the user is already a teacher or student in the\ncourse.",
              "flatPath": "v1/courses/{courseId}/teachers",
              "httpMethod": "POST",
              "id": "classroom.courses.teachers.create",
              "parameterOrder": [
                "courseId"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/teachers",
              "request": {
                "$ref": "Teacher"
              },
              "response": {
                "$ref": "Teacher"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.profile.emails",
                "https://www.googleapis.com/auth/classroom.profile.photos",
                "https://www.googleapis.com/auth/classroom.rosters"
              ]
            },
            "delete": {
              "description": "Deletes a teacher of a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to delete\nteachers of this course or for access errors.\n* `NOT_FOUND` if no teacher of this course has the requested ID or if the\ncourse does not exist.\n* `FAILED_PRECONDITION` if the requested ID belongs to the primary teacher\nof this course.",
              "flatPath": "v1/courses/{courseId}/teachers/{userId}",
              "httpMethod": "DELETE",
              "id": "classroom.courses.teachers.delete",
              "parameterOrder": [
                "courseId",
                "userId"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "userId": {
                  "description": "Identifier of the teacher to delete. 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",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/teachers/{userId}",
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.rosters"
              ]
            },
            "get": {
              "description": "Returns a teacher of a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to view\nteachers of this course or for access errors.\n* `NOT_FOUND` if no teacher of this course has the requested ID or if the\ncourse does not exist.",
              "flatPath": "v1/courses/{courseId}/teachers/{userId}",
              "httpMethod": "GET",
              "id": "classroom.courses.teachers.get",
              "parameterOrder": [
                "courseId",
                "userId"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "userId": {
                  "description": "Identifier of the teacher to return. 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",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/teachers/{userId}",
              "response": {
                "$ref": "Teacher"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.profile.emails",
                "https://www.googleapis.com/auth/classroom.profile.photos",
                "https://www.googleapis.com/auth/classroom.rosters",
                "https://www.googleapis.com/auth/classroom.rosters.readonly"
              ]
            },
            "list": {
              "description": "Returns a list of teachers 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.",
              "flatPath": "v1/courses/{courseId}/teachers",
              "httpMethod": "GET",
              "id": "classroom.courses.teachers.list",
              "parameterOrder": [
                "courseId"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "pageSize": {
                  "description": "Maximum number of items to return. Zero means no maximum.\n\nThe server may return fewer than the specified number of results.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "nextPageToken\nvalue returned from a previous\nlist call, indicating that\nthe subsequent page of results should be returned.\n\nThe list request must be\notherwise identical to the one that resulted in this token.",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/teachers",
              "response": {
                "$ref": "ListTeachersResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.profile.emails",
                "https://www.googleapis.com/auth/classroom.profile.photos",
                "https://www.googleapis.com/auth/classroom.rosters",
                "https://www.googleapis.com/auth/classroom.rosters.readonly"
              ]
            }
          }
        },
        "topics": {
          "methods": {
            "create": {
              "description": "Creates a topic.\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 a topic in the requested course,\nor for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course does not exist.",
              "flatPath": "v1/courses/{courseId}/topics",
              "httpMethod": "POST",
              "id": "classroom.courses.topics.create",
              "parameterOrder": [
                "courseId"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/topics",
              "request": {
                "$ref": "Topic"
              },
              "response": {
                "$ref": "Topic"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.topics"
              ]
            },
            "delete": {
              "description": "Deletes a topic.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not allowed to delete the\nrequested topic or for access errors.\n* `FAILED_PRECONDITION` if the requested topic has already been\ndeleted.\n* `NOT_FOUND` if no course or topic exists with the requested ID.",
              "flatPath": "v1/courses/{courseId}/topics/{id}",
              "httpMethod": "DELETE",
              "id": "classroom.courses.topics.delete",
              "parameterOrder": [
                "courseId",
                "id"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "id": {
                  "description": "Identifier of the topic to delete.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/topics/{id}",
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.topics"
              ]
            },
            "get": {
              "description": "Returns a topic.\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 topic, or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course or topic does not exist.",
              "flatPath": "v1/courses/{courseId}/topics/{id}",
              "httpMethod": "GET",
              "id": "classroom.courses.topics.get",
              "parameterOrder": [
                "courseId",
                "id"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "id": {
                  "description": "Identifier of the topic.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/topics/{id}",
              "response": {
                "$ref": "Topic"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.topics",
                "https://www.googleapis.com/auth/classroom.topics.readonly"
              ]
            },
            "list": {
              "description": "Returns the list of topics that the requester is permitted to view.\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.",
              "flatPath": "v1/courses/{courseId}/topics",
              "httpMethod": "GET",
              "id": "classroom.courses.topics.list",
              "parameterOrder": [
                "courseId"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "pageSize": {
                  "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.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "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.",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/topics",
              "response": {
                "$ref": "ListTopicResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.topics",
                "https://www.googleapis.com/auth/classroom.topics.readonly"
              ]
            },
            "patch": {
              "description": "Updates one or more fields of a topic.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting developer project did not create\nthe corresponding topic or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course or topic does not exist",
              "flatPath": "v1/courses/{courseId}/topics/{id}",
              "httpMethod": "PATCH",
              "id": "classroom.courses.topics.patch",
              "parameterOrder": [
                "courseId",
                "id"
              ],
              "parameters": {
                "courseId": {
                  "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "id": {
                  "description": "Identifier of the topic.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "updateMask": {
                  "description": "Mask that identifies which fields on the topic 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 Topic object. If a\nfield that does not support empty values is included in the update mask and\nnot set in the Topic object, an `INVALID_ARGUMENT` error will be\nreturned.\n\nThe following fields may be specified:\n\n* `name`",
                  "format": "google-fieldmask",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/topics/{id}",
              "request": {
                "$ref": "Topic"
              },
              "response": {
                "$ref": "Topic"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.topics"
              ]
            }
          }
        }
      }
    },
    "invitations": {
      "methods": {
        "accept": {
          "description": "Accepts an invitation, removing it and adding the invited user to the\nteachers or students (as appropriate) of the specified course. Only the\ninvited user may accept an invitation.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to accept the\nrequested invitation or for access errors.\n* `FAILED_PRECONDITION` for the following request errors:\n    * CourseMemberLimitReached\n    * CourseNotModifiable\n    * CourseTeacherLimitReached\n    * UserGroupsMembershipLimitReached\n* `NOT_FOUND` if no invitation exists with the requested ID.",
          "flatPath": "v1/invitations/{id}:accept",
          "httpMethod": "POST",
          "id": "classroom.invitations.accept",
          "parameterOrder": [
            "id"
          ],
          "parameters": {
            "id": {
              "description": "Identifier of the invitation to accept.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/invitations/{id}:accept",
          "response": {
            "$ref": "Empty"
          },
          "scopes": [
            "https://www.googleapis.com/auth/classroom.rosters"
          ]
        },
        "create": {
          "description": "Creates an invitation. Only one invitation for a user and course may exist\nat a time. Delete and re-create an invitation to make changes.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to create\ninvitations for this course or for access errors.\n* `NOT_FOUND` if the course or the user does not exist.\n* `FAILED_PRECONDITION` if the requested user's account is disabled or if\nthe user already has this role or a role with greater permissions.\n* `ALREADY_EXISTS` if an invitation for the specified user and course\nalready exists.",
          "flatPath": "v1/invitations",
          "httpMethod": "POST",
          "id": "classroom.invitations.create",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1/invitations",
          "request": {
            "$ref": "Invitation"
          },
          "response": {
            "$ref": "Invitation"
          },
          "scopes": [
            "https://www.googleapis.com/auth/classroom.rosters"
          ]
        },
        "delete": {
          "description": "Deletes an invitation.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to delete the\nrequested invitation or for access errors.\n* `NOT_FOUND` if no invitation exists with the requested ID.",
          "flatPath": "v1/invitations/{id}",
          "httpMethod": "DELETE",
          "id": "classroom.invitations.delete",
          "parameterOrder": [
            "id"
          ],
          "parameters": {
            "id": {
              "description": "Identifier of the invitation to delete.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/invitations/{id}",
          "response": {
            "$ref": "Empty"
          },
          "scopes": [
            "https://www.googleapis.com/auth/classroom.rosters"
          ]
        },
        "get": {
          "description": "Returns an invitation.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to view the\nrequested invitation or for access errors.\n* `NOT_FOUND` if no invitation exists with the requested ID.",
          "flatPath": "v1/invitations/{id}",
          "httpMethod": "GET",
          "id": "classroom.invitations.get",
          "parameterOrder": [
            "id"
          ],
          "parameters": {
            "id": {
              "description": "Identifier of the invitation to return.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/invitations/{id}",
          "response": {
            "$ref": "Invitation"
          },
          "scopes": [
            "https://www.googleapis.com/auth/classroom.rosters",
            "https://www.googleapis.com/auth/classroom.rosters.readonly"
          ]
        },
        "list": {
          "description": "Returns a list of invitations that the requesting user is permitted to\nview, restricted to those that match the list request.\n\n*Note:* At least one of `user_id` or `course_id` must be supplied. Both\nfields can be supplied.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` for access errors.",
          "flatPath": "v1/invitations",
          "httpMethod": "GET",
          "id": "classroom.invitations.list",
          "parameterOrder": [],
          "parameters": {
            "courseId": {
              "description": "Restricts returned invitations to those for a course with the specified\nidentifier.",
              "location": "query",
              "type": "string"
            },
            "pageSize": {
              "description": "Maximum number of items to return. Zero means no maximum.\n\nThe server may return fewer than the specified number of results.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "description": "nextPageToken\nvalue returned from a previous\nlist call, indicating\nthat the subsequent page of results should be returned.\n\nThe list request must be\notherwise identical to the one that resulted in this token.",
              "location": "query",
              "type": "string"
            },
            "userId": {
              "description": "Restricts returned invitations to those for a specific user. The identifier\ncan 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",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/invitations",
          "response": {
            "$ref": "ListInvitationsResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/classroom.rosters",
            "https://www.googleapis.com/auth/classroom.rosters.readonly"
          ]
        }
      }
    },
    "registrations": {
      "methods": {
        "create": {
          "description": "Creates a `Registration`, causing Classroom to start sending notifications\nfrom the provided `feed` to the destination provided in `cloudPubSubTopic`.\n\nReturns the created `Registration`. Currently, this will be the same as\nthe argument, but with server-assigned fields such as `expiry_time` and\n`id` filled in.\n\nNote that any value specified for the `expiry_time` or `id` fields will be\nignored.\n\nWhile Classroom may validate the `cloudPubSubTopic` and return errors on a\nbest effort basis, it is the caller's responsibility to ensure that it\nexists and that Classroom has permission to publish to it.\n\nThis method may return the following error codes:\n\n* `PERMISSION_DENIED` if:\n    * the authenticated user does not have permission to receive\n      notifications from the requested field; or\n    * the credential provided does not include the appropriate scope for\n      the requested feed.\n    * another access error is encountered.\n* `INVALID_ARGUMENT` if:\n    * no `cloudPubsubTopic` is specified, or the specified\n      `cloudPubsubTopic` is not valid; or\n    * no `feed` is specified, or the specified `feed` is not valid.\n* `NOT_FOUND` if:\n    * the specified `feed` cannot be located, or the requesting user does\n      not have permission to determine whether or not it exists; or\n    * the specified `cloudPubsubTopic` cannot be located, or Classroom has\n      not been granted permission to publish to it.",
          "flatPath": "v1/registrations",
          "httpMethod": "POST",
          "id": "classroom.registrations.create",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1/registrations",
          "request": {
            "$ref": "Registration"
          },
          "response": {
            "$ref": "Registration"
          },
          "scopes": [
            "https://www.googleapis.com/auth/classroom.push-notifications"
          ]
        },
        "delete": {
          "description": "Deletes a `Registration`, causing Classroom to stop sending notifications\nfor that `Registration`.",
          "flatPath": "v1/registrations/{registrationId}",
          "httpMethod": "DELETE",
          "id": "classroom.registrations.delete",
          "parameterOrder": [
            "registrationId"
          ],
          "parameters": {
            "registrationId": {
              "description": "The `registration_id` of the `Registration` to be deleted.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/registrations/{registrationId}",
          "response": {
            "$ref": "Empty"
          },
          "scopes": [
            "https://www.googleapis.com/auth/classroom.push-notifications"
          ]
        }
      }
    },
    "userProfiles": {
      "methods": {
        "get": {
          "description": "Returns a user profile.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access\nthis user profile, if no profile exists with the requested ID, or for\naccess errors.",
          "flatPath": "v1/userProfiles/{userId}",
          "httpMethod": "GET",
          "id": "classroom.userProfiles.get",
          "parameterOrder": [
            "userId"
          ],
          "parameters": {
            "userId": {
              "description": "Identifier of the profile to return. 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",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/userProfiles/{userId}",
          "response": {
            "$ref": "UserProfile"
          },
          "scopes": [
            "https://www.googleapis.com/auth/classroom.profile.emails",
            "https://www.googleapis.com/auth/classroom.profile.photos",
            "https://www.googleapis.com/auth/classroom.rosters",
            "https://www.googleapis.com/auth/classroom.rosters.readonly"
          ]
        }
      },
      "resources": {
        "guardianInvitations": {
          "methods": {
            "create": {
              "description": "Creates a guardian invitation, and sends an email to the guardian asking\nthem to confirm that they are the student's guardian.\n\nOnce the guardian accepts the invitation, their `state` will change to\n`COMPLETED` and they will start receiving guardian notifications. A\n`Guardian` resource will also be created to represent the active guardian.\n\nThe request object must have the `student_id` and\n`invited_email_address` fields set. Failing to set these fields, or\nsetting any other fields in the request, will result in an error.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the current user does not have permission to\n  manage guardians, if the guardian in question has already rejected\n  too many requests for that student, if guardians are not enabled for the\n  domain in question, or for other access errors.\n* `RESOURCE_EXHAUSTED` if the student or guardian has exceeded the guardian\n  link limit.\n* `INVALID_ARGUMENT` if the guardian email address is not valid (for\n  example, if it is too long), or if the format of the student ID provided\n  cannot be recognized (it is not an email address, nor a `user_id` from\n  this API). This error will also be returned if read-only fields are set,\n  or if the `state` field is set to to a value other than `PENDING`.\n* `NOT_FOUND` if the student ID provided is a valid student ID, but\n  Classroom has no record of that student.\n* `ALREADY_EXISTS` if there is already a pending guardian invitation for\n  the student and `invited_email_address` provided, or if the provided\n  `invited_email_address` matches the Google account of an existing\n  `Guardian` for this user.",
              "flatPath": "v1/userProfiles/{studentId}/guardianInvitations",
              "httpMethod": "POST",
              "id": "classroom.userProfiles.guardianInvitations.create",
              "parameterOrder": [
                "studentId"
              ],
              "parameters": {
                "studentId": {
                  "description": "ID of the student (in standard format)",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/userProfiles/{studentId}/guardianInvitations",
              "request": {
                "$ref": "GuardianInvitation"
              },
              "response": {
                "$ref": "GuardianInvitation"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.guardianlinks.students"
              ]
            },
            "get": {
              "description": "Returns a specific guardian invitation.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to view\n  guardian invitations for the student identified by the `student_id`, if\n  guardians are not enabled for the domain in question, or for other\n  access errors.\n* `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot\n  be recognized (it is not an email address, nor a `student_id` from the\n  API, nor the literal string `me`).\n* `NOT_FOUND` if Classroom cannot find any record of the given student or\n  `invitation_id`. May also be returned if the student exists, but the\n  requesting user does not have access to see that student.",
              "flatPath": "v1/userProfiles/{studentId}/guardianInvitations/{invitationId}",
              "httpMethod": "GET",
              "id": "classroom.userProfiles.guardianInvitations.get",
              "parameterOrder": [
                "studentId",
                "invitationId"
              ],
              "parameters": {
                "invitationId": {
                  "description": "The `id` field of the `GuardianInvitation` being requested.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "studentId": {
                  "description": "The ID of the student whose guardian invitation is being requested.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/userProfiles/{studentId}/guardianInvitations/{invitationId}",
              "response": {
                "$ref": "GuardianInvitation"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.guardianlinks.students",
                "https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly"
              ]
            },
            "list": {
              "description": "Returns a list of guardian invitations that the requesting user is\npermitted to view, filtered by the parameters provided.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if a `student_id` is specified, and the requesting\n  user is not permitted to view guardian invitations for that student, if\n  `\"-\"` is specified as the `student_id` and the user is not a domain\n  administrator, if guardians are not enabled for the domain in question,\n  or for other access errors.\n* `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot\n  be recognized (it is not an email address, nor a `student_id` from the\n  API, nor the literal string `me`). May also be returned if an invalid\n  `page_token` or `state` is provided.\n* `NOT_FOUND` if a `student_id` is specified, and its format can be\n  recognized, but Classroom has no record of that student.",
              "flatPath": "v1/userProfiles/{studentId}/guardianInvitations",
              "httpMethod": "GET",
              "id": "classroom.userProfiles.guardianInvitations.list",
              "parameterOrder": [
                "studentId"
              ],
              "parameters": {
                "invitedEmailAddress": {
                  "description": "If specified, only results with the specified `invited_email_address`\nwill be returned.",
                  "location": "query",
                  "type": "string"
                },
                "pageSize": {
                  "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.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "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.",
                  "location": "query",
                  "type": "string"
                },
                "states": {
                  "description": "If specified, only results with the specified `state` values will be\nreturned. Otherwise, results with a `state` of `PENDING` will be returned.",
                  "enum": [
                    "GUARDIAN_INVITATION_STATE_UNSPECIFIED",
                    "PENDING",
                    "COMPLETE"
                  ],
                  "location": "query",
                  "repeated": true,
                  "type": "string"
                },
                "studentId": {
                  "description": "The ID of the student whose guardian invitations are to be returned.\nThe 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\n* the string literal `\"-\"`, indicating that results should be returned for\n  all students that the requesting user is permitted to view guardian\n  invitations.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/userProfiles/{studentId}/guardianInvitations",
              "response": {
                "$ref": "ListGuardianInvitationsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.guardianlinks.students",
                "https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly"
              ]
            },
            "patch": {
              "description": "Modifies a guardian invitation.\n\nCurrently, the only valid modification is to change the `state` from\n`PENDING` to `COMPLETE`. This has the effect of withdrawing the invitation.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the current user does not have permission to\n  manage guardians, if guardians are not enabled for the domain in question\n  or for other access errors.\n* `FAILED_PRECONDITION` if the guardian link is not in the `PENDING` state.\n* `INVALID_ARGUMENT` if the format of the student ID provided\n  cannot be recognized (it is not an email address, nor a `user_id` from\n  this API), or if the passed `GuardianInvitation` has a `state` other than\n  `COMPLETE`, or if it modifies fields other than `state`.\n* `NOT_FOUND` if the student ID provided is a valid student ID, but\n  Classroom has no record of that student, or if the `id` field does not\n  refer to a guardian invitation known to Classroom.",
              "flatPath": "v1/userProfiles/{studentId}/guardianInvitations/{invitationId}",
              "httpMethod": "PATCH",
              "id": "classroom.userProfiles.guardianInvitations.patch",
              "parameterOrder": [
                "studentId",
                "invitationId"
              ],
              "parameters": {
                "invitationId": {
                  "description": "The `id` field of the `GuardianInvitation` to be modified.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "studentId": {
                  "description": "The ID of the student whose guardian invitation is to be modified.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "updateMask": {
                  "description": "Mask that identifies which fields on the course to update.\nThis field is required to do an update. The update will fail if invalid\nfields are specified. The following fields are valid:\n\n* `state`\n\nWhen set in a query parameter, this field should be specified as\n\n`updateMask=\u003cfield1\u003e,\u003cfield2\u003e,...`",
                  "format": "google-fieldmask",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1/userProfiles/{studentId}/guardianInvitations/{invitationId}",
              "request": {
                "$ref": "GuardianInvitation"
              },
              "response": {
                "$ref": "GuardianInvitation"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.guardianlinks.students"
              ]
            }
          }
        },
        "guardians": {
          "methods": {
            "delete": {
              "description": "Deletes a guardian.\n\nThe guardian will no longer receive guardian notifications and the guardian\nwill no longer be accessible via the API.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if no user that matches the provided `student_id`\n  is visible to the requesting user, if the requesting user is not\n  permitted to manage guardians for the student identified by the\n  `student_id`, if guardians are not enabled for the domain in question,\n  or for other access errors.\n* `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot\n  be recognized (it is not an email address, nor a `student_id` from the\n  API).\n* `NOT_FOUND` if the requesting user is permitted to modify guardians for\n  the requested `student_id`, but no `Guardian` record exists for that\n  student with the provided `guardian_id`.",
              "flatPath": "v1/userProfiles/{studentId}/guardians/{guardianId}",
              "httpMethod": "DELETE",
              "id": "classroom.userProfiles.guardians.delete",
              "parameterOrder": [
                "studentId",
                "guardianId"
              ],
              "parameters": {
                "guardianId": {
                  "description": "The `id` field from a `Guardian`.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "studentId": {
                  "description": "The student whose guardian is to be deleted. 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",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/userProfiles/{studentId}/guardians/{guardianId}",
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.guardianlinks.students"
              ]
            },
            "get": {
              "description": "Returns a specific guardian.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if no user that matches the provided `student_id`\n  is visible to the requesting user, if the requesting user is not\n  permitted to view guardian information for the student identified by the\n  `student_id`, if guardians are not enabled for the domain in question,\n  or for other access errors.\n* `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot\n  be recognized (it is not an email address, nor a `student_id` from the\n  API, nor the literal string `me`).\n* `NOT_FOUND` if the requesting user is permitted to view guardians for\n  the requested `student_id`, but no `Guardian` record exists for that\n  student that matches the provided `guardian_id`.",
              "flatPath": "v1/userProfiles/{studentId}/guardians/{guardianId}",
              "httpMethod": "GET",
              "id": "classroom.userProfiles.guardians.get",
              "parameterOrder": [
                "studentId",
                "guardianId"
              ],
              "parameters": {
                "guardianId": {
                  "description": "The `id` field from a `Guardian`.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "studentId": {
                  "description": "The student whose guardian is being requested. 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",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/userProfiles/{studentId}/guardians/{guardianId}",
              "response": {
                "$ref": "Guardian"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly",
                "https://www.googleapis.com/auth/classroom.guardianlinks.students",
                "https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly"
              ]
            },
            "list": {
              "description": "Returns a list of guardians that the requesting user is permitted to\nview, restricted to those that match the request.\n\nTo list guardians for any student that the requesting user may view\nguardians for, use the literal character `-` for the student ID.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if a `student_id` is specified, and the requesting\n  user is not permitted to view guardian information for that student, if\n  `\"-\"` is specified as the `student_id` and the user is not a domain\n  administrator, if guardians are not enabled for the domain in question,\n  if the `invited_email_address` filter is set by a user who is not a\n  domain administrator, or for other access errors.\n* `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot\n  be recognized (it is not an email address, nor a `student_id` from the\n  API, nor the literal string `me`). May also be returned if an invalid\n  `page_token` is provided.\n* `NOT_FOUND` if a `student_id` is specified, and its format can be\n  recognized, but Classroom has no record of that student.",
              "flatPath": "v1/userProfiles/{studentId}/guardians",
              "httpMethod": "GET",
              "id": "classroom.userProfiles.guardians.list",
              "parameterOrder": [
                "studentId"
              ],
              "parameters": {
                "invitedEmailAddress": {
                  "description": "Filter results by the email address that the original invitation was sent\nto, resulting in this guardian link.\nThis filter can only be used by domain administrators.",
                  "location": "query",
                  "type": "string"
                },
                "pageSize": {
                  "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.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "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.",
                  "location": "query",
                  "type": "string"
                },
                "studentId": {
                  "description": "Filter results by the student who the guardian is linked to.\nThe 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\n* the string literal `\"-\"`, indicating that results should be returned for\n  all students that the requesting user has access to view.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/userProfiles/{studentId}/guardians",
              "response": {
                "$ref": "ListGuardiansResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly",
                "https://www.googleapis.com/auth/classroom.guardianlinks.students",
                "https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly"
              ]
            }
          }
        }
      }
    }
  },
  "revision": "20200210",
  "rootUrl": "https://classroom.googleapis.com/",
  "schemas": {
    "Announcement": {
      "description": "Announcement created by a teacher for students of the course",
      "id": "Announcement",
      "properties": {
        "alternateLink": {
          "description": "Absolute link to this announcement in the Classroom web UI.\nThis is only populated if `state` is `PUBLISHED`.\n\nRead-only.",
          "type": "string"
        },
        "assigneeMode": {
          "description": "Assignee mode of the announcement.\nIf unspecified, the default value is `ALL_STUDENTS`.",
          "enum": [
            "ASSIGNEE_MODE_UNSPECIFIED",
            "ALL_STUDENTS",
            "INDIVIDUAL_STUDENTS"
          ],
          "enumDescriptions": [
            "No mode specified. This is never returned.",
            "All students can see the item.\nThis is the default state.",
            "A subset of the students can see the item."
          ],
          "type": "string"
        },
        "courseId": {
          "description": "Identifier of the course.\n\nRead-only.",
          "type": "string"
        },
        "creationTime": {
          "description": "Timestamp when this announcement was created.\n\nRead-only.",
          "format": "google-datetime",
          "type": "string"
        },
        "creatorUserId": {
          "description": "Identifier for the user that created the announcement.\n\nRead-only.",
          "type": "string"
        },
        "id": {
          "description": "Classroom-assigned identifier of this announcement, unique per course.\n\nRead-only.",
          "type": "string"
        },
        "individualStudentsOptions": {
          "$ref": "IndividualStudentsOptions",
          "description": "Identifiers of students with access to the announcement.\nThis field is set only if `assigneeMode` is `INDIVIDUAL_STUDENTS`.\nIf the `assigneeMode` is `INDIVIDUAL_STUDENTS`, then only students\nspecified in this field will be able to see the announcement."
        },
        "materials": {
          "description": "Additional materials.\n\nAnnouncements must have no more than 20 material items.",
          "items": {
            "$ref": "Material"
          },
          "type": "array"
        },
        "scheduledTime": {
          "description": "Optional timestamp when this announcement is scheduled to be published.",
          "format": "google-datetime",
          "type": "string"
        },
        "state": {
          "description": "Status of this announcement.\nIf unspecified, the default state is `DRAFT`.",
          "enum": [
            "ANNOUNCEMENT_STATE_UNSPECIFIED",
            "PUBLISHED",
            "DRAFT",
            "DELETED"
          ],
          "enumDescriptions": [
            "No state specified. This is never returned.",
            "Status for announcement that has been published.\nThis is the default state.",
            "Status for an announcement that is not yet published.\nAnnouncement in this state is visible only to course teachers and domain\nadministrators.",
            "Status for announcement that was published but is now deleted.\nAnnouncement in this state is visible only to course teachers and domain\nadministrators.\nAnnouncement in this state is deleted after some time."
          ],
          "type": "string"
        },
        "text": {
          "description": "Description of this announcement.\nThe text must be a valid UTF-8 string containing no more\nthan 30,000 characters.",
          "type": "string"
        },
        "updateTime": {
          "description": "Timestamp of the most recent change to this announcement.\n\nRead-only.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Assignment": {
      "description": "Additional details for assignments.",
      "id": "Assignment",
      "properties": {
        "studentWorkFolder": {
          "$ref": "DriveFolder",
          "description": "Drive folder where attachments from student submissions are placed.\nThis is only populated for course teachers and administrators."
        }
      },
      "type": "object"
    },
    "AssignmentSubmission": {
      "description": "Student work for an assignment.",
      "id": "AssignmentSubmission",
      "properties": {
        "attachments": {
          "description": "Attachments added by the student.\nDrive files that correspond to materials with a share mode of\nSTUDENT_COPY may not exist yet if the student has not accessed the\nassignment in Classroom.\n\nSome attachment metadata is only populated if the requesting user has\npermission to access it. Identifier and alternate_link fields are always\navailable, but others (e.g. title) may not be.",
          "items": {
            "$ref": "Attachment"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Attachment": {
      "description": "Attachment added to student assignment work.\n\nWhen creating attachments, setting the `form` field is not supported.",
      "id": "Attachment",
      "properties": {
        "driveFile": {
          "$ref": "DriveFile",
          "description": "Google Drive file attachment."
        },
        "form": {
          "$ref": "Form",
          "description": "Google Forms attachment."
        },
        "link": {
          "$ref": "Link",
          "description": "Link attachment."
        },
        "youTubeVideo": {
          "$ref": "YouTubeVideo",
          "description": "Youtube video attachment."
        }
      },
      "type": "object"
    },
    "CloudPubsubTopic": {
      "description": "A reference to a Cloud Pub/Sub topic.\n\nTo register for notifications, the owner of the topic must grant\n`classroom-notifications@system.gserviceaccount.com` the\n `projects.topics.publish` permission.",
      "id": "CloudPubsubTopic",
      "properties": {
        "topicName": {
          "description": "The `name` field of a Cloud Pub/Sub\n[Topic](https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics#Topic).",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Course": {
      "description": "A Course in Classroom.",
      "id": "Course",
      "properties": {
        "alternateLink": {
          "description": "Absolute link to this course in the Classroom web UI.\n\nRead-only.",
          "type": "string"
        },
        "calendarId": {
          "description": "The Calendar ID for a calendar that all course members can see, to which\nClassroom adds events for course work and announcements in the course.\n\nRead-only.",
          "type": "string"
        },
        "courseGroupEmail": {
          "description": "The email address of a Google group containing all members of the course.\nThis group does not accept email and can only be used for permissions.\n\nRead-only.",
          "type": "string"
        },
        "courseMaterialSets": {
          "description": "Sets of materials that appear on the \"about\" page of this course.\n\nRead-only.",
          "items": {
            "$ref": "CourseMaterialSet"
          },
          "type": "array"
        },
        "courseState": {
          "description": "State of the course.\nIf unspecified, the default state is `PROVISIONED`.",
          "enum": [
            "COURSE_STATE_UNSPECIFIED",
            "ACTIVE",
            "ARCHIVED",
            "PROVISIONED",
            "DECLINED",
            "SUSPENDED"
          ],
          "enumDescriptions": [
            "No course state. No returned Course message will use this value.",
            "The course is active.",
            "The course has been archived. You cannot modify it except to change it\nto a different state.",
            "The course has been created, but not yet activated. It is accessible by\nthe primary teacher and domain administrators, who may modify it or\nchange it to the `ACTIVE` or `DECLINED` states.\nA course may only be changed to `PROVISIONED` if it is in the `DECLINED`\nstate.",
            "The course has been created, but declined. It is accessible by the\ncourse owner and domain administrators, though it will not be\ndisplayed in the web UI. You cannot modify the course except to change it\nto the `PROVISIONED` state.\nA course may only be changed to `DECLINED` if it is in the `PROVISIONED`\nstate.",
            "The course has been suspended. You cannot modify the course, and only the\nuser identified by the `owner_id` can view the course.\nA course may be placed in this state if it potentially violates the\nTerms of Service."
          ],
          "type": "string"
        },
        "creationTime": {
          "description": "Creation time of the course.\nSpecifying this field in a course update mask results in an error.\n\nRead-only.",
          "format": "google-datetime",
          "type": "string"
        },
        "description": {
          "description": "Optional description.\nFor example, \"We'll be learning about the structure of living\ncreatures from a combination of textbooks, guest lectures, and lab work.\nExpect to be excited!\"\nIf set, this field must be a valid UTF-8 string and no longer than 30,000\ncharacters.",
          "type": "string"
        },
        "descriptionHeading": {
          "description": "Optional heading for the description.\nFor example, \"Welcome to 10th Grade Biology.\"\nIf set, this field must be a valid UTF-8 string and no longer than 3600\ncharacters.",
          "type": "string"
        },
        "enrollmentCode": {
          "description": "Enrollment code to use when joining this course.\nSpecifying this field in a course update mask results in an error.\n\nRead-only.",
          "type": "string"
        },
        "guardiansEnabled": {
          "description": "Whether or not guardian notifications are enabled for this course.\n\nRead-only.",
          "type": "boolean"
        },
        "id": {
          "description": "Identifier for this course assigned by Classroom.\n\nWhen\ncreating a course,\nyou may optionally set this identifier to an\nalias string in the\nrequest to create a corresponding alias. The `id` is still assigned by\nClassroom and cannot be updated after the course is created.\n\nSpecifying this field in a course update mask results in an error.",
          "type": "string"
        },
        "name": {
          "description": "Name of the course.\nFor example, \"10th Grade Biology\".\nThe name is required. It must be between 1 and 750 characters and a valid\nUTF-8 string.",
          "type": "string"
        },
        "ownerId": {
          "description": "The identifier of the owner of a course.\n\nWhen specified as a parameter of a\ncreate course request, this\nfield is required.\nThe 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\n\nThis must be set in a create request. Admins can also specify this field\nin a patch course request to\ntransfer ownership. In other contexts, it is read-only.",
          "type": "string"
        },
        "room": {
          "description": "Optional room location.\nFor example, \"301\".\nIf set, this field must be a valid UTF-8 string and no longer than 650\ncharacters.",
          "type": "string"
        },
        "section": {
          "description": "Section of the course.\nFor example, \"Period 2\".\nIf set, this field must be a valid UTF-8 string and no longer than 2800\ncharacters.",
          "type": "string"
        },
        "teacherFolder": {
          "$ref": "DriveFolder",
          "description": "Information about a Drive Folder that is shared with all teachers of the\ncourse.\n\nThis field will only be set for teachers of the course and domain\nadministrators.\n\nRead-only."
        },
        "teacherGroupEmail": {
          "description": "The email address of a Google group containing all teachers of the course.\nThis group does not accept email and can only be used for permissions.\n\nRead-only.",
          "type": "string"
        },
        "updateTime": {
          "description": "Time of the most recent update to this course.\nSpecifying this field in a course update mask results in an error.\n\nRead-only.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CourseAlias": {
      "description": "Alternative identifier for a course.\n\nAn alias uniquely identifies a course. It must be unique within one of the\nfollowing scopes:\n\n* domain: A domain-scoped alias is visible to all users within the alias\ncreator's domain and can be created only by a domain admin. A domain-scoped\nalias is often used when a course has an identifier external to Classroom.\n\n* project: A project-scoped alias is visible to any request from an\napplication using the Developer Console project ID that created the alias\nand can be created by any project. A project-scoped alias is often used when\nan application has alternative identifiers. A random value can also be used\nto avoid duplicate courses in the event of transmission failures, as retrying\na request will return `ALREADY_EXISTS` if a previous one has succeeded.",
      "id": "CourseAlias",
      "properties": {
        "alias": {
          "description": "Alias string. The format of the string indicates the desired alias scoping.\n\n* `d:\u003cname\u003e` indicates a domain-scoped alias.\n  Example: `d:math_101`\n* `p:\u003cname\u003e` indicates a project-scoped alias.\n  Example: `p:abc123`\n\nThis field has a maximum length of 256 characters.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CourseMaterial": {
      "description": "A material attached to a course as part of a material set.",
      "id": "CourseMaterial",
      "properties": {
        "driveFile": {
          "$ref": "DriveFile",
          "description": "Google Drive file attachment."
        },
        "form": {
          "$ref": "Form",
          "description": "Google Forms attachment."
        },
        "link": {
          "$ref": "Link",
          "description": "Link atatchment."
        },
        "youTubeVideo": {
          "$ref": "YouTubeVideo",
          "description": "Youtube video attachment."
        }
      },
      "type": "object"
    },
    "CourseMaterialSet": {
      "description": "A set of materials that appears on the \"About\" page of the course.\nThese materials might include a syllabus, schedule, or other background\ninformation relating to the course as a whole.",
      "id": "CourseMaterialSet",
      "properties": {
        "materials": {
          "description": "Materials attached to this set.",
          "items": {
            "$ref": "CourseMaterial"
          },
          "type": "array"
        },
        "title": {
          "description": "Title for this set.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CourseRosterChangesInfo": {
      "description": "Information about a `Feed` with a `feed_type` of `COURSE_ROSTER_CHANGES`.",
      "id": "CourseRosterChangesInfo",
      "properties": {
        "courseId": {
          "description": "The `course_id` of the course to subscribe to roster changes for.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CourseWork": {
      "description": "Course work created by a teacher for students of the course.",
      "id": "CourseWork",
      "properties": {
        "alternateLink": {
          "description": "Absolute link to this course work in the Classroom web UI.\nThis is only populated if `state` is `PUBLISHED`.\n\nRead-only.",
          "type": "string"
        },
        "assigneeMode": {
          "description": "Assignee mode of the coursework.\nIf unspecified, the default value is `ALL_STUDENTS`.",
          "enum": [
            "ASSIGNEE_MODE_UNSPECIFIED",
            "ALL_STUDENTS",
            "INDIVIDUAL_STUDENTS"
          ],
          "enumDescriptions": [
            "No mode specified. This is never returned.",
            "All students can see the item.\nThis is the default state.",
            "A subset of the students can see the item."
          ],
          "type": "string"
        },
        "assignment": {
          "$ref": "Assignment",
          "description": "Assignment details.\nThis is populated only when `work_type` is `ASSIGNMENT`.\n\nRead-only."
        },
        "associatedWithDeveloper": {
          "description": "Whether this course work item is associated with the Developer Console\nproject making the request.\n\nSee google.classroom.Work.CreateCourseWork for more\ndetails.\n\nRead-only.",
          "type": "boolean"
        },
        "courseId": {
          "description": "Identifier of the course.\n\nRead-only.",
          "type": "string"
        },
        "creationTime": {
          "description": "Timestamp when this course work was created.\n\nRead-only.",
          "format": "google-datetime",
          "type": "string"
        },
        "creatorUserId": {
          "description": "Identifier for the user that created the coursework.\n\nRead-only.",
          "type": "string"
        },
        "description": {
          "description": "Optional description of this course work.\nIf set, the description must be a valid UTF-8 string containing no more\nthan 30,000 characters.",
          "type": "string"
        },
        "dueDate": {
          "$ref": "Date",
          "description": "Optional date, in UTC, that submissions for this course work are due.\nThis must be specified if `due_time` is specified."
        },
        "dueTime": {
          "$ref": "TimeOfDay",
          "description": "Optional time of day, in UTC, that submissions for this course work\nare due.\nThis must be specified if `due_date` is specified."
        },
        "id": {
          "description": "Classroom-assigned identifier of this course work, unique per course.\n\nRead-only.",
          "type": "string"
        },
        "individualStudentsOptions": {
          "$ref": "IndividualStudentsOptions",
          "description": "Identifiers of students with access to the coursework.\nThis field is set only if `assigneeMode` is `INDIVIDUAL_STUDENTS`.\nIf the `assigneeMode` is `INDIVIDUAL_STUDENTS`, then only students\nspecified in this field will be assigned the coursework."
        },
        "materials": {
          "description": "Additional materials.\n\nCourseWork must have no more than 20 material items.",
          "items": {
            "$ref": "Material"
          },
          "type": "array"
        },
        "maxPoints": {
          "description": "Maximum grade for this course work.\nIf zero or unspecified, this assignment is considered ungraded.\nThis must be a non-negative integer value.",
          "format": "double",
          "type": "number"
        },
        "multipleChoiceQuestion": {
          "$ref": "MultipleChoiceQuestion",
          "description": "Multiple choice question details.\nFor read operations, this field is populated only when `work_type` is\n`MULTIPLE_CHOICE_QUESTION`.\nFor write operations, this field must be specified when creating course\nwork with a `work_type` of `MULTIPLE_CHOICE_QUESTION`, and it must not be\nset otherwise."
        },
        "scheduledTime": {
          "description": "Optional timestamp when this course work is scheduled to be published.",
          "format": "google-datetime",
          "type": "string"
        },
        "state": {
          "description": "Status of this course work.\nIf unspecified, the default state is `DRAFT`.",
          "enum": [
            "COURSE_WORK_STATE_UNSPECIFIED",
            "PUBLISHED",
            "DRAFT",
            "DELETED"
          ],
          "enumDescriptions": [
            "No state specified. This is never returned.",
            "Status for work that has been published.\nThis is the default state.",
            "Status for work that is not yet published.\nWork in this state is visible only to course teachers and domain\nadministrators.",
            "Status for work that was published but is now deleted.\nWork in this state is visible only to course teachers and domain\nadministrators.\nWork in this state is deleted after some time."
          ],
          "type": "string"
        },
        "submissionModificationMode": {
          "description": "Setting to determine when students are allowed to modify submissions.\nIf unspecified, the default value is `MODIFIABLE_UNTIL_TURNED_IN`.",
          "enum": [
            "SUBMISSION_MODIFICATION_MODE_UNSPECIFIED",
            "MODIFIABLE_UNTIL_TURNED_IN",
            "MODIFIABLE"
          ],
          "enumDescriptions": [
            "No modification mode specified. This is never returned.",
            "Submissions can be modified before being turned in.",
            "Submissions can be modified at any time."
          ],
          "type": "string"
        },
        "title": {
          "description": "Title of this course work.\nThe title must be a valid UTF-8 string containing between 1 and 3000\ncharacters.",
          "type": "string"
        },
        "topicId": {
          "description": "Identifier for the topic that this coursework is associated with.\nMust match an existing topic in the course.",
          "type": "string"
        },
        "updateTime": {
          "description": "Timestamp of the most recent change to this course work.\n\nRead-only.",
          "format": "google-datetime",
          "type": "string"
        },
        "workType": {
          "description": "Type of this course work.\n\nThe type is set when the course work is created and cannot be changed.",
          "enum": [
            "COURSE_WORK_TYPE_UNSPECIFIED",
            "ASSIGNMENT",
            "SHORT_ANSWER_QUESTION",
            "MULTIPLE_CHOICE_QUESTION"
          ],
          "enumDescriptions": [
            "No work type specified. This is never returned.",
            "An assignment.",
            "A short answer question.",
            "A multiple-choice question."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "CourseWorkChangesInfo": {
      "description": "Information about a `Feed` with a `feed_type` of `COURSE_WORK_CHANGES`.",
      "id": "CourseWorkChangesInfo",
      "properties": {
        "courseId": {
          "description": "The `course_id` of the course to subscribe to work changes for.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Date": {
      "description": "Represents a whole or partial calendar date, e.g. a birthday. The time of day\nand time zone are either specified elsewhere or are not significant. The date\nis relative to the Proleptic Gregorian Calendar. This can represent:\n\n* A full date, with non-zero year, month and day values\n* A month and day value, with a zero year, e.g. an anniversary\n* A year on its own, with zero month and day values\n* A year and month value, with a zero day, e.g. a credit card expiration date\n\nRelated types are google.type.TimeOfDay and `google.protobuf.Timestamp`.",
      "id": "Date",
      "properties": {
        "day": {
          "description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0\nif specifying a year by itself or a year and month where the day is not\nsignificant.",
          "format": "int32",
          "type": "integer"
        },
        "month": {
          "description": "Month of year. Must be from 1 to 12, or 0 if specifying a year without a\nmonth and day.",
          "format": "int32",
          "type": "integer"
        },
        "year": {
          "description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without\na year.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "DriveFile": {
      "description": "Representation of a Google Drive file.",
      "id": "DriveFile",
      "properties": {
        "alternateLink": {
          "description": "URL that can be used to access the Drive item.\n\nRead-only.",
          "type": "string"
        },
        "id": {
          "description": "Drive API resource ID.",
          "type": "string"
        },
        "thumbnailUrl": {
          "description": "URL of a thumbnail image of the Drive item.\n\nRead-only.",
          "type": "string"
        },
        "title": {
          "description": "Title of the Drive item.\n\nRead-only.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DriveFolder": {
      "description": "Representation of a Google Drive folder.",
      "id": "DriveFolder",
      "properties": {
        "alternateLink": {
          "description": "URL that can be used to access the Drive folder.\n\nRead-only.",
          "type": "string"
        },
        "id": {
          "description": "Drive API resource ID.",
          "type": "string"
        },
        "title": {
          "description": "Title of the Drive folder.\n\nRead-only.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Empty": {
      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
      "id": "Empty",
      "properties": {},
      "type": "object"
    },
    "Feed": {
      "description": "A class of notifications that an application can register to receive.\nFor example: \"all roster changes for a domain\".",
      "id": "Feed",
      "properties": {
        "courseRosterChangesInfo": {
          "$ref": "CourseRosterChangesInfo",
          "description": "Information about a `Feed` with a `feed_type` of `COURSE_ROSTER_CHANGES`.\nThis field must be specified if `feed_type` is `COURSE_ROSTER_CHANGES`."
        },
        "courseWorkChangesInfo": {
          "$ref": "CourseWorkChangesInfo",
          "description": "Information about a `Feed` with a `feed_type` of `COURSE_WORK_CHANGES`.\nThis field must be specified if `feed_type` is `COURSE_WORK_CHANGES`."
        },
        "feedType": {
          "description": "The type of feed.",
          "enum": [
            "FEED_TYPE_UNSPECIFIED",
            "DOMAIN_ROSTER_CHANGES",
            "COURSE_ROSTER_CHANGES",
            "COURSE_WORK_CHANGES"
          ],
          "enumDescriptions": [
            "Should never be returned or provided.",
            "All roster changes for a particular domain.\n\nNotifications will be generated whenever a user joins or leaves a course.\n\nNo notifications will be generated when an invitation is created or\ndeleted, but notifications will be generated when a user joins a course\nby accepting an invitation.",
            "All roster changes for a particular course.\n\nNotifications will be generated whenever a user joins or leaves a course.\n\nNo notifications will be generated when an invitation is created or\ndeleted, but notifications will be generated when a user joins a course\nby accepting an invitation.",
            "All course work activity for a particular course.\n\nNotifications will be generated when a CourseWork or\nStudentSubmission object is created or modified. No notification will be\ngenerated when a StudentSubmission object is created in connection with\nthe creation or modification of its parent CourseWork object (but a\nnotification will be generated for that CourseWork object's creation or\nmodification)."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "Form": {
      "description": "Google Forms item.",
      "id": "Form",
      "properties": {
        "formUrl": {
          "description": "URL of the form.",
          "type": "string"
        },
        "responseUrl": {
          "description": "URL of the form responses document.\nOnly set if respsonses have been recorded and only when the\nrequesting user is an editor of the form.\n\nRead-only.",
          "type": "string"
        },
        "thumbnailUrl": {
          "description": "URL of a thumbnail image of the Form.\n\nRead-only.",
          "type": "string"
        },
        "title": {
          "description": "Title of the Form.\n\nRead-only.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GlobalPermission": {
      "description": "Global user permission description.",
      "id": "GlobalPermission",
      "properties": {
        "permission": {
          "description": "Permission value.",
          "enum": [
            "PERMISSION_UNSPECIFIED",
            "CREATE_COURSE"
          ],
          "enumDescriptions": [
            "No permission is specified. This is not returned and is not a\nvalid value.",
            "User is permitted to create a course."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "GradeHistory": {
      "description": "The history of each grade on this submission.",
      "id": "GradeHistory",
      "properties": {
        "actorUserId": {
          "description": "The teacher who made the grade change.",
          "type": "string"
        },
        "gradeChangeType": {
          "description": "The type of grade change at this time in the submission grade history.",
          "enum": [
            "UNKNOWN_GRADE_CHANGE_TYPE",
            "DRAFT_GRADE_POINTS_EARNED_CHANGE",
            "ASSIGNED_GRADE_POINTS_EARNED_CHANGE",
            "MAX_POINTS_CHANGE"
          ],
          "enumDescriptions": [
            "No grade change type specified. This should never be returned.",
            "A change in the numerator of the draft grade.",
            "A change in the numerator of the assigned grade.",
            "A change in the denominator of the grade."
          ],
          "type": "string"
        },
        "gradeTimestamp": {
          "description": "When the grade of the submission was changed.",
          "format": "google-datetime",
          "type": "string"
        },
        "maxPoints": {
          "description": "The denominator of the grade at this time in the submission grade\nhistory.",
          "format": "double",
          "type": "number"
        },
        "pointsEarned": {
          "description": "The numerator of the grade at this time in the submission grade history.",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "Guardian": {
      "description": "Association between a student and a guardian of that student. The guardian\nmay receive information about the student's course work.",
      "id": "Guardian",
      "properties": {
        "guardianId": {
          "description": "Identifier for the guardian.",
          "type": "string"
        },
        "guardianProfile": {
          "$ref": "UserProfile",
          "description": "User profile for the guardian."
        },
        "invitedEmailAddress": {
          "description": "The email address to which the initial guardian invitation was sent.\nThis field is only visible to domain administrators.",
          "type": "string"
        },
        "studentId": {
          "description": "Identifier for the student to whom the guardian relationship applies.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GuardianInvitation": {
      "description": "An invitation to become the guardian of a specified user, sent to a specified\nemail address.",
      "id": "GuardianInvitation",
      "properties": {
        "creationTime": {
          "description": "The time that this invitation was created.\n\nRead-only.",
          "format": "google-datetime",
          "type": "string"
        },
        "invitationId": {
          "description": "Unique identifier for this invitation.\n\nRead-only.",
          "type": "string"
        },
        "invitedEmailAddress": {
          "description": "Email address that the invitation was sent to.\nThis field is only visible to domain administrators.",
          "type": "string"
        },
        "state": {
          "description": "The state that this invitation is in.",
          "enum": [
            "GUARDIAN_INVITATION_STATE_UNSPECIFIED",
            "PENDING",
            "COMPLETE"
          ],
          "enumDescriptions": [
            "Should never be returned.",
            "The invitation is active and awaiting a response.",
            "The invitation is no longer active. It may have been accepted, declined,\nwithdrawn or it may have expired."
          ],
          "type": "string"
        },
        "studentId": {
          "description": "ID of the student (in standard format)",
          "type": "string"
        }
      },
      "type": "object"
    },
    "IndividualStudentsOptions": {
      "description": "Assignee details about a coursework/announcement.\nThis field is set if and only if `assigneeMode` is `INDIVIDUAL_STUDENTS`.",
      "id": "IndividualStudentsOptions",
      "properties": {
        "studentIds": {
          "description": "Identifiers for the students that have access to the\ncoursework/announcement.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Invitation": {
      "description": "An invitation to join a course.",
      "id": "Invitation",
      "properties": {
        "courseId": {
          "description": "Identifier of the course to invite the user to.",
          "type": "string"
        },
        "id": {
          "description": "Identifier assigned by Classroom.\n\nRead-only.",
          "type": "string"
        },
        "role": {
          "description": "Role to invite the user to have.\nMust not be `COURSE_ROLE_UNSPECIFIED`.",
          "enum": [
            "COURSE_ROLE_UNSPECIFIED",
            "STUDENT",
            "TEACHER",
            "OWNER"
          ],
          "enumDescriptions": [
            "No course role.",
            "Student in the course.",
            "Teacher of the course.",
            "Owner of the course."
          ],
          "type": "string"
        },
        "userId": {
          "description": "Identifier of the invited user.\n\nWhen specified as a parameter of a request, this identifier can be set to\none 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",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Link": {
      "description": "URL item.",
      "id": "Link",
      "properties": {
        "thumbnailUrl": {
          "description": "URL of a thumbnail image of the target URL.\n\nRead-only.",
          "type": "string"
        },
        "title": {
          "description": "Title of the target of the URL.\n\nRead-only.",
          "type": "string"
        },
        "url": {
          "description": "URL to link to.\nThis must be a valid UTF-8 string containing between 1 and 2024 characters.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListAnnouncementsResponse": {
      "description": "Response when listing course work.",
      "id": "ListAnnouncementsResponse",
      "properties": {
        "announcements": {
          "description": "Announcement items that match the request.",
          "items": {
            "$ref": "Announcement"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListCourseAliasesResponse": {
      "description": "Response when listing course aliases.",
      "id": "ListCourseAliasesResponse",
      "properties": {
        "aliases": {
          "description": "The course aliases.",
          "items": {
            "$ref": "CourseAlias"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListCourseWorkResponse": {
      "description": "Response when listing course work.",
      "id": "ListCourseWorkResponse",
      "properties": {
        "courseWork": {
          "description": "Course work items that match the request.",
          "items": {
            "$ref": "CourseWork"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListCoursesResponse": {
      "description": "Response when listing courses.",
      "id": "ListCoursesResponse",
      "properties": {
        "courses": {
          "description": "Courses that match the list request.",
          "items": {
            "$ref": "Course"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListGuardianInvitationsResponse": {
      "description": "Response when listing guardian invitations.",
      "id": "ListGuardianInvitationsResponse",
      "properties": {
        "guardianInvitations": {
          "description": "Guardian invitations that matched the list request.",
          "items": {
            "$ref": "GuardianInvitation"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListGuardiansResponse": {
      "description": "Response when listing guardians.",
      "id": "ListGuardiansResponse",
      "properties": {
        "guardians": {
          "description": "Guardians on this page of results that met the criteria specified in\nthe request.",
          "items": {
            "$ref": "Guardian"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListInvitationsResponse": {
      "description": "Response when listing invitations.",
      "id": "ListInvitationsResponse",
      "properties": {
        "invitations": {
          "description": "Invitations that match the list request.",
          "items": {
            "$ref": "Invitation"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListStudentSubmissionsResponse": {
      "description": "Response when listing student submissions.",
      "id": "ListStudentSubmissionsResponse",
      "properties": {
        "nextPageToken": {
          "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.",
          "type": "string"
        },
        "studentSubmissions": {
          "description": "Student work that matches the request.",
          "items": {
            "$ref": "StudentSubmission"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListStudentsResponse": {
      "description": "Response when listing students.",
      "id": "ListStudentsResponse",
      "properties": {
        "nextPageToken": {
          "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.",
          "type": "string"
        },
        "students": {
          "description": "Students who match the list request.",
          "items": {
            "$ref": "Student"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListTeachersResponse": {
      "description": "Response when listing teachers.",
      "id": "ListTeachersResponse",
      "properties": {
        "nextPageToken": {
          "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.",
          "type": "string"
        },
        "teachers": {
          "description": "Teachers who match the list request.",
          "items": {
            "$ref": "Teacher"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListTopicResponse": {
      "description": "Response when listing topics.",
      "id": "ListTopicResponse",
      "properties": {
        "nextPageToken": {
          "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.",
          "type": "string"
        },
        "topic": {
          "description": "Topic items that match the request.",
          "items": {
            "$ref": "Topic"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Material": {
      "description": "Material attached to course work.\n\nWhen creating attachments, setting the `form` field is not supported.",
      "id": "Material",
      "properties": {
        "driveFile": {
          "$ref": "SharedDriveFile",
          "description": "Google Drive file material."
        },
        "form": {
          "$ref": "Form",
          "description": "Google Forms material."
        },
        "link": {
          "$ref": "Link",
          "description": "Link material. On creation, will be upgraded to a more appropriate type\nif possible, and this will be reflected in the response."
        },
        "youtubeVideo": {
          "$ref": "YouTubeVideo",
          "description": "YouTube video material."
        }
      },
      "type": "object"
    },
    "ModifyAnnouncementAssigneesRequest": {
      "description": "Request to modify assignee mode and options of an announcement.",
      "id": "ModifyAnnouncementAssigneesRequest",
      "properties": {
        "assigneeMode": {
          "description": "Mode of the announcement describing whether it will be accessible by all\nstudents or specified individual students.",
          "enum": [
            "ASSIGNEE_MODE_UNSPECIFIED",
            "ALL_STUDENTS",
            "INDIVIDUAL_STUDENTS"
          ],
          "enumDescriptions": [
            "No mode specified. This is never returned.",
            "All students can see the item.\nThis is the default state.",
            "A subset of the students can see the item."
          ],
          "type": "string"
        },
        "modifyIndividualStudentsOptions": {
          "$ref": "ModifyIndividualStudentsOptions",
          "description": "Set which students can view or cannot view the announcement.\nMust be specified only when `assigneeMode` is `INDIVIDUAL_STUDENTS`."
        }
      },
      "type": "object"
    },
    "ModifyAttachmentsRequest": {
      "description": "Request to modify the attachments of a student submission.",
      "id": "ModifyAttachmentsRequest",
      "properties": {
        "addAttachments": {
          "description": "Attachments to add.\nA student submission may not have more than 20 attachments.\n\nForm attachments are not supported.",
          "items": {
            "$ref": "Attachment"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ModifyCourseWorkAssigneesRequest": {
      "description": "Request to modify assignee mode and options of a coursework.",
      "id": "ModifyCourseWorkAssigneesRequest",
      "properties": {
        "assigneeMode": {
          "description": "Mode of the coursework describing whether it will be assigned to all\nstudents or specified individual students.",
          "enum": [
            "ASSIGNEE_MODE_UNSPECIFIED",
            "ALL_STUDENTS",
            "INDIVIDUAL_STUDENTS"
          ],
          "enumDescriptions": [
            "No mode specified. This is never returned.",
            "All students can see the item.\nThis is the default state.",
            "A subset of the students can see the item."
          ],
          "type": "string"
        },
        "modifyIndividualStudentsOptions": {
          "$ref": "ModifyIndividualStudentsOptions",
          "description": "Set which students are assigned or not assigned to the coursework.\nMust be specified only when `assigneeMode` is `INDIVIDUAL_STUDENTS`."
        }
      },
      "type": "object"
    },
    "ModifyIndividualStudentsOptions": {
      "description": "Contains fields to add or remove students from a course work or announcement\nwhere the `assigneeMode` is set to `INDIVIDUAL_STUDENTS`.",
      "id": "ModifyIndividualStudentsOptions",
      "properties": {
        "addStudentIds": {
          "description": "Ids of students to be added as having access to this\ncoursework/announcement.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "removeStudentIds": {
          "description": "Ids of students to be removed from having access to this\ncoursework/announcement.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "MultipleChoiceQuestion": {
      "description": "Additional details for multiple-choice questions.",
      "id": "MultipleChoiceQuestion",
      "properties": {
        "choices": {
          "description": "Possible choices.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "MultipleChoiceSubmission": {
      "description": "Student work for a multiple-choice question.",
      "id": "MultipleChoiceSubmission",
      "properties": {
        "answer": {
          "description": "Student's select choice.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Name": {
      "description": "Details of the user's name.",
      "id": "Name",
      "properties": {
        "familyName": {
          "description": "The user's last name.\n\nRead-only.",
          "type": "string"
        },
        "fullName": {
          "description": "The user's full name formed by concatenating the first and last name\nvalues.\n\nRead-only.",
          "type": "string"
        },
        "givenName": {
          "description": "The user's first name.\n\nRead-only.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ReclaimStudentSubmissionRequest": {
      "description": "Request to reclaim a student submission.",
      "id": "ReclaimStudentSubmissionRequest",
      "properties": {},
      "type": "object"
    },
    "Registration": {
      "description": "An instruction to Classroom to send notifications from the `feed` to the\nprovided destination.",
      "id": "Registration",
      "properties": {
        "cloudPubsubTopic": {
          "$ref": "CloudPubsubTopic",
          "description": "The Cloud Pub/Sub topic that notifications are to be sent to."
        },
        "expiryTime": {
          "description": "The time until which the `Registration` is effective.\n\nThis is a read-only field assigned by the server.",
          "format": "google-datetime",
          "type": "string"
        },
        "feed": {
          "$ref": "Feed",
          "description": "Specification for the class of notifications that Classroom should deliver\nto the destination."
        },
        "registrationId": {
          "description": "A server-generated unique identifier for this `Registration`.\n\nRead-only.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ReturnStudentSubmissionRequest": {
      "description": "Request to return a student submission.",
      "id": "ReturnStudentSubmissionRequest",
      "properties": {},
      "type": "object"
    },
    "SharedDriveFile": {
      "description": "Drive file that is used as material for course work.",
      "id": "SharedDriveFile",
      "properties": {
        "driveFile": {
          "$ref": "DriveFile",
          "description": "Drive file details."
        },
        "shareMode": {
          "description": "Mechanism by which students access the Drive item.",
          "enum": [
            "UNKNOWN_SHARE_MODE",
            "VIEW",
            "EDIT",
            "STUDENT_COPY"
          ],
          "enumDescriptions": [
            "No sharing mode specified. This should never be returned.",
            "Students can view the shared file.",
            "Students can edit the shared file.",
            "Students have a personal copy of the shared file."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "ShortAnswerSubmission": {
      "description": "Student work for a short answer question.",
      "id": "ShortAnswerSubmission",
      "properties": {
        "answer": {
          "description": "Student response to a short-answer question.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "StateHistory": {
      "description": "The history of each state this submission has been in.",
      "id": "StateHistory",
      "properties": {
        "actorUserId": {
          "description": "The teacher or student who made the change",
          "type": "string"
        },
        "state": {
          "description": "The workflow pipeline stage.",
          "enum": [
            "STATE_UNSPECIFIED",
            "CREATED",
            "TURNED_IN",
            "RETURNED",
            "RECLAIMED_BY_STUDENT",
            "STUDENT_EDITED_AFTER_TURN_IN"
          ],
          "enumDescriptions": [
            "No state specified. This should never be returned.",
            "The Submission has been created.",
            "The student has turned in an assigned document, which may or may not be\na template.",
            "The teacher has returned the assigned document to the student.",
            "The student turned in the assigned document, and then chose to\n\"unsubmit\" the assignment, giving the student control again as the\nowner.",
            "The student edited their submission after turning it in. Currently,\nonly used by Questions, when the student edits their answer."
          ],
          "type": "string"
        },
        "stateTimestamp": {
          "description": "When the submission entered this state.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Student": {
      "description": "Student in a course.",
      "id": "Student",
      "properties": {
        "courseId": {
          "description": "Identifier of the course.\n\nRead-only.",
          "type": "string"
        },
        "profile": {
          "$ref": "UserProfile",
          "description": "Global user information for the student.\n\nRead-only."
        },
        "studentWorkFolder": {
          "$ref": "DriveFolder",
          "description": "Information about a Drive Folder for this student's work in this course.\nOnly visible to the student and domain administrators.\n\nRead-only."
        },
        "userId": {
          "description": "Identifier of the user.\n\nWhen specified as a parameter of a request, this identifier can be one of\nthe 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",
          "type": "string"
        }
      },
      "type": "object"
    },
    "StudentSubmission": {
      "description": "Student submission for course work.\n\nStudentSubmission items are generated when a CourseWork item is created.\n\nStudentSubmissions that have never been accessed (i.e. with `state` = NEW)\nmay not have a creation time or update time.",
      "id": "StudentSubmission",
      "properties": {
        "alternateLink": {
          "description": "Absolute link to the submission in the Classroom web UI.\n\nRead-only.",
          "type": "string"
        },
        "assignedGrade": {
          "description": "Optional grade. If unset, no grade was set.\nThis value must be non-negative. Decimal (i.e. non-integer) values are\nallowed, but will be rounded to two decimal places.\n\nThis may be modified only by course teachers.",
          "format": "double",
          "type": "number"
        },
        "assignmentSubmission": {
          "$ref": "AssignmentSubmission",
          "description": "Submission content when course_work_type is ASSIGNMENT.\n\nStudents can modify this content using\ngoogle.classroom.Work.ModifyAttachments."
        },
        "associatedWithDeveloper": {
          "description": "Whether this student submission is associated with the Developer Console\nproject making the request.\n\nSee google.classroom.Work.CreateCourseWork for more\ndetails.\n\nRead-only.",
          "type": "boolean"
        },
        "courseId": {
          "description": "Identifier of the course.\n\nRead-only.",
          "type": "string"
        },
        "courseWorkId": {
          "description": "Identifier for the course work this corresponds to.\n\nRead-only.",
          "type": "string"
        },
        "courseWorkType": {
          "description": "Type of course work this submission is for.\n\nRead-only.",
          "enum": [
            "COURSE_WORK_TYPE_UNSPECIFIED",
            "ASSIGNMENT",
            "SHORT_ANSWER_QUESTION",
            "MULTIPLE_CHOICE_QUESTION"
          ],
          "enumDescriptions": [
            "No work type specified. This is never returned.",
            "An assignment.",
            "A short answer question.",
            "A multiple-choice question."
          ],
          "type": "string"
        },
        "creationTime": {
          "description": "Creation time of this submission.\nThis may be unset if the student has not accessed this item.\n\nRead-only.",
          "format": "google-datetime",
          "type": "string"
        },
        "draftGrade": {
          "description": "Optional pending grade. If unset, no grade was set.\nThis value must be non-negative. Decimal (i.e. non-integer) values are\nallowed, but will be rounded to two decimal places.\n\nThis is only visible to and modifiable by course teachers.",
          "format": "double",
          "type": "number"
        },
        "id": {
          "description": "Classroom-assigned Identifier for the student submission.\nThis is unique among submissions for the relevant course work.\n\nRead-only.",
          "type": "string"
        },
        "late": {
          "description": "Whether this submission is late.\n\nRead-only.",
          "type": "boolean"
        },
        "multipleChoiceSubmission": {
          "$ref": "MultipleChoiceSubmission",
          "description": "Submission content when course_work_type is MULTIPLE_CHOICE_QUESTION."
        },
        "shortAnswerSubmission": {
          "$ref": "ShortAnswerSubmission",
          "description": "Submission content when course_work_type is SHORT_ANSWER_QUESTION."
        },
        "state": {
          "description": "State of this submission.\n\nRead-only.",
          "enum": [
            "SUBMISSION_STATE_UNSPECIFIED",
            "NEW",
            "CREATED",
            "TURNED_IN",
            "RETURNED",
            "RECLAIMED_BY_STUDENT"
          ],
          "enumDescriptions": [
            "No state specified. This should never be returned.",
            "The student has never accessed this submission. Attachments are not\nreturned and timestamps is not set.",
            "Has been created.",
            "Has been turned in to the teacher.",
            "Has been returned to the student.",
            "Student chose to \"unsubmit\" the assignment."
          ],
          "type": "string"
        },
        "submissionHistory": {
          "description": "The history of the submission (includes state and grade histories).\n\nRead-only.",
          "items": {
            "$ref": "SubmissionHistory"
          },
          "type": "array"
        },
        "updateTime": {
          "description": "Last update time of this submission.\nThis may be unset if the student has not accessed this item.\n\nRead-only.",
          "format": "google-datetime",
          "type": "string"
        },
        "userId": {
          "description": "Identifier for the student that owns this submission.\n\nRead-only.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SubmissionHistory": {
      "description": "The history of the submission. This currently includes state and grade\nhistories.",
      "id": "SubmissionHistory",
      "properties": {
        "gradeHistory": {
          "$ref": "GradeHistory",
          "description": "The grade history information of the submission, if present."
        },
        "stateHistory": {
          "$ref": "StateHistory",
          "description": "The state history information of the submission, if present."
        }
      },
      "type": "object"
    },
    "Teacher": {
      "description": "Teacher of a course.",
      "id": "Teacher",
      "properties": {
        "courseId": {
          "description": "Identifier of the course.\n\nRead-only.",
          "type": "string"
        },
        "profile": {
          "$ref": "UserProfile",
          "description": "Global user information for the teacher.\n\nRead-only."
        },
        "userId": {
          "description": "Identifier of the user.\n\nWhen specified as a parameter of a request, this identifier can be one of\nthe 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",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TimeOfDay": {
      "description": "Represents a time of day. The date and time zone are either not significant\nor are specified elsewhere. An API may choose to allow leap seconds. Related\ntypes are google.type.Date and `google.protobuf.Timestamp`.",
      "id": "TimeOfDay",
      "properties": {
        "hours": {
          "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose\nto allow the value \"24:00:00\" for scenarios like business closing time.",
          "format": "int32",
          "type": "integer"
        },
        "minutes": {
          "description": "Minutes of hour of day. Must be from 0 to 59.",
          "format": "int32",
          "type": "integer"
        },
        "nanos": {
          "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.",
          "format": "int32",
          "type": "integer"
        },
        "seconds": {
          "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may\nallow the value 60 if it allows leap-seconds.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "Topic": {
      "description": "Topic created by a teacher for the course",
      "id": "Topic",
      "properties": {
        "courseId": {
          "description": "Identifier of the course.\n\nRead-only.",
          "type": "string"
        },
        "name": {
          "description": "The name of the topic, generated by the user.\nLeading and trailing whitespaces, if any, will be trimmed. Also, multiple\nconsecutive whitespaces will be collapsed into one inside the name. The\nresult must be a non-empty string. Topic names are case sensitive, and must\nbe no longer than 100 characters.",
          "type": "string"
        },
        "topicId": {
          "description": "Unique identifier for the topic.\n\nRead-only.",
          "type": "string"
        },
        "updateTime": {
          "description": "The time the topic was last updated by the system.\n\nRead-only.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TurnInStudentSubmissionRequest": {
      "description": "Request to turn in a student submission.",
      "id": "TurnInStudentSubmissionRequest",
      "properties": {},
      "type": "object"
    },
    "UserProfile": {
      "description": "Global information for a user.",
      "id": "UserProfile",
      "properties": {
        "emailAddress": {
          "description": "Email address of the user.\n\nRead-only.",
          "type": "string"
        },
        "id": {
          "description": "Identifier of the user.\n\nRead-only.",
          "type": "string"
        },
        "name": {
          "$ref": "Name",
          "description": "Name of the user.\n\nRead-only."
        },
        "permissions": {
          "description": "Global permissions of the user.\n\nRead-only.",
          "items": {
            "$ref": "GlobalPermission"
          },
          "type": "array"
        },
        "photoUrl": {
          "description": "URL of user's profile photo.\n\nRead-only.",
          "type": "string"
        },
        "verifiedTeacher": {
          "description": "Represents whether a G Suite for Education user's domain administrator has\nexplicitly verified them as being a teacher. If the user is not a member of\na G Suite for Education domain, than this field will always be false.\n\nRead-only",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "YouTubeVideo": {
      "description": "YouTube video item.",
      "id": "YouTubeVideo",
      "properties": {
        "alternateLink": {
          "description": "URL that can be used to view the YouTube video.\n\nRead-only.",
          "type": "string"
        },
        "id": {
          "description": "YouTube API resource ID.",
          "type": "string"
        },
        "thumbnailUrl": {
          "description": "URL of a thumbnail image of the YouTube video.\n\nRead-only.",
          "type": "string"
        },
        "title": {
          "description": "Title of the YouTube video.\n\nRead-only.",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Google Classroom API",
  "version": "v1"
}