Stay organized with collections
Save and categorize content based on your preferences.
While any developer can make requests to the Google Classroom API, some
Google Classroom features are only available to certain users. Each feature
can have different requirements, such as having a certain Google Workspace for Education license type.
For a detailed breakdown of features at each Google Workspace for Education license level, see the
editions comparison page.
Features with eligibility requirements
The following Classroom API features are only available to eligible
users:
Requests to Classroom API are made on behalf of individual users.
Therefore, you should check whether a user has the appropriate capabilities
before issuing API requests with eligibility requirements.
To determine whether a user has a particular capability, make an API request to
the checkUserCapability method. Include the appropriate Capability type
for the Classroom feature you intend to use. Specify the
appropriate Capability for each feature:
To see if the user...
Capability
Can create or modify a Classroom add-on attachment associated with the Google Cloud project of the OAuth client ID used to make the request
Next, check the allowed field in the response. If allowed is true, then
the user has access to the chosen Capability. You can then make API requests
related the Capability on behalf of the user.
[null,null,["Last updated 2025-08-28 UTC."],[],[],null,["# User eligibility\n\nWhile any developer can make requests to the Google Classroom API, some\nGoogle Classroom features are only available to certain users. Each feature\ncan have different requirements, such as having a certain Google Workspace for Education license type.\nFor a detailed breakdown of features at each Google Workspace for Education license level, see the\n[editions comparison page](//edu.google.com/intl/ALL_us/workspace-for-education/editions/compare-editions/).\n| **Key Term:** An **eligible** user has the **capability** to use a certain Classroom feature if they meet the feature requirements.\n| **Key Point:** Capability is determined separately for each user and can change over time. Capability eligibility for some features of the Classroom API might differ from the corresponding features in the Google Classroom app. For example, certain [license requirements](/workspace/classroom/rubrics/limitations#license-requirements) apply when creating, modifying, or deleting rubrics with the API.\n\nFeatures with eligibility requirements\n--------------------------------------\n\n\u003cbr /\u003e\n\nThe following Classroom API features are only available to eligible\nusers:\n\n- Creating and modifying [Classroom add-on](/workspace/classroom/add-ons) attachments.\n- Modifying [grading period settings](/workspace/classroom/grading-periods/manage-grading-periods#licensing_requirements).\n- Creating, modifying, and deleting [rubrics](/workspace/classroom/rubrics/limitations#license-requirements).\n\nDetermine user capabilities\n---------------------------\n\nRequests to Classroom API are made on behalf of individual users.\nTherefore, you should check whether a user has the appropriate capabilities\nbefore issuing API requests with eligibility requirements.\n| **Key Point:** Consider checking user capabilities proactively so you can tailor your product's appearance or behavior to match the Classroom features that they can access.\n\nTo determine whether a user has a particular capability, make an API request to\nthe [`checkUserCapability`](/workspace/classroom/reference/rest/v1/userProfiles/checkUserCapability) method. Include the appropriate [`Capability`](/workspace/classroom/reference/rest/v1/userProfiles/checkUserCapability#capability) type\nfor the Classroom feature you intend to use. Specify the\nappropriate `Capability` for each feature:\n\n| To see if the user... | `Capability` |\n|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------|\n| Can [create](/workspace/classroom/reference/rest/v1/courses.courseWork.addOnAttachments/create) or [modify](/workspace/classroom/reference/rest/v1/courses.courseWork.addOnAttachments/patch) a Classroom add-on attachment associated with the Google Cloud project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to make the request | `CREATE_ADD_ON_ATTACHMENT` |\n| Can [modify](/workspace/classroom/reference/rest/v1/courses/updateGradingPeriodSettings) grading period settings | `UPDATE_GRADING_PERIOD_SETTINGS` |\n| Can [create](/workspace/classroom/reference/rest/v1/courses.courseWork.rubrics/create), [modify](/workspace/classroom/reference/rest/v1/courses.courseWork.rubrics/patch), or [delete](/workspace/classroom/reference/rest/v1/courses.courseWork.rubrics/delete) a rubric | `CREATE_RUBRIC` |\n\nNext, check the `allowed` field in the response. If `allowed` is `true`, then\nthe user has access to the chosen `Capability`. You can then make API requests\nrelated the `Capability` on behalf of the user.\n| **Important:** Even when a user is eligible, it's still possible for API requests that depend on the eligibility to fail. Eligibility implies that a user can make use of a Classroom feature, not that a specific request will succeed."]]