Pricing Documentation Sign up Log in

Gates (beta)

Rules & Conditions

A Gate is a stack of rules. Each rule checks one or more conditions and suggests an action. The engine evaluates rules from top to bottom and chooses the outcome as follows:

  • Keep evaluating through the list. The last matching rule sets the final decision
  • If a matching rule has stop: true, evaluation ends immediately and that rule’s action is final

Anatomy of a rule

Each rule has these fields:

Field Type Required Description
name string yes Short, descriptive label shown in the UI and logs
description string no Why this rule exists or what it targets
message string no Message to return when the rule matches
match enum all| any yes all = AND all conditions, any = OR across conditions
action enum allow block challenge yes Suggested outcome when the rule matches
stop boolean no If true, stop evaluating further rules when this one matches
enabled boolean no If false, the rule is ignored
conditions array<Condition> yes One or more field comparisons

Evaluation model

  1. Rules are processed top → bottom
  2. For each rule, conditions are evaluated using the rule’s match mode (all or any)
  3. If the rule matches:
    • Its action becomes the current decision
    • If stop: true, evaluation ends and this action is final
  4. If multiple rules match and none had stop: true, the last matching rule wins

Supported fields

Below are the fields most rules use. All string comparisons are case‑insensitive unless noted.

Email fields

Field Type Details
email.disposable boolean Email is disposable while domain is not. For providers offering disposable aliases on legit domains (e.g. Gmail or Outlook).
email.role_account boolean Local part is a role account (admin@, support@).

Domain fields

Field Type Details
domain.name string The domain name. Use sparingly for one‑off allow/block.
domain.mx boolean Domain has valid MX records.
domain.mx_records.*.hostname string[] Hostnames of MX records. Useful for filtering based on MX record hostnames.
domain.disposable boolean Domain is a disposable provider.
domain.relay_domain boolean Domain forwards to another mailbox.
domain.public_domain boolean Domain is a public mailbox provider (gmail.com, outlook.com, yahoo.com…).
domain.spam boolean Domain flagged as spam by our system.
domain.age_days integer Approximate age in days.
domain.blocklisted boolean Domain is present in your account blocklist.
Previous
Decision Endpoint