- [HTTP request](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.teachers/create#body.HTTP_TEMPLATE)
- [Path parameters](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.teachers/create#body.PATH_PARAMETERS)
- [Request body](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.teachers/create#body.request_body)
- [Response body](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.teachers/create#body.response_body)
- [Authorization scopes](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.teachers/create#body.aspect)
- [Try it!](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.teachers/create#try-it)

Creates a teacher of a course.

Domain administrators are permitted to [directly add](https://developers.google.com/workspace/classroom/guides/manage-users) users within their domain as teachers to courses within their domain. Non-admin users should send an `Invitation` instead.

This method returns the following error codes:

- `PERMISSION_DENIED` if the requesting user is not permitted to create teachers in this course or for [access errors](https://developers.google.com/workspace/classroom/reference/Access.Errors).
- `NOT_FOUND` if the requested course ID does not exist.
- `FAILED_PRECONDITION` if the requested user's account is disabled, for the following [request errors](https://developers.google.com/workspace/classroom/reference/Request.Errors):
  - CourseMemberLimitReached
  - CourseNotModifiable
  - CourseTeacherLimitReached
  - UserGroupsMembershipLimitReached
  - InactiveCourseOwner
- `ALREADY_EXISTS` if the user is already a teacher or student in the course.

### HTTP request

`POST https://classroom.googleapis.com/v1/courses/{courseId}/teachers`

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`. |

### Request body

The request body contains an instance of `https://developers.google.com/workspace/classroom/reference/rest/v1/courses.teachers#Teacher`.

### Response body

If successful, the response body contains a newly created instance of `https://developers.google.com/workspace/classroom/reference/rest/v1/courses.teachers#Teacher`.

### Authorization scopes

Requires one of the following OAuth scopes:

- `https://www.googleapis.com/auth/classroom.rosters`
- `
  https://www.googleapis.com/auth/classroom.profile.emails`
- `
  https://www.googleapis.com/auth/classroom.profile.photos`

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