{
  "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.courseworkmaterials": {
          "description": "See, edit, and create classwork materials in Google Classroom"
        },
        "https://www.googleapis.com/auth/classroom.courseworkmaterials.readonly": {
          "description": "See all classwork materials for your Google Classroom classes"
        },
        "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"
                  ]
                }
              }
            }
          }
        },
        "courseWorkMaterials": {
          "methods": {
            "create": {
              "description": "Creates a course work material.\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 material in the requested course,\nshare a Drive attachment, or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed or if more than 20\n* materials are provided.\n* `NOT_FOUND` if the requested course does not exist.\n* `FAILED_PRECONDITION` for the following request error:\n    * AttachmentNotVisible",
              "flatPath": "v1/courses/{courseId}/courseWorkMaterials",
              "httpMethod": "POST",
              "id": "classroom.courses.courseWorkMaterials.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}/courseWorkMaterials",
              "request": {
                "$ref": "CourseWorkMaterial"
              },
              "response": {
                "$ref": "CourseWorkMaterial"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.courseworkmaterials"
              ]
            },
            "delete": {
              "description": "Deletes a course work material.\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 material 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 material, if the requesting user is not\npermitted to delete the requested course or for access errors.\n* `FAILED_PRECONDITION` if the requested course work material has already\nbeen deleted.\n* `NOT_FOUND` if no course exists with the requested ID.",
              "flatPath": "v1/courses/{courseId}/courseWorkMaterials/{id}",
              "httpMethod": "DELETE",
              "id": "classroom.courses.courseWorkMaterials.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 material to delete.\nThis identifier is a Classroom-assigned identifier.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/courseWorkMaterials/{id}",
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.courseworkmaterials"
              ]
            },
            "get": {
              "description": "Returns a course work material.\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 material, or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course or course work material does not\nexist.",
              "flatPath": "v1/courses/{courseId}/courseWorkMaterials/{id}",
              "httpMethod": "GET",
              "id": "classroom.courses.courseWorkMaterials.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 material.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/courseWorkMaterials/{id}",
              "response": {
                "$ref": "CourseWorkMaterial"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.courseworkmaterials",
                "https://www.googleapis.com/auth/classroom.courseworkmaterials.readonly"
              ]
            },
            "list": {
              "description": "Returns a list of course work material that the requester is permitted to\nview.\n\nCourse students may only view `PUBLISHED` course work material. Course\nteachers and domain administrators may view all course work material.\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}/courseWorkMaterials",
              "httpMethod": "GET",
              "id": "classroom.courses.courseWorkMaterials.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"
                },
                "courseWorkMaterialStates": {
                  "description": "Restriction on the work status to return. Only course work material that\nmatches is returned. If unspecified, items with a work status of\n`PUBLISHED` is returned.",
                  "enum": [
                    "COURSEWORK_MATERIAL_STATE_UNSPECIFIED",
                    "PUBLISHED",
                    "DRAFT",
                    "DELETED"
                  ],
                  "location": "query",
                  "repeated": true,
                  "type": "string"
                },
                "materialDriveId": {
                  "description": "Optional filtering for course work material with at least one Drive\nmaterial whose ID matches the provided string. If `material_link` is also\nspecified, course work material must have materials matching both filters.",
                  "location": "query",
                  "type": "string"
                },
                "materialLink": {
                  "description": "Optional filtering for course work material with at least one link material\nwhose URL partially matches the provided string.",
                  "location": "query",
                  "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}/courseWorkMaterials",
              "response": {
                "$ref": "ListCourseWorkMaterialResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.courseworkmaterials",
                "https://www.googleapis.com/auth/classroom.courseworkmaterials.readonly"
              ]
            },
            "patch": {
              "description": "Updates one or more fields of a course work material.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting developer project for\naccess errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `FAILED_PRECONDITION` if the requested course work material has already\nbeen deleted.\n* `NOT_FOUND` if the requested course or course work material does not\nexist",
              "flatPath": "v1/courses/{courseId}/courseWorkMaterials/{id}",
              "httpMethod": "PATCH",
              "id": "classroom.courses.courseWorkMaterials.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 material.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "updateMask": {
                  "description": "Mask that identifies which fields on the course work material 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 course work material\nobject. If a field that does not support empty values is included in the\nupdate mask and not set in the course work material object, an\n`INVALID_ARGUMENT` error will be returned.\n\nThe following fields may be specified by teachers:\n\n* `title`\n* `description`\n* `state`\n* `scheduled_time`\n* `topic_id`",
                  "format": "google-fieldmask",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1/courses/{courseId}/courseWorkMaterials/{id}",
              "request": {
                "$ref": "CourseWorkMaterial"
              },
              "response": {
                "$ref": "CourseWorkMaterial"
              },
              "scopes": [
                "https://www.googleapis.com/auth/classroom.courseworkmaterials"
              ]
            }
          }
        },
        "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": "20200229",
  "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"
    },
    "CourseWorkMaterial": {
      "description": "Course work material created by a teacher for students of the course",
      "id": "CourseWorkMaterial",
      "properties": {
        "alternateLink": {
          "description": "Absolute link to this course work material in the Classroom web UI.\nThis is only populated if `state` is `PUBLISHED`.\n\nRead-only.",
          "type": "string"
        },
        "assigneeMode": {
          "description": "Assignee mode of the course work material.\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 course work material was created.\n\nRead-only.",
          "format": "google-datetime",
          "type": "string"
        },
        "creatorUserId": {
          "description": "Identifier for the user that created the course work material.\n\nRead-only.",
          "type": "string"
        },
        "description": {
          "description": "Optional description of this course work material.\nThe text must be a valid UTF-8 string containing no more\nthan 30,000 characters.",
          "type": "string"
        },
        "id": {
          "description": "Classroom-assigned identifier of this course work material, unique per\ncourse.\n\nRead-only.",
          "type": "string"
        },
        "individualStudentsOptions": {
          "$ref": "IndividualStudentsOptions",
          "description": "Identifiers of students with access to the course work material.\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 course work material."
        },
        "materials": {
          "description": "Additional materials.\n\nA course work material must have no more than 20 material items.",
          "items": {
            "$ref": "Material"
          },
          "type": "array"
        },
        "scheduledTime": {
          "description": "Optional timestamp when this course work material is scheduled to be\npublished.",
          "format": "google-datetime",
          "type": "string"
        },
        "state": {
          "description": "Status of this course work material.\nIf unspecified, the default state is `DRAFT`.",
          "enum": [
            "COURSEWORK_MATERIAL_STATE_UNSPECIFIED",
            "PUBLISHED",
            "DRAFT",
            "DELETED"
          ],
          "enumDescriptions": [
            "No state specified. This is never returned.",
            "Status for course work material that has been published.\nThis is the default state.",
            "Status for an course work material that is not yet published.\nCourse work material in this state is visible only to course teachers and\ndomain administrators.",
            "Status for course work material that was published but is now deleted.\nCourse work material in this state is visible only to course teachers and\ndomain administrators. Course work material in this state is deleted\nafter some time."
          ],
          "type": "string"
        },
        "title": {
          "description": "Title of this course work material.\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 course work material 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 material.\n\nRead-only.",
          "format": "google-datetime",
          "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"
    },
    "ListCourseWorkMaterialResponse": {
      "description": "Response when listing course work material.",
      "id": "ListCourseWorkMaterialResponse",
      "properties": {
        "courseWorkMaterial": {
          "description": "Course work material items that match the request.",
          "items": {
            "$ref": "CourseWorkMaterial"
          },
          "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"
}