- [HTTP request](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.courseWork/list#body.HTTP_TEMPLATE)
- [Path parameters](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.courseWork/list#body.PATH_PARAMETERS)
- [Query parameters](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.courseWork/list#body.QUERY_PARAMETERS)
- [Request body](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.courseWork/list#body.request_body)
- [Response body](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.courseWork/list#body.response_body)
  - [JSON representation](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.courseWork/list#body.ListCourseWorkResponse.SCHEMA_REPRESENTATION)
- [Authorization scopes](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.courseWork/list#body.aspect)
- [Try it!](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.courseWork/list#try-it)

Returns a list of course work that the requester is permitted to view.

Course students may only view `PUBLISHED` course work. Course teachers and domain administrators may view all course work.

This method returns the following error codes:

- `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or for [access errors](https://developers.google.com/workspace/classroom/reference/Access.Errors).
- `INVALID_ARGUMENT` if the request is malformed.
- `NOT_FOUND` if the requested course does not exist.

### HTTP request

`GET https://classroom.googleapis.com/v1/courses/{courseId}/courseWork`

The URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.

### Path parameters

| Parameters ||
|---|---|
| `courseId` | `string` Identifier of the course. This identifier can be either the Classroom-assigned identifier or an `https://developers.google.com/workspace/classroom/reference/rest/v1/courses.aliases#CourseAlias`. |

### Query parameters

| Parameters ||
|---|---|
| `courseWorkStates[]` | ``enum (`https://developers.google.com/workspace/classroom/reference/rest/v1/courses.courseWork#CourseWorkState`)`` Restriction on the work status to return. Only courseWork that matches is returned. If unspecified, items with a work status of `PUBLISHED` is returned. |
| `orderBy` | `string` Optional 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` | `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` `https://developers.google.com/workspace/classroom/reference/rest/v1/courses.courseWork/list#body.ListCourseWorkResponse.FIELDS.next_page_token` 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. |
| `previewVersion` | ``enum (`https://developers.google.com/workspace/classroom/reference/rest/v1/PreviewVersion`)`` Optional. The preview version of the API. This must be set in order to access new API capabilities made available to developers in the Preview Program. |

### Request body

The request body must be empty.

### Response body

Response when listing course work.

If successful, the response body contains data with the following structure:

| JSON representation |
|---|
| ``` { "courseWork": [ { object (`https://developers.google.com/workspace/classroom/reference/rest/v1/courses.courseWork#CourseWork`) } ], "nextPageToken": string } ``` |

| Fields ||
|---|---|
| `courseWork[]` | ``object (`https://developers.google.com/workspace/classroom/reference/rest/v1/courses.courseWork#CourseWork`)`` Course work items that match the 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.coursework.students.readonly`
- `
  https://www.googleapis.com/auth/classroom.coursework.me.readonly`
- `
  https://www.googleapis.com/auth/classroom.coursework.students`
- `
  https://www.googleapis.com/auth/classroom.coursework.me`

For more information, see the [Authorization guide](https://developers.google.com/workspace/guides/configure-oauth-consent).