Skip to main content

@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 Swamp

How well-documented and verifiable this extension is.

100%

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

ArgumentTypeDescription
alternateLink?stringAbsolute link to this course in the Classroom web UI. Read-only.
calendarId?stringThe 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?stringThe 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?enumState of the course. If unspecified, the default state is `PROVISIONED`.
creationTime?stringCreation time of the course. Specifying this field in a course update mask results in an error. Read-only.
description?stringOptional description. For example, "We\
descriptionHeading?stringOptional 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?stringEnrollment code to use when joining this course. Specifying this field in a course update mask results in an error. Read-only.
gradebookSettings?objectThe gradebook settings for a course. See the [help center article](https://support.google.com/edu/classroom/answer/9184995) for details.
guardiansEnabled?booleanWhether or not guardian notifications are enabled for this course. Read-only.
id?stringIdentifier 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?stringName 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?stringThe 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?stringOptional room location. For example, "301". If set, this field must be a valid UTF-8 string and no longer than 650 characters.
section?stringSection 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?stringOptional. The subject of the course.
teacherFolder?objectRepresentation of a Google Drive folder.
teacherGroupEmail?stringThe 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?stringTime 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
ArgumentTypeDescription
identifierstringThe id of the courses
updateUpdate courses attributes
deleteDelete the courses
ArgumentTypeDescription
identifierstringThe id of the courses
syncSync courses state from GCP
get_grading_period_settingsget grading period settings
update_grading_period_settingsupdate grading period settings
ArgumentTypeDescription
applyToExistingCoursework?any
gradingPeriods?any

Resources

state(infinite)— A Course in Classroom.
@swamp/gcp/classroom/courses-aliasesv2026.04.23.1courses_aliases.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
alias?stringAlias 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.
courseIdstringIdentifier of the course to alias. This identifier can be either the Classroom-assigned identifier or an alias.
createCreate a aliases
getGet a aliases
ArgumentTypeDescription
identifierstringThe name of the aliases
deleteDelete the aliases
ArgumentTypeDescription
identifierstringThe 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

ArgumentTypeDescription
alternateLink?stringAbsolute link to this announcement in the Classroom web UI. This is only populated if `state` is `PUBLISHED`. Read-only.
assigneeMode?enumAssignee mode of the announcement. If unspecified, the default value is `ALL_STUDENTS`.
courseId?stringIdentifier of the course. Read-only.
creationTime?stringTimestamp when this announcement was created. Read-only.
creatorUserId?stringIdentifier for the user that created the announcement. Read-only.
id?stringClassroom-assigned identifier of this announcement, unique per course. Read-only.
individualStudentsOptions?objectAssignee details about a coursework/announcement. This field is set if and only if `assigneeMode` is `INDIVIDUAL_STUDENTS`.
materials?arrayAdditional materials. Announcements must have no more than 20 material items.
scheduledTime?stringOptional timestamp when this announcement is scheduled to be published.
state?enumStatus of this announcement. If unspecified, the default state is `DRAFT`.
text?stringDescription of this announcement. The text must be a valid UTF-8 string containing no more than 30,000 characters.
updateTime?stringTimestamp of the most recent change to this announcement. Read-only.
createCreate a announcements
getGet a announcements
ArgumentTypeDescription
identifierstringThe id of the announcements
updateUpdate announcements attributes
deleteDelete the announcements
ArgumentTypeDescription
identifierstringThe id of the announcements
syncSync announcements state from GCP
get_add_on_contextget add on context
modify_assigneesmodify assignees
ArgumentTypeDescription
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

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
courseId?stringImmutable. Identifier of the course.
dueDate?objectRepresents 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?objectRepresents 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?stringImmutable. Classroom-assigned identifier for this attachment, unique per post.
itemId?stringImmutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course.
maxPoints?numberMaximum 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?objectURI to be iframed after being populated with query parameters.
studentWorkReviewUri?objectURI to be iframed after being populated with query parameters.
teacherViewUri?objectURI to be iframed after being populated with query parameters.
title?stringRequired. Title of this attachment. The title must be between 1 and 1000 characters.
addOnToken?stringOptional. 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
ArgumentTypeDescription
identifierstringThe name of the addOnAttachments
updateUpdate addOnAttachments attributes
deleteDelete the addOnAttachments
ArgumentTypeDescription
identifierstringThe 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

ArgumentTypeDescription
alternateLink?stringAbsolute link to this course work in the Classroom web UI. This is only populated if `state` is `PUBLISHED`. Read-only.
assigneeMode?enumAssignee mode of the coursework. If unspecified, the default value is `ALL_STUDENTS`.
assignment?objectAdditional details for assignments.
associatedWithDeveloper?booleanWhether this course work item is associated with the Developer Console project making the request. See CreateCourseWork for more details. Read-only.
courseId?stringIdentifier of the course. Read-only.
creationTime?stringTimestamp when this course work was created. Read-only.
creatorUserId?stringIdentifier for the user that created the coursework. Read-only.
description?stringOptional description of this course work. If set, the description must be a valid UTF-8 string containing no more than 30,000 characters.
dueDate?objectRepresents 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?objectRepresents 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?objectDetails 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?stringIdentifier 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?stringClassroom-assigned identifier of this course work, unique per course. Read-only.
individualStudentsOptions?objectAssignee details about a coursework/announcement. This field is set if and only if `assigneeMode` is `INDIVIDUAL_STUDENTS`.
materials?arrayAdditional materials. CourseWork must have no more than 20 material items.
maxPoints?numberMaximum grade for this course work. If zero or unspecified, this assignment is considered ungraded. This must be a non-negative integer value.
multipleChoiceQuestion?objectAdditional details for multiple-choice questions.
scheduledTime?stringOptional timestamp when this course work is scheduled to be published.
state?enumStatus of this course work. If unspecified, the default state is `DRAFT`.
submissionModificationMode?enumSetting to determine when students are allowed to modify submissions. If unspecified, the default value is `MODIFIABLE_UNTIL_TURNED_IN`.
title?stringTitle of this course work. The title must be a valid UTF-8 string containing between 1 and 3000 characters.
topicId?stringIdentifier for the topic that this coursework is associated with. Must match an existing topic in the course.
updateTime?stringTimestamp of the most recent change to this course work. Read-only.
workType?enumType of this course work. The type is set when the course work is created and cannot be changed.
createCreate a courseWork
getGet a courseWork
ArgumentTypeDescription
identifierstringThe id of the courseWork
updateUpdate courseWork attributes
deleteDelete the courseWork
ArgumentTypeDescription
identifierstringThe id of the courseWork
syncSync courseWork state from GCP
get_add_on_contextget add on context
modify_assigneesmodify assignees
ArgumentTypeDescription
assigneeMode?any
modifyIndividualStudentsOptions?any
update_rubricupdate rubric
ArgumentTypeDescription
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

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
courseId?stringImmutable. Identifier of the course.
dueDate?objectRepresents 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?objectRepresents 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?stringImmutable. Classroom-assigned identifier for this attachment, unique per post.
itemId?stringImmutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course.
maxPoints?numberMaximum 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?objectURI to be iframed after being populated with query parameters.
studentWorkReviewUri?objectURI to be iframed after being populated with query parameters.
teacherViewUri?objectURI to be iframed after being populated with query parameters.
title?stringRequired. Title of this attachment. The title must be between 1 and 1000 characters.
addOnToken?stringOptional. 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
ArgumentTypeDescription
identifierstringThe name of the addOnAttachments
updateUpdate addOnAttachments attributes
deleteDelete the addOnAttachments
ArgumentTypeDescription
identifierstringThe 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

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
pointsEarned?numberStudent grade on this attachment. If unset, no grade was set.
postSubmissionState?enumSubmission state of add-on attachment's parent post (i.e. assignment).
userId?stringIdentifier 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
ArgumentTypeDescription
identifierstringThe 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

ArgumentTypeDescription
courseId?stringIdentifier of the course. Read-only.
courseWorkId?stringIdentifier for the course work this corresponds to. Read-only.
criteria?arrayList of criteria. Each criterion is a dimension on which performance is rated.
id?stringClassroom-assigned identifier for the rubric. This is unique among rubrics for the relevant course work. Read-only.
sourceSpreadsheetId?stringInput 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
ArgumentTypeDescription
identifierstringThe id of the rubrics
updateUpdate rubrics attributes
deleteDelete the rubrics
ArgumentTypeDescription
identifierstringThe 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

ArgumentTypeDescription
alternateLink?stringAbsolute link to the submission in the Classroom web UI. Read-only.
assignedGrade?numberOptional 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?recordAssigned 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?objectStudent work for an assignment.
associatedWithDeveloper?booleanWhether this student submission is associated with the Developer Console project making the request. See CreateCourseWork for more details. Read-only.
courseId?stringIdentifier of the course. Read-only.
courseWorkId?stringIdentifier for the course work this corresponds to. Read-only.
courseWorkType?enumType of course work this submission is for. Read-only.
creationTime?stringCreation time of this submission. This may be unset if the student has not accessed this item. Read-only.
draftGrade?numberOptional 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?recordPending 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?stringClassroom-assigned Identifier for the student submission. This is unique among submissions for the relevant course work. Read-only.
late?booleanWhether this submission is late. Read-only.
multipleChoiceSubmission?objectStudent work for a multiple-choice question.
shortAnswerSubmission?objectStudent work for a short answer question.
state?enumState of this submission. Read-only.
submissionHistory?arrayThe history of the submission (includes state and grade histories). Read-only.
updateTime?stringLast update time of this submission. This may be unset if the student has not accessed this item. Read-only.
userId?stringIdentifier for the student that owns this submission. Read-only.
getGet a studentSubmissions
ArgumentTypeDescription
identifierstringThe id of the studentSubmissions
updateUpdate studentSubmissions attributes
syncSync studentSubmissions state from GCP
modify_attachmentsmodify attachments
ArgumentTypeDescription
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

ArgumentTypeDescription
alternateLink?stringAbsolute link to this course work material in the Classroom web UI. This is only populated if `state` is `PUBLISHED`. Read-only.
assigneeMode?enumAssignee mode of the course work material. If unspecified, the default value is `ALL_STUDENTS`.
courseId?stringIdentifier of the course. Read-only.
creationTime?stringTimestamp when this course work material was created. Read-only.
creatorUserId?stringIdentifier for the user that created the course work material. Read-only.
description?stringOptional description of this course work material. The text must be a valid UTF-8 string containing no more than 30,000 characters.
id?stringClassroom-assigned identifier of this course work material, unique per course. Read-only.
individualStudentsOptions?objectAssignee details about a coursework/announcement. This field is set if and only if `assigneeMode` is `INDIVIDUAL_STUDENTS`.
materials?arrayAdditional materials. A course work material must have no more than 20 material items.
scheduledTime?stringOptional timestamp when this course work material is scheduled to be published.
state?enumStatus of this course work material. If unspecified, the default state is `DRAFT`.
title?stringTitle of this course work material. The title must be a valid UTF-8 string containing between 1 and 3000 characters.
topicId?stringIdentifier for the topic that this course work material is associated with. Must match an existing topic in the course.
updateTime?stringTimestamp of the most recent change to this course work material. Read-only.
createCreate a courseWorkMaterials
getGet a courseWorkMaterials
ArgumentTypeDescription
identifierstringThe id of the courseWorkMaterials
updateUpdate courseWorkMaterials attributes
deleteDelete the courseWorkMaterials
ArgumentTypeDescription
identifierstringThe 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

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
courseId?stringImmutable. Identifier of the course.
dueDate?objectRepresents 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?objectRepresents 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?stringImmutable. Classroom-assigned identifier for this attachment, unique per post.
itemId?stringImmutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course.
maxPoints?numberMaximum 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?objectURI to be iframed after being populated with query parameters.
studentWorkReviewUri?objectURI to be iframed after being populated with query parameters.
teacherViewUri?objectURI to be iframed after being populated with query parameters.
title?stringRequired. Title of this attachment. The title must be between 1 and 1000 characters.
addOnToken?stringOptional. 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
ArgumentTypeDescription
identifierstringThe name of the addOnAttachments
updateUpdate addOnAttachments attributes
deleteDelete the addOnAttachments
ArgumentTypeDescription
identifierstringThe 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

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
courseId?stringImmutable. Identifier of the course.
dueDate?objectRepresents 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?objectRepresents 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?stringImmutable. Classroom-assigned identifier for this attachment, unique per post.
itemId?stringImmutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course.
maxPoints?numberMaximum 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?objectURI to be iframed after being populated with query parameters.
studentWorkReviewUri?objectURI to be iframed after being populated with query parameters.
teacherViewUri?objectURI to be iframed after being populated with query parameters.
title?stringRequired. Title of this attachment. The title must be between 1 and 1000 characters.
addOnToken?stringOptional. 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
ArgumentTypeDescription
identifierstringThe name of the addOnAttachments
updateUpdate addOnAttachments attributes
deleteDelete the addOnAttachments
ArgumentTypeDescription
identifierstringThe 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

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
pointsEarned?numberStudent grade on this attachment. If unset, no grade was set.
postSubmissionState?enumSubmission state of add-on attachment's parent post (i.e. assignment).
userId?stringIdentifier 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
ArgumentTypeDescription
identifierstringThe 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

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
courseId?stringThe identifier of the course.
id?stringThe identifier of the student group.
title?stringThe title of the student group.
createCreate a studentGroups
getGet a studentGroups
ArgumentTypeDescription
identifierstringThe name of the studentGroups
updateUpdate studentGroups attributes
deleteDelete the studentGroups
ArgumentTypeDescription
identifierstringThe 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

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
courseId?stringThe identifier of the course.
studentGroupId?stringThe identifier of the student group.
userId?stringIdentifier of the student.
createCreate a studentGroupMembers
getGet a studentGroupMembers
ArgumentTypeDescription
identifierstringThe name of the studentGroupMembers
deleteDelete the studentGroupMembers
ArgumentTypeDescription
identifierstringThe 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

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
courseId?stringIdentifier of the course. Read-only.
profile?objectGlobal information for a user.
studentWorkFolder?objectRepresentation of a Google Drive folder.
userId?stringIdentifier 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?stringEnrollment 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
ArgumentTypeDescription
identifierstringThe name of the students
deleteDelete the students
ArgumentTypeDescription
identifierstringThe 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

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
courseId?stringIdentifier of the course. Read-only.
profile?objectGlobal information for a user.
userId?stringIdentifier 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
ArgumentTypeDescription
identifierstringThe name of the teachers
deleteDelete the teachers
ArgumentTypeDescription
identifierstringThe 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

ArgumentTypeDescription
courseId?stringIdentifier of the course. Read-only.
name?stringThe 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?stringUnique identifier for the topic. Read-only.
updateTime?stringThe time the topic was last updated by the system. Read-only.
createCreate a topics
getGet a topics
ArgumentTypeDescription
identifierstringThe id of the topics
updateUpdate topics attributes
deleteDelete the topics
ArgumentTypeDescription
identifierstringThe 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

ArgumentTypeDescription
courseId?stringIdentifier of the course to invite the user to.
id?stringIdentifier assigned by Classroom. Read-only.
role?enumRole to invite the user to have. Must not be `COURSE_ROLE_UNSPECIFIED`.
userId?stringIdentifier 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
ArgumentTypeDescription
identifierstringThe id of the invitations
deleteDelete the invitations
ArgumentTypeDescription
identifierstringThe 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

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
getGet a userProfiles
ArgumentTypeDescription
identifierstringThe 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

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
creationTime?stringThe time that this invitation was created. Read-only.
invitationId?stringUnique identifier for this invitation. Read-only.
invitedEmailAddress?stringEmail address that the invitation was sent to. This field is only visible to domain administrators.
state?enumThe state that this invitation is in.
studentId?stringID of the student (in standard format)
createCreate a guardianInvitations
getGet a guardianInvitations
ArgumentTypeDescription
identifierstringThe 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

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
getGet a guardians
ArgumentTypeDescription
identifierstringThe name of the guardians
deleteDelete the guardians
ArgumentTypeDescription
identifierstringThe 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...