# Google Classroom API . userProfiles . guardianInvitations

## Instance Methods

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.

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.

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.

Retrieves the next page of results.

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.

### 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.
        "invitedEmailAddress": "A String", # Email address that the invitation was sent to. This field is only visible to domain administrators.
        "state": "A String", # The state that this invitation is in.
      }

      x__xgafv: string, V1 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.
          "invitedEmailAddress": "A String", # Email address that the invitation was sent to. This field is only visible to domain administrators.
          "state": "A String", # The state that this invitation is in.
        }

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

    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.
          "invitedEmailAddress": "A String", # Email address that the invitation was sent to. This field is only visible to domain administrators.
          "state": "A String", # The state that this invitation is in.
        }

`list(studentId, invitedEmailAddress=None, pageSize=None, states=None, pageToken=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.
      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)
      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.
      x__xgafv: string, V1 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.
              "invitedEmailAddress": "A String", # Email address that the invitation was sent to. This field is only visible to domain administrators.
              "state": "A String", # The state that this invitation is in.
            },
        ],
      }

`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.
        "invitedEmailAddress": "A String", # Email address that the invitation was sent to. This field is only visible to domain administrators.
        "state": "A String", # The state that this invitation is in.
      }

      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.

    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.
          "invitedEmailAddress": "A String", # Email address that the invitation was sent to. This field is only visible to domain administrators.
          "state": "A String", # The state that this invitation is in.
        }