> [!WARNING]
> This method is deprecated; use the `course.announcements`, `course.courseWork` or `course.courseWorkMaterials` method instead.

- [HTTP request](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.posts/getAddOnContext#body.HTTP_TEMPLATE)
- [Path parameters](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.posts/getAddOnContext#body.PATH_PARAMETERS)
- [Query parameters](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.posts/getAddOnContext#body.QUERY_PARAMETERS)
- [Request body](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.posts/getAddOnContext#body.request_body)
- [Response body](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.posts/getAddOnContext#body.response_body)
- [Authorization scopes](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.posts/getAddOnContext#body.aspect)

Gets metadata for Classroom add-ons in the context of a specific post.

To maintain the integrity of its own data and permissions model, an add-on should call this to validate query parameters and the requesting user's role whenever the add-on is opened in an [iframe](https://developers.google.com/workspace/classroom/add-ons/get-started/iframes/iframes-overview).

This method returns the following error codes:

- `PERMISSION_DENIED` for [access errors](https://developers.google.com/workspace/classroom/reference/Access.Errors).
- `INVALID_ARGUMENT` if the request is malformed.
- `NOT_FOUND` if one of the identified resources does not exist.

### HTTP request

`GET https://classroom.googleapis.com/v1/courses/{courseId}/posts/{postId}/addOnContext`

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

### Path parameters

| Parameters ||
|---|---|
| `courseId` | `string` Required. Identifier of the course. |
| `postId (deprecated)` | `string` Optional. Deprecated, use `itemId` instead. |

### Query parameters

| Parameters ||
|---|---|
| `itemId` | `string` Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from postId. |
| `addOnToken` | `string` Optional. 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. The authorization token is required when neither of the following is true: - The add-on has attachments on the post. - The developer project issuing the request is the same project that created the post. |
| `attachmentId` | `string` Optional. The identifier of the attachment. This field is required for all requests except when the user is in the [Attachment Discovery iframe](https://developers.google.com/workspace/classroom/add-ons/get-started/iframes/attachment-discovery-iframe). |

### Request body

The request body must be empty.

### Response body

If successful, the response body contains an instance of `https://developers.google.com/workspace/classroom/reference/rest/v1/AddOnContext`.

### Authorization scopes

Requires one of the following OAuth scopes:

- `https://www.googleapis.com/auth/classroom.addons.student`
- `
  https://www.googleapis.com/auth/classroom.addons.teacher`

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