Method: courses.create

Creates a course.

The user specified in ownerId is the owner of the created course and added as a teacher. A non-admin requesting user can only create a course with themselves as the owner. Domain admins can create courses owned by any user within their domain.

This method returns the following error codes:

  • PERMISSION_DENIED if the requesting user is not permitted to create courses or for access errors.
  • NOT_FOUND if the primary teacher is not a valid user.
  • FAILED_PRECONDITION if the course owner's account is disabled or for the following request errors:
    • UserCannotOwnCourse
    • UserGroupsMembershipLimitReached
  • ALREADY_EXISTS if an alias was specified in the id and already exists.

HTTP request


The URL uses gRPC Transcoding syntax.

Request body

The request body contains an instance of Course.

Response body

If successful, the response body contains a newly created instance of Course.

Authorization scopes

Requires the following OAuth scope:


For more information, see the Authorization guide.