# Gmail API . users . settings . filters

## Instance Methods

Creates a filter.

Deletes a filter.

Gets a filter.

Lists the message filters of a Gmail user.

### Method Details

`create(userId, body=None)`

    Creates a filter.

    Args:
      userId: string, User's email address. The special value "me" can be used to indicate the authenticated user. (required)
      body: object, The request body.
        The object takes the form of:

    { # Resource definition for Gmail filters. Filters apply to specific messages instead of an entire email thread.
        "action": { # A set of actions to perform on a message. # Action that the filter performs.
          "addLabelIds": [ # List of labels to add to the message.
            "A String",
          ],
          "forward": "A String", # Email address that the message should be forwarded to.
          "removeLabelIds": [ # List of labels to remove from the message.
            "A String",
          ],
        },
        "criteria": { # Message matching criteria. # Matching criteria for the filter.
          "excludeChats": True or False, # Whether the response should exclude chats.
          "from": "A String", # The sender's display name or email address.
          "hasAttachment": True or False, # Whether the message has any attachment.
          "negatedQuery": "A String", # Only return messages not matching the specified query. Supports the same query format as the Gmail search box. For example, "from:someuser@example.com rfc822msgid: is:unread".
          "query": "A String", # Only return messages matching the specified query. Supports the same query format as the Gmail search box. For example, "from:someuser@example.com rfc822msgid: is:unread".
          "size": 42, # The size of the entire RFC822 message in bytes, including all headers and attachments.
          "sizeComparison": "A String", # How the message size in bytes should be in relation to the size field.
          "subject": "A String", # Case-insensitive phrase found in the message's subject. Trailing and leading whitespace are be trimmed and adjacent spaces are collapsed.
          "to": "A String", # The recipient's display name or email address. Includes recipients in the "to", "cc", and "bcc" header fields. You can use simply the local part of the email address. For example, "example" and "example@" both match "example@gmail.com". This field is case-insensitive.
        },
        "id": "A String", # The server assigned ID of the filter.
      }

    Returns:
      An object of the form:

        { # Resource definition for Gmail filters. Filters apply to specific messages instead of an entire email thread.
          "action": { # A set of actions to perform on a message. # Action that the filter performs.
            "addLabelIds": [ # List of labels to add to the message.
              "A String",
            ],
            "forward": "A String", # Email address that the message should be forwarded to.
            "removeLabelIds": [ # List of labels to remove from the message.
              "A String",
            ],
          },
          "criteria": { # Message matching criteria. # Matching criteria for the filter.
            "excludeChats": True or False, # Whether the response should exclude chats.
            "from": "A String", # The sender's display name or email address.
            "hasAttachment": True or False, # Whether the message has any attachment.
            "negatedQuery": "A String", # Only return messages not matching the specified query. Supports the same query format as the Gmail search box. For example, "from:someuser@example.com rfc822msgid: is:unread".
            "query": "A String", # Only return messages matching the specified query. Supports the same query format as the Gmail search box. For example, "from:someuser@example.com rfc822msgid: is:unread".
            "size": 42, # The size of the entire RFC822 message in bytes, including all headers and attachments.
            "sizeComparison": "A String", # How the message size in bytes should be in relation to the size field.
            "subject": "A String", # Case-insensitive phrase found in the message's subject. Trailing and leading whitespace are be trimmed and adjacent spaces are collapsed.
            "to": "A String", # The recipient's display name or email address. Includes recipients in the "to", "cc", and "bcc" header fields. You can use simply the local part of the email address. For example, "example" and "example@" both match "example@gmail.com". This field is case-insensitive.
          },
          "id": "A String", # The server assigned ID of the filter.
        }

`delete(userId, id)`

    Deletes a filter.

    Args:
      userId: string, User's email address. The special value "me" can be used to indicate the authenticated user. (required)
      id: string, The ID of the filter to be deleted. (required)

`get(userId, id)`

    Gets a filter.

    Args:
      userId: string, User's email address. The special value "me" can be used to indicate the authenticated user. (required)
      id: string, The ID of the filter to be fetched. (required)

    Returns:
      An object of the form:

        { # Resource definition for Gmail filters. Filters apply to specific messages instead of an entire email thread.
          "action": { # A set of actions to perform on a message. # Action that the filter performs.
            "addLabelIds": [ # List of labels to add to the message.
              "A String",
            ],
            "forward": "A String", # Email address that the message should be forwarded to.
            "removeLabelIds": [ # List of labels to remove from the message.
              "A String",
            ],
          },
          "criteria": { # Message matching criteria. # Matching criteria for the filter.
            "excludeChats": True or False, # Whether the response should exclude chats.
            "from": "A String", # The sender's display name or email address.
            "hasAttachment": True or False, # Whether the message has any attachment.
            "negatedQuery": "A String", # Only return messages not matching the specified query. Supports the same query format as the Gmail search box. For example, "from:someuser@example.com rfc822msgid: is:unread".
            "query": "A String", # Only return messages matching the specified query. Supports the same query format as the Gmail search box. For example, "from:someuser@example.com rfc822msgid: is:unread".
            "size": 42, # The size of the entire RFC822 message in bytes, including all headers and attachments.
            "sizeComparison": "A String", # How the message size in bytes should be in relation to the size field.
            "subject": "A String", # Case-insensitive phrase found in the message's subject. Trailing and leading whitespace are be trimmed and adjacent spaces are collapsed.
            "to": "A String", # The recipient's display name or email address. Includes recipients in the "to", "cc", and "bcc" header fields. You can use simply the local part of the email address. For example, "example" and "example@" both match "example@gmail.com". This field is case-insensitive.
          },
          "id": "A String", # The server assigned ID of the filter.
        }

`list(userId)`

    Lists the message filters of a Gmail user.

    Args:
      userId: string, User's email address. The special value "me" can be used to indicate the authenticated user. (required)

    Returns:
      An object of the form:

        { # Response for the ListFilters method.
        "filter": [ # List of a user's filters.
          { # Resource definition for Gmail filters. Filters apply to specific messages instead of an entire email thread.
              "action": { # A set of actions to perform on a message. # Action that the filter performs.
                "addLabelIds": [ # List of labels to add to the message.
                  "A String",
                ],
                "forward": "A String", # Email address that the message should be forwarded to.
                "removeLabelIds": [ # List of labels to remove from the message.
                  "A String",
                ],
              },
              "criteria": { # Message matching criteria. # Matching criteria for the filter.
                "excludeChats": True or False, # Whether the response should exclude chats.
                "from": "A String", # The sender's display name or email address.
                "hasAttachment": True or False, # Whether the message has any attachment.
                "negatedQuery": "A String", # Only return messages not matching the specified query. Supports the same query format as the Gmail search box. For example, "from:someuser@example.com rfc822msgid: is:unread".
                "query": "A String", # Only return messages matching the specified query. Supports the same query format as the Gmail search box. For example, "from:someuser@example.com rfc822msgid: is:unread".
                "size": 42, # The size of the entire RFC822 message in bytes, including all headers and attachments.
                "sizeComparison": "A String", # How the message size in bytes should be in relation to the size field.
                "subject": "A String", # Case-insensitive phrase found in the message's subject. Trailing and leading whitespace are be trimmed and adjacent spaces are collapsed.
                "to": "A String", # The recipient's display name or email address. Includes recipients in the "to", "cc", and "bcc" header fields. You can use simply the local part of the email address. For example, "example" and "example@" both match "example@gmail.com". This field is case-insensitive.
              },
              "id": "A String", # The server assigned ID of the filter.
            },
        ],
      }