Skip to main content

Gcp/classroom

@swamp/gcp/classroomv2026.06.16.1· 1d agoMODELS
01README

Google Cloud classroom infrastructure models

02Release Notes
  • Updated: courses_coursework_addonattachments_studentsubmissions, courses_posts_addonattachments_studentsubmissions
03Models22
@swamp/gcp/classroom/coursesv2026.06.08.1courses.ts

Global Arguments

ArgumentTypeDescription
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
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.
levels?stringOptional. Levels for the course. Examples: "9th grade", "Middle school", "4th - 5th", "K-2", "3000". If set, this field must be a valid UTF-8 string and fewer than 1000 characters. This field can only be cleared using the `PatchCourse` method.
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.
fn create()
Create a courses
fn get(identifier: string)
Get a courses
ArgumentTypeDescription
identifierstringThe id of the courses
fn update()
Update courses attributes
fn delete(identifier: string)
Delete the courses
ArgumentTypeDescription
identifierstringThe id of the courses
fn sync()
Sync courses state from GCP
fn list(courseStates?: string, pageSize?: number, studentId?: string, teacherId?: string, maxPages?: number)
List courses resources
ArgumentTypeDescription
courseStates?stringRestricts returned courses to those in one of the specified states. If unspecified, Courses in any state are returned.
pageSize?numberMaximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.
studentId?stringRestricts returned courses to those having a student with the specified identifier. 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 If specified, `teacher_id` must be empty.
teacherId?stringRestricts returned courses to those having a teacher with the specified identifier. 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 If specified, `student_id` must be empty.
maxPages?numberMaximum number of pages to fetch (default: 10)
fn get_grading_period_settings()
get grading period settings
fn update_grading_period_settings(applyToExistingCoursework?: any, gradingPeriods?: any)
update grading period settings
ArgumentTypeDescription
applyToExistingCoursework?any
gradingPeriods?any

Resources

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

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
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.
fn create()
Create a aliases
fn get(identifier: string)
Get a aliases
ArgumentTypeDescription
identifierstringThe name of the aliases
fn delete(identifier: string)
Delete the aliases
ArgumentTypeDescription
identifierstringThe name of the aliases
fn sync()
Sync aliases state from GCP
fn list(pageSize?: number, maxPages?: number)
List aliases resources
ArgumentTypeDescription
pageSize?numberMaximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.
maxPages?numberMaximum number of pages to fetch (default: 10)

Resources

state(infinite)— Alternative identifier for a course. An alias uniquely identifies a course. I...
@swamp/gcp/classroom/courses-announcementsv2026.06.08.1courses_announcements.ts

Global Arguments

ArgumentTypeDescription
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
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.
fn create()
Create a announcements
fn get(identifier: string)
Get a announcements
ArgumentTypeDescription
identifierstringThe id of the announcements
fn update()
Update announcements attributes
fn delete(identifier: string)
Delete the announcements
ArgumentTypeDescription
identifierstringThe id of the announcements
fn sync()
Sync announcements state from GCP
fn list(announcementStates?: string, orderBy?: string, pageSize?: number, maxPages?: number)
List announcements resources
ArgumentTypeDescription
announcementStates?stringRestriction on the `state` of announcements returned. If this argument is left unspecified, the default value is `PUBLISHED`.
orderBy?stringOptional sort ordering for results. A comma-separated list of fields with an optional sort direction keyword. Supported field is `updateTime`. Supported direction keywords are `asc` and `desc`. If not specified, `updateTime desc` is the default behavior. Examples: `updateTime asc`, `updateTime`
pageSize?numberMaximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.
maxPages?numberMaximum number of pages to fetch (default: 10)
fn get_add_on_context()
get add on context
fn modify_assignees(assigneeMode?: any, modifyIndividualStudentsOptions?: any)
modify 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.06.08.1courses_announcements_addonattachments.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
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.
fn create()
Create a addOnAttachments
fn get(identifier: string)
Get a addOnAttachments
ArgumentTypeDescription
identifierstringThe name of the addOnAttachments
fn update()
Update addOnAttachments attributes
fn delete(identifier: string)
Delete the addOnAttachments
ArgumentTypeDescription
identifierstringThe name of the addOnAttachments
fn sync()
Sync addOnAttachments state from GCP
fn list(pageSize?: number, maxPages?: number)
List addOnAttachments resources
ArgumentTypeDescription
pageSize?numberThe maximum number of attachments to return. The service may return fewer than this value. If unspecified, at most 20 attachments will be returned. The maximum value is 20; values above 20 will be coerced to 20.
maxPages?numberMaximum number of pages to fetch (default: 10)

Resources

state(infinite)— An add-on attachment on a post.
@swamp/gcp/classroom/courses-courseworkv2026.06.08.1courses_coursework.ts

Global Arguments

ArgumentTypeDescription
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
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.
fn create()
Create a courseWork
fn get(identifier: string)
Get a courseWork
ArgumentTypeDescription
identifierstringThe id of the courseWork
fn update()
Update courseWork attributes
fn delete(identifier: string)
Delete the courseWork
ArgumentTypeDescription
identifierstringThe id of the courseWork
fn sync()
Sync courseWork state from GCP
fn list(courseWorkStates?: string, orderBy?: string, pageSize?: number, maxPages?: number)
List courseWork resources
ArgumentTypeDescription
courseWorkStates?stringRestriction on the work status to return. Only courseWork that matches is returned. If unspecified, items with a work status of `PUBLISHED` is returned.
orderBy?stringOptional sort ordering for results. A comma-separated list of fields with an optional sort direction keyword. Supported fields are `updateTime` and `dueDate`. Supported direction keywords are `asc` and `desc`. If not specified, `updateTime desc` is the default behavior. Examples: `dueDate asc,updateTime desc`, `updateTime,dueDate desc`
pageSize?numberMaximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.
maxPages?numberMaximum number of pages to fetch (default: 10)
fn get_add_on_context()
get add on context
fn modify_assignees(assigneeMode?: any, modifyIndividualStudentsOptions?: any)
modify assignees
ArgumentTypeDescription
assigneeMode?any
modifyIndividualStudentsOptions?any
fn update_rubric(courseId?: any, courseWorkId?: any, creationTime?: any, criteria?: any, id?: any, sourceSpreadsheetId?: any, updateTime?: any)
update 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.06.08.1courses_coursework_addonattachments.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
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.
fn create()
Create a addOnAttachments
fn get(identifier: string)
Get a addOnAttachments
ArgumentTypeDescription
identifierstringThe name of the addOnAttachments
fn update()
Update addOnAttachments attributes
fn delete(identifier: string)
Delete the addOnAttachments
ArgumentTypeDescription
identifierstringThe name of the addOnAttachments
fn sync()
Sync addOnAttachments state from GCP
fn list(pageSize?: number, maxPages?: number)
List addOnAttachments resources
ArgumentTypeDescription
pageSize?numberThe maximum number of attachments to return. The service may return fewer than this value. If unspecified, at most 20 attachments will be returned. The maximum value is 20; values above 20 will be coerced to 20.
maxPages?numberMaximum number of pages to fetch (default: 10)

Resources

state(infinite)— An add-on attachment on a post.
@swamp/gcp/classroom/courses-coursework-addonattachments-studentsubmissionsv2026.06.16.1courses_coursework_addonattachments_studentsubmissions.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
courseWorkSubmissionId?stringOutput only. Identifier of the course work submission under which this attachment submission was made.
id?stringOutput only. Classroom-assigned identifier for this student submission. This is unique among submissions for the relevant course work and add-on attachment combination.
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. See [`courseWork.studentSubmissions.get`](/workspace/classroom/reference/rest/v1/courses.courseWork.studentSubmissions/get#authorization-scopes) for the list of acceptable OAuth scopes for this field. Read-only.
fn get(identifier: string)
Get a studentSubmissions
ArgumentTypeDescription
identifierstringThe name of the studentSubmissions
fn update()
Update studentSubmissions attributes
fn sync()
Sync studentSubmissions state from GCP

Resources

state(infinite)— Payload for grade update requests.
@swamp/gcp/classroom/courses-coursework-rubricsv2026.06.08.1courses_coursework_rubrics.ts

Global Arguments

ArgumentTypeDescription
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
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.
fn create()
Create a rubrics
fn get(identifier: string)
Get a rubrics
ArgumentTypeDescription
identifierstringThe id of the rubrics
fn update()
Update rubrics attributes
fn delete(identifier: string)
Delete the rubrics
ArgumentTypeDescription
identifierstringThe id of the rubrics
fn sync()
Sync rubrics state from GCP
fn list(pageSize?: number, maxPages?: number)
List rubrics resources
ArgumentTypeDescription
pageSize?numberThe maximum number of rubrics to return. If unspecified, at most 1 rubric is returned. The maximum value is 1; values above 1 are coerced to 1.
maxPages?numberMaximum number of pages to fetch (default: 10)

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.06.08.1courses_coursework_studentsubmissions.ts

Global Arguments

ArgumentTypeDescription
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
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.
fn get(identifier: string)
Get a studentSubmissions
ArgumentTypeDescription
identifierstringThe id of the studentSubmissions
fn update()
Update studentSubmissions attributes
fn sync()
Sync studentSubmissions state from GCP
fn list(late?: string, pageSize?: number, states?: string, userId?: string, maxPages?: number)
List studentSubmissions resources
ArgumentTypeDescription
late?stringRequested lateness value. If specified, returned student submissions are restricted by the requested value. If unspecified, submissions are returned regardless of `late` value.
pageSize?numberMaximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.
states?stringRequested submission states. If specified, returned student submissions match one of the specified submission states.
userId?stringOptional argument to restrict returned student work to those owned by the student with the specified identifier. 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
maxPages?numberMaximum number of pages to fetch (default: 10)
fn modify_attachments(addAttachments?: any)
modify attachments
ArgumentTypeDescription
addAttachments?any
fn reclaim()
reclaim
fn return()
return
fn turn_in()
turn in

Resources

state(infinite)— Student submission for course work. `StudentSubmission` items are generated w...
@swamp/gcp/classroom/courses-courseworkmaterialsv2026.06.08.1courses_courseworkmaterials.ts

Global Arguments

ArgumentTypeDescription
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
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.
fn create()
Create a courseWorkMaterials
fn get(identifier: string)
Get a courseWorkMaterials
ArgumentTypeDescription
identifierstringThe id of the courseWorkMaterials
fn update()
Update courseWorkMaterials attributes
fn delete(identifier: string)
Delete the courseWorkMaterials
ArgumentTypeDescription
identifierstringThe id of the courseWorkMaterials
fn sync()
Sync courseWorkMaterials state from GCP
fn list(courseWorkMaterialStates?: string, materialDriveId?: string, materialLink?: string, orderBy?: string, pageSize?: number, maxPages?: number)
List courseWorkMaterials resources
ArgumentTypeDescription
courseWorkMaterialStates?stringRestriction on the work status to return. Only course work material that matches is returned. If unspecified, items with a work status of `PUBLISHED` is returned.
materialDriveId?stringOptional filtering for course work material with at least one Drive material whose ID matches the provided string. If `material_link` is also specified, course work material must have materials matching both filters.
materialLink?stringOptional filtering for course work material with at least one link material whose URL partially matches the provided string.
orderBy?stringOptional sort ordering for results. A comma-separated list of fields with an optional sort direction keyword. Supported field is `updateTime`. Supported direction keywords are `asc` and `desc`. If not specified, `updateTime desc` is the default behavior. Examples: `updateTime asc`, `updateTime`
pageSize?numberMaximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.
maxPages?numberMaximum number of pages to fetch (default: 10)
fn get_add_on_context()
get add on context

Resources

state(infinite)— Course work material created by a teacher for students of the course
@swamp/gcp/classroom/courses-courseworkmaterials-addonattachmentsv2026.06.08.1courses_courseworkmaterials_addonattachments.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
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.
fn create()
Create a addOnAttachments
fn get(identifier: string)
Get a addOnAttachments
ArgumentTypeDescription
identifierstringThe name of the addOnAttachments
fn update()
Update addOnAttachments attributes
fn delete(identifier: string)
Delete the addOnAttachments
ArgumentTypeDescription
identifierstringThe name of the addOnAttachments
fn sync()
Sync addOnAttachments state from GCP
fn list(pageSize?: number, maxPages?: number)
List addOnAttachments resources
ArgumentTypeDescription
pageSize?numberThe maximum number of attachments to return. The service may return fewer than this value. If unspecified, at most 20 attachments will be returned. The maximum value is 20; values above 20 will be coerced to 20.
maxPages?numberMaximum number of pages to fetch (default: 10)

Resources

state(infinite)— An add-on attachment on a post.
@swamp/gcp/classroom/courses-posts-addonattachmentsv2026.06.08.1courses_posts_addonattachments.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
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.
fn create()
Create a addOnAttachments
fn get(identifier: string)
Get a addOnAttachments
ArgumentTypeDescription
identifierstringThe name of the addOnAttachments
fn update()
Update addOnAttachments attributes
fn delete(identifier: string)
Delete the addOnAttachments
ArgumentTypeDescription
identifierstringThe name of the addOnAttachments
fn sync()
Sync addOnAttachments state from GCP
fn list(itemId?: string, pageSize?: number, maxPages?: number)
List addOnAttachments resources
ArgumentTypeDescription
itemId?stringIdentifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` whose attachments should be enumerated. This field is required, but is not marked as such while we are migrating from post_id.
pageSize?numberThe maximum number of attachments to return. The service may return fewer than this value. If unspecified, at most 20 attachments will be returned. The maximum value is 20; values above 20 will be coerced to 20.
maxPages?numberMaximum number of pages to fetch (default: 10)

Resources

state(infinite)— An add-on attachment on a post.
@swamp/gcp/classroom/courses-posts-addonattachments-studentsubmissionsv2026.06.16.1courses_posts_addonattachments_studentsubmissions.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
courseWorkSubmissionId?stringOutput only. Identifier of the course work submission under which this attachment submission was made.
id?stringOutput only. Classroom-assigned identifier for this student submission. This is unique among submissions for the relevant course work and add-on attachment combination.
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. See [`courseWork.studentSubmissions.get`](/workspace/classroom/reference/rest/v1/courses.courseWork.studentSubmissions/get#authorization-scopes) for the list of acceptable OAuth scopes for this field. Read-only.
fn get(identifier: string)
Get a studentSubmissions
ArgumentTypeDescription
identifierstringThe name of the studentSubmissions
fn update()
Update studentSubmissions attributes
fn sync()
Sync studentSubmissions state from GCP

Resources

state(infinite)— Payload for grade update requests.
@swamp/gcp/classroom/courses-studentgroupsv2026.06.08.1courses_studentgroups.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
courseId?stringThe identifier of the course.
id?stringThe identifier of the student group.
title?stringThe title of the student group.
fn create()
Create a studentGroups
fn get(identifier: string)
Get a studentGroups
ArgumentTypeDescription
identifierstringThe name of the studentGroups
fn update()
Update studentGroups attributes
fn delete(identifier: string)
Delete the studentGroups
ArgumentTypeDescription
identifierstringThe name of the studentGroups
fn sync()
Sync studentGroups state from GCP
fn list(pageSize?: number, maxPages?: number)
List studentGroups resources
ArgumentTypeDescription
pageSize?numberMaximum number of items to return. Zero or unspecified indicates that the server may assign a maximum, which is currently set to 75 items. The server may return fewer than the specified number of results.
maxPages?numberMaximum number of pages to fetch (default: 10)

Resources

state(infinite)— A student group in a course.
@swamp/gcp/classroom/courses-studentgroups-studentgroupmembersv2026.06.08.1courses_studentgroups_studentgroupmembers.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
courseId?stringThe identifier of the course.
studentGroupId?stringThe identifier of the student group.
userId?stringIdentifier of the student.
fn create()
Create a studentGroupMembers
fn get(identifier: string)
Get a studentGroupMembers
ArgumentTypeDescription
identifierstringThe name of the studentGroupMembers
fn delete(identifier: string)
Delete the studentGroupMembers
ArgumentTypeDescription
identifierstringThe name of the studentGroupMembers
fn sync()
Sync studentGroupMembers state from GCP
fn list(pageSize?: number, maxPages?: number)
List studentGroupMembers resources
ArgumentTypeDescription
pageSize?numberMaximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.
maxPages?numberMaximum number of pages to fetch (default: 10)

Resources

state(infinite)— A student member in a student group.
@swamp/gcp/classroom/courses-studentsv2026.06.08.1courses_students.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
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.
fn create()
Create a students
fn get(identifier: string)
Get a students
ArgumentTypeDescription
identifierstringThe name of the students
fn delete(identifier: string)
Delete the students
ArgumentTypeDescription
identifierstringThe name of the students
fn sync()
Sync students state from GCP
fn list(pageSize?: number, maxPages?: number)
List students resources
ArgumentTypeDescription
pageSize?numberMaximum number of items to return. The default is 30 if unspecified or `0`. The server may return fewer than the specified number of results.
maxPages?numberMaximum number of pages to fetch (default: 10)

Resources

state(infinite)— Student in a course.
@swamp/gcp/classroom/courses-teachersv2026.06.08.1courses_teachers.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
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
fn create()
Create a teachers
fn get(identifier: string)
Get a teachers
ArgumentTypeDescription
identifierstringThe name of the teachers
fn delete(identifier: string)
Delete the teachers
ArgumentTypeDescription
identifierstringThe name of the teachers
fn sync()
Sync teachers state from GCP
fn list(pageSize?: number, maxPages?: number)
List teachers resources
ArgumentTypeDescription
pageSize?numberMaximum number of items to return. The default is 30 if unspecified or `0`. The server may return fewer than the specified number of results.
maxPages?numberMaximum number of pages to fetch (default: 10)

Resources

state(infinite)— Teacher of a course.
@swamp/gcp/classroom/courses-topicsv2026.06.08.1courses_topics.ts

Global Arguments

ArgumentTypeDescription
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
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.
fn create()
Create a topics
fn get(identifier: string)
Get a topics
ArgumentTypeDescription
identifierstringThe id of the topics
fn update()
Update topics attributes
fn delete(identifier: string)
Delete the topics
ArgumentTypeDescription
identifierstringThe id of the topics
fn sync()
Sync topics state from GCP
fn list(pageSize?: number, maxPages?: number)
List topics resources
ArgumentTypeDescription
pageSize?numberMaximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.
maxPages?numberMaximum number of pages to fetch (default: 10)

Resources

state(infinite)— Topic created by a teacher for the course
@swamp/gcp/classroom/invitationsv2026.06.08.1invitations.ts

Global Arguments

ArgumentTypeDescription
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
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
fn create()
Create a invitations
fn get(identifier: string)
Get a invitations
ArgumentTypeDescription
identifierstringThe id of the invitations
fn delete(identifier: string)
Delete the invitations
ArgumentTypeDescription
identifierstringThe id of the invitations
fn sync()
Sync invitations state from GCP
fn list(courseId?: string, pageSize?: number, userId?: string, maxPages?: number)
List invitations resources
ArgumentTypeDescription
courseId?stringRestricts returned invitations to those for a course with the specified identifier.
pageSize?numberMaximum number of items to return. The default is 500 if unspecified or `0`. The server may return fewer than the specified number of results.
userId?stringRestricts returned invitations to those for a specific user. 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
maxPages?numberMaximum number of pages to fetch (default: 10)
fn accept()
accept

Resources

state(infinite)— An invitation to join a course.
@swamp/gcp/classroom/userprofilesv2026.06.08.1userprofiles.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
fn get(identifier: string)
Get a userProfiles
ArgumentTypeDescription
identifierstringThe name of the userProfiles
fn sync()
Sync userProfiles state from GCP

Resources

state(infinite)— Global information for a user.
@swamp/gcp/classroom/userprofiles-guardianinvitationsv2026.06.08.1userprofiles_guardianinvitations.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
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)
fn create()
Create a guardianInvitations
fn get(identifier: string)
Get a guardianInvitations
ArgumentTypeDescription
identifierstringThe name of the guardianInvitations
fn update()
Update guardianInvitations attributes
fn sync()
Sync guardianInvitations state from GCP
fn list(invitedEmailAddress?: string, pageSize?: number, states?: string, maxPages?: number)
List guardianInvitations resources
ArgumentTypeDescription
invitedEmailAddress?stringIf specified, only results with the specified `invited_email_address` are returned.
pageSize?numberMaximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.
states?stringIf specified, only results with the specified `state` values are returned. Otherwise, results with a `state` of `PENDING` are returned.
maxPages?numberMaximum number of pages to fetch (default: 10)

Resources

state(infinite)— An invitation to become the guardian of a specified user, sent to a specified...
@swamp/gcp/classroom/userprofiles-guardiansv2026.06.08.1userprofiles_guardians.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
accessToken?stringGCP OAuth2 access token; overrides GCP_ACCESS_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
credentialsJson?stringGCP service account JSON credentials; overrides GOOGLE_APPLICATION_CREDENTIALS_JSON environment variable. Wire with a vault.get(...) expression to source it from a vault.
project?stringGCP project ID; overrides GCP_PROJECT / GOOGLE_CLOUD_PROJECT environment variables.
fn get(identifier: string)
Get a guardians
ArgumentTypeDescription
identifierstringThe name of the guardians
fn delete(identifier: string)
Delete the guardians
ArgumentTypeDescription
identifierstringThe name of the guardians
fn sync()
Sync guardians state from GCP
fn list(invitedEmailAddress?: string, pageSize?: number, maxPages?: number)
List guardians resources
ArgumentTypeDescription
invitedEmailAddress?stringFilter results by the email address that the original invitation was sent to, resulting in this guardian link. This filter can only be used by domain administrators.
pageSize?numberMaximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.
maxPages?numberMaximum number of pages to fetch (default: 10)

Resources

state(infinite)— Association between a student and a guardian of that student. The guardian ma...
04Previous Versions19
2026.06.08.2Jun 8, 2026
  • 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
2026.06.07.1Jun 7, 2026
  • 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
2026.05.26.1May 26, 2026
  • Updated: courses, courses_coursework_addonattachments_studentsubmissions, courses_posts_addonattachments_studentsubmissions
2026.05.25.2May 25, 2026
  • Updated: courses, invitations

Modified 19 models

2026.05.24.1May 24, 2026
  • 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
2026.05.21.2May 21, 2026
  • 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
2026.05.21.1May 21, 2026
2026.05.20.1May 20, 2026
  • Updated: courses, courses_coursework_addonattachments_studentsubmissions, courses_posts_addonattachments_studentsubmissions
2026.05.19.2May 19, 2026
2026.05.19.1May 19, 2026
2026.05.18.2May 18, 2026
2026.05.14.1May 14, 2026
  • Updated: courses_coursework_addonattachments_studentsubmissions, courses_posts_addonattachments_studentsubmissions
2026.05.09.1May 9, 2026
  • Updated: courses
2026.04.23.1Apr 23, 2026
2026.04.04.1Apr 4, 2026
  • Updated: courses
2026.04.03.3Apr 3, 2026
  • 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
2026.04.03.1Apr 3, 2026
  • 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
2026.04.02.2Apr 2, 2026
2026.03.27.1Mar 27, 2026
  • 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
05Stats
A
100 / 100
Downloads
0
Archive size
243.9 KB
Verified by Swamp
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License declared1/1earned
  • Verified public repository2/2earned
06Platforms
07Labels