# Google Classroom API . userProfiles . guardianInvitations

## Instance Methods

Creates a guardian invitation, and sends an email to the guardian asking

Returns a specific guardian invitation.

Returns a list of guardian invitations that the requesting user is

Retrieves the next page of results.

Modifies a guardian invitation.

### Method Details

`create(studentId, body, x__xgafv=None)`

    Creates a guardian invitation, and sends an email to the guardian asking
    them to confirm that they are the student's guardian.

    Once the guardian accepts the invitation, their `state` will change to
    `COMPLETED` and they will start receiving guardian notifications. A
    `Guardian` resource will also be created to represent the active guardian.

    The request object must have the `student_id` and
    `invited_email_address` fields set. Failing to set these fields, or
    setting any other fields in the request, will result in an error.

    This method returns the following error codes:

    * `PERMISSION_DENIED` if the current user does not have permission to
      manage guardians, if the guardian in question has already rejected
      too many requests for that student, if guardians are not enabled for the
      domain in question, or for other access errors.
    * `RESOURCE_EXHAUSTED` if the student or guardian has exceeded the guardian
      link limit.
    * `INVALID_ARGUMENT` if the guardian email address is not valid (for
      example, if it is too long), or if the format of the student ID provided
      cannot be recognized (it is not an email address, nor a `user_id` from
      this API). This error will also be returned if read-only fields are set,
      or if the `state` field is set to to a value other than `PENDING`.
    * `NOT_FOUND` if the student ID provided is a valid student ID, but
      Classroom has no record of that student.
    * `ALREADY_EXISTS` if there is already a pending guardian invitation for
      the student and `invited_email_address` provided, or if the provided
      `invited_email_address` matches the Google account of an existing
      `Guardian` for this user.

    Args:
      studentId: string, ID of the student (in standard format) (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # An invitation to become the guardian of a specified user, sent to a specified
          # email address.
        "invitationId": "A String", # Unique identifier for this invitation.
            #
            # Read-only.
        "studentId": "A String", # ID of the student (in standard format)
        "creationTime": "A String", # The time that this invitation was created.
            #
            # Read-only.
        "state": "A String", # The state that this invitation is in.
        "invitedEmailAddress": "A String", # Email address that the invitation was sent to.
            # This field is only visible to domain administrators.
      }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # An invitation to become the guardian of a specified user, sent to a specified
            # email address.
          "invitationId": "A String", # Unique identifier for this invitation.
              #
              # Read-only.
          "studentId": "A String", # ID of the student (in standard format)
          "creationTime": "A String", # The time that this invitation was created.
              #
              # Read-only.
          "state": "A String", # The state that this invitation is in.
          "invitedEmailAddress": "A String", # Email address that the invitation was sent to.
              # This field is only visible to domain administrators.
        }

`get(studentId, invitationId, x__xgafv=None)`

    Returns a specific guardian invitation.

    This method returns the following error codes:

    * `PERMISSION_DENIED` if the requesting user is not permitted to view
      guardian invitations for the student identified by the `student_id`, if
      guardians are not enabled for the domain in question, or for other
      access errors.
    * `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot
      be recognized (it is not an email address, nor a `student_id` from the
      API, nor the literal string `me`).
    * `NOT_FOUND` if Classroom cannot find any record of the given student or
      `invitation_id`. May also be returned if the student exists, but the
      requesting user does not have access to see that student.

    Args:
      studentId: string, The ID of the student whose guardian invitation is being requested. (required)
      invitationId: string, The `id` field of the `GuardianInvitation` being requested. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # An invitation to become the guardian of a specified user, sent to a specified
            # email address.
          "invitationId": "A String", # Unique identifier for this invitation.
              #
              # Read-only.
          "studentId": "A String", # ID of the student (in standard format)
          "creationTime": "A String", # The time that this invitation was created.
              #
              # Read-only.
          "state": "A String", # The state that this invitation is in.
          "invitedEmailAddress": "A String", # Email address that the invitation was sent to.
              # This field is only visible to domain administrators.
        }

`list(studentId, invitedEmailAddress=None, pageSize=None, pageToken=None, states=None, x__xgafv=None)`

    Returns a list of guardian invitations that the requesting user is
    permitted to view, filtered by the parameters provided.

    This method returns the following error codes:

    * `PERMISSION_DENIED` if a `student_id` is specified, and the requesting
      user is not permitted to view guardian invitations for that student, if
      `"-"` is specified as the `student_id` and the user is not a domain
      administrator, if guardians are not enabled for the domain in question,
      or for other access errors.
    * `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot
      be recognized (it is not an email address, nor a `student_id` from the
      API, nor the literal string `me`). May also be returned if an invalid
      `page_token` or `state` is provided.
    * `NOT_FOUND` if a `student_id` is specified, and its format can be
      recognized, but Classroom has no record of that student.

    Args:
      studentId: string, The ID of the student whose guardian invitations are to be returned.
    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
    * the string literal `"-"`, indicating that results should be returned for
      all students that the requesting user is permitted to view guardian
      invitations. (required)
      invitedEmailAddress: string, If specified, only results with the specified `invited_email_address`
    will be returned.
      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.
      states: string, If specified, only results with the specified `state` values will be
    returned. Otherwise, results with a `state` of `PENDING` will be returned. (repeated)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response when listing guardian invitations.
        "nextPageToken": "A String", # Token identifying the next page of results to return. If empty, no further
            # results are available.
        "guardianInvitations": [ # Guardian invitations that matched the list request.
          { # An invitation to become the guardian of a specified user, sent to a specified
                # email address.
              "invitationId": "A String", # Unique identifier for this invitation.
                  #
                  # Read-only.
              "studentId": "A String", # ID of the student (in standard format)
              "creationTime": "A String", # The time that this invitation was created.
                  #
                  # Read-only.
              "state": "A String", # The state that this invitation is in.
              "invitedEmailAddress": "A String", # Email address that the invitation was sent to.
                  # This field is only visible to domain administrators.
            },
        ],
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`patch(studentId, invitationId, body, updateMask=None, x__xgafv=None)`

    Modifies a guardian invitation.

    Currently, the only valid modification is to change the `state` from
    `PENDING` to `COMPLETE`. This has the effect of withdrawing the invitation.

    This method returns the following error codes:

    * `PERMISSION_DENIED` if the current user does not have permission to
      manage guardians, if guardians are not enabled for the domain in question
      or for other access errors.
    * `FAILED_PRECONDITION` if the guardian link is not in the `PENDING` state.
    * `INVALID_ARGUMENT` if the format of the student ID provided
      cannot be recognized (it is not an email address, nor a `user_id` from
      this API), or if the passed `GuardianInvitation` has a `state` other than
      `COMPLETE`, or if it modifies fields other than `state`.
    * `NOT_FOUND` if the student ID provided is a valid student ID, but
      Classroom has no record of that student, or if the `id` field does not
      refer to a guardian invitation known to Classroom.

    Args:
      studentId: string, The ID of the student whose guardian invitation is to be modified. (required)
      invitationId: string, The `id` field of the `GuardianInvitation` to be modified. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # An invitation to become the guardian of a specified user, sent to a specified
          # email address.
        "invitationId": "A String", # Unique identifier for this invitation.
            #
            # Read-only.
        "studentId": "A String", # ID of the student (in standard format)
        "creationTime": "A String", # The time that this invitation was created.
            #
            # Read-only.
        "state": "A String", # The state that this invitation is in.
        "invitedEmailAddress": "A String", # Email address that the invitation was sent to.
            # This field is only visible to domain administrators.
      }

      updateMask: string, Mask that identifies which fields on the course to update.
    This field is required to do an update. The update will fail if invalid
    fields are specified. The following fields are valid:

    * `state`

    When set in a query parameter, this field should be specified as

    `updateMask=,,...`
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # An invitation to become the guardian of a specified user, sent to a specified
            # email address.
          "invitationId": "A String", # Unique identifier for this invitation.
              #
              # Read-only.
          "studentId": "A String", # ID of the student (in standard format)
          "creationTime": "A String", # The time that this invitation was created.
              #
              # Read-only.
          "state": "A String", # The state that this invitation is in.
          "invitedEmailAddress": "A String", # Email address that the invitation was sent to.
              # This field is only visible to domain administrators.
        }