# 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)`

    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. (required)
        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.
          "forward": "A String", # Email address that the message should be forwarded to.
          "removeLabelIds": [ # List of labels to remove from the message.
            "A String",
          ],
          "addLabelIds": [ # List of labels to add to the message.
            "A String",
          ],
        },
        "id": "A String", # The server assigned ID of the filter.
        "criteria": { # Message matching criteria. # Matching criteria for the filter.
          "from": "A String", # The sender's display name or email address.
          "hasAttachment": True or False, # Whether the message has any attachment.
          "subject": "A String", # Case-insensitive phrase found in the message's subject. Trailing and leading whitespace are be trimmed and adjacent spaces are collapsed.
          "sizeComparison": "A String", # How the message size in bytes should be in relation to the size field.
          "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.
          "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".
          "excludeChats": True or False, # Whether the response should exclude chats.
          "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".
          "size": 42, # The size of the entire RFC822 message in bytes, including all headers and attachments.
        },
      }

    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.
            "forward": "A String", # Email address that the message should be forwarded to.
            "removeLabelIds": [ # List of labels to remove from the message.
              "A String",
            ],
            "addLabelIds": [ # List of labels to add to the message.
              "A String",
            ],
          },
          "id": "A String", # The server assigned ID of the filter.
          "criteria": { # Message matching criteria. # Matching criteria for the filter.
            "from": "A String", # The sender's display name or email address.
            "hasAttachment": True or False, # Whether the message has any attachment.
            "subject": "A String", # Case-insensitive phrase found in the message's subject. Trailing and leading whitespace are be trimmed and adjacent spaces are collapsed.
            "sizeComparison": "A String", # How the message size in bytes should be in relation to the size field.
            "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.
            "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".
            "excludeChats": True or False, # Whether the response should exclude chats.
            "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".
            "size": 42, # The size of the entire RFC822 message in bytes, including all headers and attachments.
          },
        }

`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.
            "forward": "A String", # Email address that the message should be forwarded to.
            "removeLabelIds": [ # List of labels to remove from the message.
              "A String",
            ],
            "addLabelIds": [ # List of labels to add to the message.
              "A String",
            ],
          },
          "id": "A String", # The server assigned ID of the filter.
          "criteria": { # Message matching criteria. # Matching criteria for the filter.
            "from": "A String", # The sender's display name or email address.
            "hasAttachment": True or False, # Whether the message has any attachment.
            "subject": "A String", # Case-insensitive phrase found in the message's subject. Trailing and leading whitespace are be trimmed and adjacent spaces are collapsed.
            "sizeComparison": "A String", # How the message size in bytes should be in relation to the size field.
            "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.
            "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".
            "excludeChats": True or False, # Whether the response should exclude chats.
            "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".
            "size": 42, # The size of the entire RFC822 message in bytes, including all headers and attachments.
          },
        }

`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.
                "forward": "A String", # Email address that the message should be forwarded to.
                "removeLabelIds": [ # List of labels to remove from the message.
                  "A String",
                ],
                "addLabelIds": [ # List of labels to add to the message.
                  "A String",
                ],
              },
              "id": "A String", # The server assigned ID of the filter.
              "criteria": { # Message matching criteria. # Matching criteria for the filter.
                "from": "A String", # The sender's display name or email address.
                "hasAttachment": True or False, # Whether the message has any attachment.
                "subject": "A String", # Case-insensitive phrase found in the message's subject. Trailing and leading whitespace are be trimmed and adjacent spaces are collapsed.
                "sizeComparison": "A String", # How the message size in bytes should be in relation to the size field.
                "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.
                "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".
                "excludeChats": True or False, # Whether the response should exclude chats.
                "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".
                "size": 42, # The size of the entire RFC822 message in bytes, including all headers and attachments.
              },
            },
        ],
      }