Google Classroom add-ons are now generally available to developers! Please see the
add-ons documentation for more information.
Method: courses.list
Stay organized with collections
Save and categorize content based on your preferences.
Returns a list of courses that the requesting user is permitted to view, restricted to those that match the request. Returned courses are ordered by creation time, with the most recently created coming first.
This method returns the following error codes:
PERMISSION_DENIED
for access errors.
INVALID_ARGUMENT
if the query argument is malformed.
NOT_FOUND
if any users specified in the query arguments do not exist.
HTTP request
GET https://classroom.googleapis.com/v1/courses
The URL uses gRPC Transcoding syntax.
Query parameters
Parameters |
studentId |
string
Restricts 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
|
teacherId |
string
Restricts 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
|
courseStates[] |
enum (CourseState )
Restricts returned courses to those in one of the specified states The default value is ACTIVE, ARCHIVED, PROVISIONED, DECLINED.
|
pageSize |
integer
Maximum 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.
|
pageToken |
string
nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned.
The list request must be otherwise identical to the one that resulted in this token.
|
Request body
The request body must be empty.
Response body
Response when listing courses.
If successful, the response body contains data with the following structure:
JSON representation |
{
"courses": [
{
object (Course )
}
],
"nextPageToken": string
} |
Fields |
courses[] |
object (Course )
Courses that match the list request.
|
nextPageToken |
string
Token identifying the next page of results to return. If empty, no further results are available.
|
Authorization scopes
Requires one of the following OAuth scopes:
https://www.googleapis.com/auth/classroom.courses
https://www.googleapis.com/auth/classroom.courses.readonly
For more information, see the Authorization guide.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-04-17 UTC.
[null,null,["Last updated 2025-04-17 UTC."],[],[],null,["# Method: courses.list\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Query parameters](#body.QUERY_PARAMETERS)\n- [Request body](#body.request_body)\n- [Response body](#body.response_body)\n - [JSON representation](#body.ListCoursesResponse.SCHEMA_REPRESENTATION)\n- [Authorization scopes](#body.aspect)\n- [Try it!](#try-it)\n\nReturns a list of courses that the requesting user is permitted to view, restricted to those that match the request. Returned courses are ordered by creation time, with the most recently created coming first.\n\nThis method returns the following error codes:\n\n- `PERMISSION_DENIED` for [access errors](/workspace/classroom/reference/Access.Errors).\n- `INVALID_ARGUMENT` if the query argument is malformed.\n- `NOT_FOUND` if any users specified in the query arguments do not exist.\n\n### HTTP request\n\n`GET https://classroom.googleapis.com/v1/courses`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Query parameters\n\n| Parameters ||\n|------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `studentId` | `string` Restricts 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 |\n| `teacherId` | `string` Restricts 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 |\n| `courseStates[]` | `enum (`[CourseState](/workspace/classroom/reference/rest/v1/courses#CourseState)`)` Restricts returned courses to those in one of the specified states The default value is ACTIVE, ARCHIVED, PROVISIONED, DECLINED. |\n| `pageSize` | `integer` Maximum 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. |\n| `pageToken` | `string` [nextPageToken](/workspace/classroom/reference/rest/v1/courses/list#body.ListCoursesResponse.FIELDS.next_page_token) value returned from a previous [list](/workspace/classroom/reference/rest/v1/courses/list#google.classroom.v1.Courses.ListCourses) call, indicating that the subsequent page of results should be returned. The [list](/workspace/classroom/reference/rest/v1/courses/list#google.classroom.v1.Courses.ListCourses) request must be otherwise identical to the one that resulted in this token. |\n\n### Request body\n\nThe request body must be empty.\n\n### Response body\n\nResponse when listing courses.\n\nIf successful, the response body contains data with the following structure:\n\n| JSON representation |\n|------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"courses\": [ { object (/workspace/classroom/reference/rest/v1/courses#Course) } ], \"nextPageToken\": string } ``` |\n\n| Fields ||\n|-----------------|-------------------------------------------------------------------------------------------------------------------|\n| `courses[]` | `object (`[Course](/workspace/classroom/reference/rest/v1/courses#Course)`)` Courses that match the list request. |\n| `nextPageToken` | `string` Token identifying the next page of results to return. If empty, no further results are available. |\n\n### Authorization scopes\n\nRequires one of the following OAuth scopes:\n\n- `https://www.googleapis.com/auth/classroom.courses`\n- `\n https://www.googleapis.com/auth/classroom.courses.readonly`\n\nFor more information, see the [Authorization guide](/workspace/guides/configure-oauth-consent)."]]