@swamp/gcp/classroom
v2026.04.23.1
Google Cloud classroom infrastructure models
Repository
https://github.com/systeminit/swamp-extensions
Labels
gcpgoogle-cloudclassroomcloudinfrastructure
Contents
Quality score
Verified by SwampHow well-documented and verifiable this extension is.
Grade A
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types1/1earned
- Has description1/1earned
- At least one platform tag (or universal)1/1earned
- Two or more platform tags (or universal)1/1earned
- License declared1/1earned
- Verified public repository2/2earned
Install
$ swamp extension pull @swamp/gcp/classroom@swamp/gcp/classroom/coursesv2026.04.23.1courses.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| alternateLink? | string | Absolute link to this course in the Classroom web UI. Read-only. |
| calendarId? | string | The Calendar ID for a calendar that all course members can see, to which Classroom adds events for course work and announcements in the course. The Calendar for a course is created asynchronously when the course is set to `CourseState.ACTIVE` for the first time (at creation time or when it is updated to `ACTIVE` through the UI or the API). The Calendar ID will not be populated until the creation process is completed. Read-only. |
| courseGroupEmail? | string | The email address of a Google group containing all members of the course. This group does not accept email and can only be used for permissions. Read-only. |
| courseState? | enum | State of the course. If unspecified, the default state is `PROVISIONED`. |
| creationTime? | string | Creation time of the course. Specifying this field in a course update mask results in an error. Read-only. |
| description? | string | Optional description. For example, "We\ |
| descriptionHeading? | string | Optional heading for the description. For example, "Welcome to 10th Grade Biology." If set, this field must be a valid UTF-8 string and no longer than 3600 characters. |
| enrollmentCode? | string | Enrollment code to use when joining this course. Specifying this field in a course update mask results in an error. Read-only. |
| gradebookSettings? | object | The gradebook settings for a course. See the [help center article](https://support.google.com/edu/classroom/answer/9184995) for details. |
| guardiansEnabled? | boolean | Whether or not guardian notifications are enabled for this course. Read-only. |
| id? | string | Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask results in an error. |
| name? | string | Name of the course. For example, "10th Grade Biology". The name is required. It must be between 1 and 750 characters and a valid UTF-8 string. |
| ownerId? | string | The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user This must be set in a create request. Admins can also specify this field in a patch course request to transfer ownership. In other contexts, it is read-only. |
| room? | string | Optional room location. For example, "301". If set, this field must be a valid UTF-8 string and no longer than 650 characters. |
| section? | string | Section of the course. For example, "Period 2". If set, this field must be a valid UTF-8 string and no longer than 2800 characters. |
| subject? | string | Optional. The subject of the course. |
| teacherFolder? | object | Representation of a Google Drive folder. |
| teacherGroupEmail? | string | The email address of a Google group containing all teachers of the course. This group does not accept email and can only be used for permissions. Read-only. |
| updateTime? | string | Time of the most recent update to this course. Specifying this field in a course update mask results in an error. Read-only. |
createCreate a courses
getGet a courses
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the courses |
updateUpdate courses attributes
deleteDelete the courses
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the courses |
syncSync courses state from GCP
get_grading_period_settingsget grading period settings
update_grading_period_settingsupdate grading period settings
| Argument | Type | Description |
|---|---|---|
| applyToExistingCoursework? | any | |
| gradingPeriods? | any |
Resources
state(infinite)— A Course in Classroom.
@swamp/gcp/classroom/courses-aliasesv2026.04.23.1courses_aliases.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| alias? | string | Alias string. The format of the string indicates the desired alias scoping. * `d:` indicates a domain-scoped alias. Example: `d:math_101` * `p:` indicates a project-scoped alias. Example: `p:abc123` This field has a maximum length of 256 characters. |
| courseId | string | Identifier of the course to alias. This identifier can be either the Classroom-assigned identifier or an alias. |
createCreate a aliases
getGet a aliases
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the aliases |
deleteDelete the aliases
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the aliases |
syncSync aliases state from GCP
Resources
state(infinite)— Alternative identifier for a course. An alias uniquely identifies a course. I...
@swamp/gcp/classroom/courses-announcementsv2026.04.23.1courses_announcements.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| alternateLink? | string | Absolute link to this announcement in the Classroom web UI. This is only populated if `state` is `PUBLISHED`. Read-only. |
| assigneeMode? | enum | Assignee mode of the announcement. If unspecified, the default value is `ALL_STUDENTS`. |
| courseId? | string | Identifier of the course. Read-only. |
| creationTime? | string | Timestamp when this announcement was created. Read-only. |
| creatorUserId? | string | Identifier for the user that created the announcement. Read-only. |
| id? | string | Classroom-assigned identifier of this announcement, unique per course. Read-only. |
| individualStudentsOptions? | object | Assignee details about a coursework/announcement. This field is set if and only if `assigneeMode` is `INDIVIDUAL_STUDENTS`. |
| materials? | array | Additional materials. Announcements must have no more than 20 material items. |
| scheduledTime? | string | Optional timestamp when this announcement is scheduled to be published. |
| state? | enum | Status of this announcement. If unspecified, the default state is `DRAFT`. |
| text? | string | Description of this announcement. The text must be a valid UTF-8 string containing no more than 30,000 characters. |
| updateTime? | string | Timestamp of the most recent change to this announcement. Read-only. |
createCreate a announcements
getGet a announcements
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the announcements |
updateUpdate announcements attributes
deleteDelete the announcements
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the announcements |
syncSync announcements state from GCP
get_add_on_contextget add on context
modify_assigneesmodify assignees
| Argument | Type | Description |
|---|---|---|
| assigneeMode? | any | |
| modifyIndividualStudentsOptions? | any |
Resources
state(infinite)— Announcement created by a teacher for students of the course
@swamp/gcp/classroom/courses-announcements-addonattachmentsv2026.04.23.1courses_announcements_addonattachments.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| courseId? | string | Immutable. Identifier of the course. |
| dueDate? | object | Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). R |
| dueTime? | object | Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. |
| id? | string | Immutable. Classroom-assigned identifier for this attachment, unique per post. |
| itemId? | string | Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. |
| maxPoints? | number | Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. |
| studentViewUri? | object | URI to be iframed after being populated with query parameters. |
| studentWorkReviewUri? | object | URI to be iframed after being populated with query parameters. |
| teacherViewUri? | object | URI to be iframed after being populated with query parameters. |
| title? | string | Required. Title of this attachment. The title must be between 1 and 1000 characters. |
| addOnToken? | string | Optional. Token that authorizes the request. The token is passed as a query parameter when the user is redirected from Classroom to the add-on's URL. This authorization token is required for in-Classroom attachment creation but optional for partner-first attachment creation. Returns an error if not provided for partner-first attachment creation and the developer projects that created the attachment and its parent stream item do not match. |
createCreate a addOnAttachments
getGet a addOnAttachments
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the addOnAttachments |
updateUpdate addOnAttachments attributes
deleteDelete the addOnAttachments
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the addOnAttachments |
syncSync addOnAttachments state from GCP
Resources
state(infinite)— An add-on attachment on a post.
@swamp/gcp/classroom/courses-courseworkv2026.04.23.1courses_coursework.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| alternateLink? | string | Absolute link to this course work in the Classroom web UI. This is only populated if `state` is `PUBLISHED`. Read-only. |
| assigneeMode? | enum | Assignee mode of the coursework. If unspecified, the default value is `ALL_STUDENTS`. |
| assignment? | object | Additional details for assignments. |
| associatedWithDeveloper? | boolean | Whether this course work item is associated with the Developer Console project making the request. See CreateCourseWork for more details. Read-only. |
| courseId? | string | Identifier of the course. Read-only. |
| creationTime? | string | Timestamp when this course work was created. Read-only. |
| creatorUserId? | string | Identifier for the user that created the coursework. Read-only. |
| description? | string | Optional description of this course work. If set, the description must be a valid UTF-8 string containing no more than 30,000 characters. |
| dueDate? | object | Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). R |
| dueTime? | object | Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. |
| gradeCategory? | object | Details for a grade category in a course. Coursework may have zero or one grade category, and the category may be used in computing the overall grade. See the [help center article](https://support.google.com/edu/classroom/answer/9184995) for details. |
| gradingPeriodId? | string | Identifier of the grading period associated with the coursework. * At creation, if unspecified, the grading period ID will be set based on the `dueDate` (or `scheduledTime` if no `dueDate` is set). * To indicate no association to any grading period, set this field to an empty string (""). * If specified, it must match an existing grading period ID in the course. |
| id? | string | Classroom-assigned identifier of this course work, unique per course. Read-only. |
| individualStudentsOptions? | object | Assignee details about a coursework/announcement. This field is set if and only if `assigneeMode` is `INDIVIDUAL_STUDENTS`. |
| materials? | array | Additional materials. CourseWork must have no more than 20 material items. |
| maxPoints? | number | Maximum grade for this course work. If zero or unspecified, this assignment is considered ungraded. This must be a non-negative integer value. |
| multipleChoiceQuestion? | object | Additional details for multiple-choice questions. |
| scheduledTime? | string | Optional timestamp when this course work is scheduled to be published. |
| state? | enum | Status of this course work. If unspecified, the default state is `DRAFT`. |
| submissionModificationMode? | enum | Setting to determine when students are allowed to modify submissions. If unspecified, the default value is `MODIFIABLE_UNTIL_TURNED_IN`. |
| title? | string | Title of this course work. The title must be a valid UTF-8 string containing between 1 and 3000 characters. |
| topicId? | string | Identifier for the topic that this coursework is associated with. Must match an existing topic in the course. |
| updateTime? | string | Timestamp of the most recent change to this course work. Read-only. |
| workType? | enum | Type of this course work. The type is set when the course work is created and cannot be changed. |
createCreate a courseWork
getGet a courseWork
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the courseWork |
updateUpdate courseWork attributes
deleteDelete the courseWork
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the courseWork |
syncSync courseWork state from GCP
get_add_on_contextget add on context
modify_assigneesmodify assignees
| Argument | Type | Description |
|---|---|---|
| assigneeMode? | any | |
| modifyIndividualStudentsOptions? | any |
update_rubricupdate rubric
| Argument | Type | Description |
|---|---|---|
| courseId? | any | |
| courseWorkId? | any | |
| creationTime? | any | |
| criteria? | any | |
| id? | any | |
| sourceSpreadsheetId? | any | |
| updateTime? | any |
Resources
state(infinite)— Course work created by a teacher for students of the course.
@swamp/gcp/classroom/courses-coursework-addonattachmentsv2026.04.23.1courses_coursework_addonattachments.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| courseId? | string | Immutable. Identifier of the course. |
| dueDate? | object | Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). R |
| dueTime? | object | Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. |
| id? | string | Immutable. Classroom-assigned identifier for this attachment, unique per post. |
| itemId? | string | Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. |
| maxPoints? | number | Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. |
| studentViewUri? | object | URI to be iframed after being populated with query parameters. |
| studentWorkReviewUri? | object | URI to be iframed after being populated with query parameters. |
| teacherViewUri? | object | URI to be iframed after being populated with query parameters. |
| title? | string | Required. Title of this attachment. The title must be between 1 and 1000 characters. |
| addOnToken? | string | Optional. Token that authorizes the request. The token is passed as a query parameter when the user is redirected from Classroom to the add-on's URL. This authorization token is required for in-Classroom attachment creation but optional for partner-first attachment creation. Returns an error if not provided for partner-first attachment creation and the developer projects that created the attachment and its parent stream item do not match. |
createCreate a addOnAttachments
getGet a addOnAttachments
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the addOnAttachments |
updateUpdate addOnAttachments attributes
deleteDelete the addOnAttachments
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the addOnAttachments |
syncSync addOnAttachments state from GCP
Resources
state(infinite)— An add-on attachment on a post.
@swamp/gcp/classroom/courses-coursework-addonattachments-studentsubmissionsv2026.04.23.1courses_coursework_addonattachments_studentsubmissions.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| pointsEarned? | number | Student grade on this attachment. If unset, no grade was set. |
| postSubmissionState? | enum | Submission state of add-on attachment's parent post (i.e. assignment). |
| userId? | string | Identifier for the student that owns this submission. Requires the user to be a teacher in the course and have permission to read student submissions. Read-only. |
getGet a studentSubmissions
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the studentSubmissions |
updateUpdate studentSubmissions attributes
syncSync studentSubmissions state from GCP
Resources
state(infinite)— Payload for grade update requests.
@swamp/gcp/classroom/courses-coursework-rubricsv2026.04.23.1courses_coursework_rubrics.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| courseId? | string | Identifier of the course. Read-only. |
| courseWorkId? | string | Identifier for the course work this corresponds to. Read-only. |
| criteria? | array | List of criteria. Each criterion is a dimension on which performance is rated. |
| id? | string | Classroom-assigned identifier for the rubric. This is unique among rubrics for the relevant course work. Read-only. |
| sourceSpreadsheetId? | string | Input only. Immutable. Google Sheets ID of the spreadsheet. This spreadsheet must contain formatted rubric settings. See [Create or reuse a rubric for an assignment](https://support.google.com/edu/classroom/answer/9335069). Use of this field requires the `https://www.googleapis.com/auth/spreadsheets.readonly` or `https://www.googleapis.com/auth/spreadsheets` scope. |
createCreate a rubrics
getGet a rubrics
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the rubrics |
updateUpdate rubrics attributes
deleteDelete the rubrics
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the rubrics |
syncSync rubrics state from GCP
Resources
state(infinite)— The rubric of the course work. A rubric is a scoring guide used to evaluate s...
@swamp/gcp/classroom/courses-coursework-studentsubmissionsv2026.04.23.1courses_coursework_studentsubmissions.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| alternateLink? | string | Absolute link to the submission in the Classroom web UI. Read-only. |
| assignedGrade? | number | Optional grade. If unset, no grade was set. This value must be non-negative. Decimal (that is, non-integer) values are allowed, but are rounded to two decimal places. This may be modified only by course teachers. |
| assignedRubricGrades? | record | Assigned rubric grades based on the rubric's Criteria. This map is empty if there is no rubric attached to this course work or if a rubric is attached, but no grades have been set on any Criteria. Entries are only populated for grades that have been set. Key: The rubric's criterion ID. Read-only. |
| assignmentSubmission? | object | Student work for an assignment. |
| associatedWithDeveloper? | boolean | Whether this student submission is associated with the Developer Console project making the request. See CreateCourseWork for more details. Read-only. |
| courseId? | string | Identifier of the course. Read-only. |
| courseWorkId? | string | Identifier for the course work this corresponds to. Read-only. |
| courseWorkType? | enum | Type of course work this submission is for. Read-only. |
| creationTime? | string | Creation time of this submission. This may be unset if the student has not accessed this item. Read-only. |
| draftGrade? | number | Optional pending grade. If unset, no grade was set. This value must be non-negative. Decimal (that is, non-integer) values are allowed, but are rounded to two decimal places. This is only visible to and modifiable by course teachers. |
| draftRubricGrades? | record | Pending rubric grades based on the rubric's criteria. This map is empty if there is no rubric attached to this course work or if a rubric is attached, but no grades have been set on any criteria. Entries are only populated for grades that have been set. Key: The rubric's criterion ID. Read-only. |
| id? | string | Classroom-assigned Identifier for the student submission. This is unique among submissions for the relevant course work. Read-only. |
| late? | boolean | Whether this submission is late. Read-only. |
| multipleChoiceSubmission? | object | Student work for a multiple-choice question. |
| shortAnswerSubmission? | object | Student work for a short answer question. |
| state? | enum | State of this submission. Read-only. |
| submissionHistory? | array | The history of the submission (includes state and grade histories). Read-only. |
| updateTime? | string | Last update time of this submission. This may be unset if the student has not accessed this item. Read-only. |
| userId? | string | Identifier for the student that owns this submission. Read-only. |
getGet a studentSubmissions
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the studentSubmissions |
updateUpdate studentSubmissions attributes
syncSync studentSubmissions state from GCP
modify_attachmentsmodify attachments
| Argument | Type | Description |
|---|---|---|
| addAttachments? | any |
reclaimreclaim
returnreturn
turn_inturn in
Resources
state(infinite)— Student submission for course work. `StudentSubmission` items are generated w...
@swamp/gcp/classroom/courses-courseworkmaterialsv2026.04.23.1courses_courseworkmaterials.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| alternateLink? | string | Absolute link to this course work material in the Classroom web UI. This is only populated if `state` is `PUBLISHED`. Read-only. |
| assigneeMode? | enum | Assignee mode of the course work material. If unspecified, the default value is `ALL_STUDENTS`. |
| courseId? | string | Identifier of the course. Read-only. |
| creationTime? | string | Timestamp when this course work material was created. Read-only. |
| creatorUserId? | string | Identifier for the user that created the course work material. Read-only. |
| description? | string | Optional description of this course work material. The text must be a valid UTF-8 string containing no more than 30,000 characters. |
| id? | string | Classroom-assigned identifier of this course work material, unique per course. Read-only. |
| individualStudentsOptions? | object | Assignee details about a coursework/announcement. This field is set if and only if `assigneeMode` is `INDIVIDUAL_STUDENTS`. |
| materials? | array | Additional materials. A course work material must have no more than 20 material items. |
| scheduledTime? | string | Optional timestamp when this course work material is scheduled to be published. |
| state? | enum | Status of this course work material. If unspecified, the default state is `DRAFT`. |
| title? | string | Title of this course work material. The title must be a valid UTF-8 string containing between 1 and 3000 characters. |
| topicId? | string | Identifier for the topic that this course work material is associated with. Must match an existing topic in the course. |
| updateTime? | string | Timestamp of the most recent change to this course work material. Read-only. |
createCreate a courseWorkMaterials
getGet a courseWorkMaterials
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the courseWorkMaterials |
updateUpdate courseWorkMaterials attributes
deleteDelete the courseWorkMaterials
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the courseWorkMaterials |
syncSync courseWorkMaterials state from GCP
get_add_on_contextget add on context
Resources
state(infinite)— Course work material created by a teacher for students of the course
@swamp/gcp/classroom/courses-courseworkmaterials-addonattachmentsv2026.04.23.1courses_courseworkmaterials_addonattachments.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| courseId? | string | Immutable. Identifier of the course. |
| dueDate? | object | Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). R |
| dueTime? | object | Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. |
| id? | string | Immutable. Classroom-assigned identifier for this attachment, unique per post. |
| itemId? | string | Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. |
| maxPoints? | number | Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. |
| studentViewUri? | object | URI to be iframed after being populated with query parameters. |
| studentWorkReviewUri? | object | URI to be iframed after being populated with query parameters. |
| teacherViewUri? | object | URI to be iframed after being populated with query parameters. |
| title? | string | Required. Title of this attachment. The title must be between 1 and 1000 characters. |
| addOnToken? | string | Optional. Token that authorizes the request. The token is passed as a query parameter when the user is redirected from Classroom to the add-on's URL. This authorization token is required for in-Classroom attachment creation but optional for partner-first attachment creation. Returns an error if not provided for partner-first attachment creation and the developer projects that created the attachment and its parent stream item do not match. |
createCreate a addOnAttachments
getGet a addOnAttachments
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the addOnAttachments |
updateUpdate addOnAttachments attributes
deleteDelete the addOnAttachments
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the addOnAttachments |
syncSync addOnAttachments state from GCP
Resources
state(infinite)— An add-on attachment on a post.
@swamp/gcp/classroom/courses-posts-addonattachmentsv2026.04.23.1courses_posts_addonattachments.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| courseId? | string | Immutable. Identifier of the course. |
| dueDate? | object | Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). R |
| dueTime? | object | Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. |
| id? | string | Immutable. Classroom-assigned identifier for this attachment, unique per post. |
| itemId? | string | Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course. |
| maxPoints? | number | Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback. |
| studentViewUri? | object | URI to be iframed after being populated with query parameters. |
| studentWorkReviewUri? | object | URI to be iframed after being populated with query parameters. |
| teacherViewUri? | object | URI to be iframed after being populated with query parameters. |
| title? | string | Required. Title of this attachment. The title must be between 1 and 1000 characters. |
| addOnToken? | string | Optional. Token that authorizes the request. The token is passed as a query parameter when the user is redirected from Classroom to the add-on's URL. This authorization token is required for in-Classroom attachment creation but optional for partner-first attachment creation. Returns an error if not provided for partner-first attachment creation and the developer projects that created the attachment and its parent stream item do not match. |
createCreate a addOnAttachments
getGet a addOnAttachments
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the addOnAttachments |
updateUpdate addOnAttachments attributes
deleteDelete the addOnAttachments
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the addOnAttachments |
syncSync addOnAttachments state from GCP
Resources
state(infinite)— An add-on attachment on a post.
@swamp/gcp/classroom/courses-posts-addonattachments-studentsubmissionsv2026.04.23.1courses_posts_addonattachments_studentsubmissions.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| pointsEarned? | number | Student grade on this attachment. If unset, no grade was set. |
| postSubmissionState? | enum | Submission state of add-on attachment's parent post (i.e. assignment). |
| userId? | string | Identifier for the student that owns this submission. Requires the user to be a teacher in the course and have permission to read student submissions. Read-only. |
getGet a studentSubmissions
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the studentSubmissions |
updateUpdate studentSubmissions attributes
syncSync studentSubmissions state from GCP
Resources
state(infinite)— Payload for grade update requests.
@swamp/gcp/classroom/courses-studentgroupsv2026.04.23.1courses_studentgroups.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| courseId? | string | The identifier of the course. |
| id? | string | The identifier of the student group. |
| title? | string | The title of the student group. |
createCreate a studentGroups
getGet a studentGroups
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the studentGroups |
updateUpdate studentGroups attributes
deleteDelete the studentGroups
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the studentGroups |
syncSync studentGroups state from GCP
Resources
state(infinite)— A student group in a course.
@swamp/gcp/classroom/courses-studentgroups-studentgroupmembersv2026.04.23.1courses_studentgroups_studentgroupmembers.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| courseId? | string | The identifier of the course. |
| studentGroupId? | string | The identifier of the student group. |
| userId? | string | Identifier of the student. |
createCreate a studentGroupMembers
getGet a studentGroupMembers
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the studentGroupMembers |
deleteDelete the studentGroupMembers
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the studentGroupMembers |
syncSync studentGroupMembers state from GCP
Resources
state(infinite)— A student member in a student group.
@swamp/gcp/classroom/courses-studentsv2026.04.23.1courses_students.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| courseId? | string | Identifier of the course. Read-only. |
| profile? | object | Global information for a user. |
| studentWorkFolder? | object | Representation of a Google Drive folder. |
| userId? | string | Identifier of the user. When specified as a parameter of a request, this identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user |
| enrollmentCode? | string | Enrollment code of the course to create the student in. This code is required if userId corresponds to the requesting user; it may be omitted if the requesting user has administrative permissions to create students for any user. |
createCreate a students
getGet a students
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the students |
deleteDelete the students
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the students |
syncSync students state from GCP
Resources
state(infinite)— Student in a course.
@swamp/gcp/classroom/courses-teachersv2026.04.23.1courses_teachers.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| courseId? | string | Identifier of the course. Read-only. |
| profile? | object | Global information for a user. |
| userId? | string | Identifier of the user. When specified as a parameter of a request, this identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user |
createCreate a teachers
getGet a teachers
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the teachers |
deleteDelete the teachers
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the teachers |
syncSync teachers state from GCP
Resources
state(infinite)— Teacher of a course.
@swamp/gcp/classroom/courses-topicsv2026.04.23.1courses_topics.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| courseId? | string | Identifier of the course. Read-only. |
| name? | string | The name of the topic, generated by the user. Leading and trailing whitespaces, if any, are trimmed. Also, multiple consecutive whitespaces are collapsed into one inside the name. The result must be a non-empty string. Topic names are case sensitive, and must be no longer than 100 characters. |
| topicId? | string | Unique identifier for the topic. Read-only. |
| updateTime? | string | The time the topic was last updated by the system. Read-only. |
createCreate a topics
getGet a topics
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the topics |
updateUpdate topics attributes
deleteDelete the topics
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the topics |
syncSync topics state from GCP
Resources
state(infinite)— Topic created by a teacher for the course
@swamp/gcp/classroom/invitationsv2026.04.23.1invitations.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| courseId? | string | Identifier of the course to invite the user to. |
| id? | string | Identifier assigned by Classroom. Read-only. |
| role? | enum | Role to invite the user to have. Must not be `COURSE_ROLE_UNSPECIFIED`. |
| userId? | string | Identifier of the invited user. When specified as a parameter of a request, this identifier can be set to one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user |
createCreate a invitations
getGet a invitations
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the invitations |
deleteDelete the invitations
| Argument | Type | Description |
|---|---|---|
| identifier | string | The id of the invitations |
syncSync invitations state from GCP
acceptaccept
Resources
state(infinite)— An invitation to join a course.
@swamp/gcp/classroom/userprofilesv2026.04.23.1userprofiles.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
getGet a userProfiles
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the userProfiles |
syncSync userProfiles state from GCP
Resources
state(infinite)— Global information for a user.
@swamp/gcp/classroom/userprofiles-guardianinvitationsv2026.04.23.1userprofiles_guardianinvitations.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
| creationTime? | string | The time that this invitation was created. Read-only. |
| invitationId? | string | Unique identifier for this invitation. Read-only. |
| invitedEmailAddress? | string | Email address that the invitation was sent to. This field is only visible to domain administrators. |
| state? | enum | The state that this invitation is in. |
| studentId? | string | ID of the student (in standard format) |
createCreate a guardianInvitations
getGet a guardianInvitations
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the guardianInvitations |
updateUpdate guardianInvitations attributes
syncSync guardianInvitations state from GCP
Resources
state(infinite)— An invitation to become the guardian of a specified user, sent to a specified...
@swamp/gcp/classroom/userprofiles-guardiansv2026.04.23.1userprofiles_guardians.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
getGet a guardians
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the guardians |
deleteDelete the guardians
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the guardians |
syncSync guardians state from GCP
Resources
state(infinite)— Association between a student and a guardian of that student. The guardian ma...
2026.04.04.1109.9 KBApr 4, 2026
Google Cloud classroom infrastructure models
Release Notes
- Updated: courses
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
gcpgoogle-cloudclassroomcloudinfrastructure
2026.04.03.3109.5 KBApr 3, 2026
Google Cloud classroom infrastructure models
Release Notes
- Updated: courses, courses_aliases, courses_announcements, courses_announcements_addonattachments, courses_coursework, courses_coursework_addonattachments, courses_coursework_addonattachments_studentsubmissions, courses_coursework_rubrics, courses_coursework_studentsubmissions, courses_courseworkmaterials, courses_courseworkmaterials_addonattachments, courses_posts_addonattachments, courses_posts_addonattachments_studentsubmissions, courses_studentgroups, courses_studentgroups_studentgroupmembers, courses_students, courses_teachers, courses_topics, invitations, userprofiles, userprofiles_guardianinvitations, userprofiles_guardians
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
gcpgoogle-cloudclassroomcloudinfrastructure
2026.04.03.1106.9 KBApr 3, 2026
Google Cloud classroom infrastructure models
Release Notes
- Updated: courses, courses_aliases, courses_announcements, courses_announcements_addonattachments, courses_coursework, courses_coursework_addonattachments, courses_coursework_addonattachments_studentsubmissions, courses_coursework_rubrics, courses_coursework_studentsubmissions, courses_courseworkmaterials, courses_courseworkmaterials_addonattachments, courses_posts_addonattachments, courses_posts_addonattachments_studentsubmissions, courses_studentgroups, courses_studentgroups_studentgroupmembers, courses_students, courses_teachers, courses_topics, invitations, userprofiles, userprofiles_guardianinvitations, userprofiles_guardians
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
gcpgoogle-cloudclassroomcloudinfrastructure
2026.04.02.2106.8 KBApr 2, 2026
Google Cloud classroom infrastructure models
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
gcpgoogle-cloudclassroomcloudinfrastructure
2026.03.27.1105.9 KBMar 27, 2026
Google Cloud classroom infrastructure models
Release Notes
- Added: courses, courses_aliases, courses_announcements, courses_announcements_addonattachments, courses_coursework, courses_coursework_addonattachments, courses_coursework_addonattachments_studentsubmissions, courses_coursework_rubrics, courses_coursework_studentsubmissions, courses_courseworkmaterials, courses_courseworkmaterials_addonattachments, courses_posts_addonattachments, courses_posts_addonattachments_studentsubmissions, courses_studentgroups, courses_studentgroups_studentgroupmembers, courses_students, courses_teachers, courses_topics, invitations, userprofiles, userprofiles_guardianinvitations, userprofiles_guardians
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
gcpgoogle-cloudclassroomcloudinfrastructure