Nylas · Schema

GrantRuleEvaluation

An audit record of a single rule-engine evaluation against an inbound message, SMTP envelope, or outbound send for a grant. Rule evaluations are created automatically during inbound processing and outbound send handling and can be listed to trace which rules matched, what input was considered, and which actions were applied.

CalendarCommunicationsContactsEmailMessagingSchedulingA2A

Properties

Name Type Description
id string Globally unique identifier for this evaluation record (UUID).
grant_id string The grant this evaluation belongs to (UUID).
message_id stringnull The inbound message or stored sent copy associated with this evaluation (UUID). `null` when the evaluation happened before a message record existed, such as `smtp_rcpt`, or when an outbound evaluation
evaluated_at integer When the evaluation occurred, in seconds using the Unix timestamp format.
evaluation_stage string Where in the processing pipeline the evaluation happened. `smtp_rcpt` means the evaluation ran during SMTP RCPT TO processing (before the message was accepted) — `message_id` is `null` in this case. `
evaluation_input object The normalized sender, recipient, and send-type data that rules were matched against.
applied_actions object The actions that were applied as a result of matching rules. Only populated fields are returned — fields are **omitted** (not set to `false`) when the corresponding action was not applied.
matched_rule_ids array IDs of the rules that matched during this evaluation. Empty when no rules matched (for example, when rule execution ran but nothing applied).
application_id string The application this evaluation belongs to (UUID). Read-only; derived from the authenticated API key.
organization_id string The Nylas organization this evaluation belongs to (UUID). Read-only; derived from the authenticated API key.
created_at integer When the evaluation record was created, in seconds using the Unix timestamp format.
updated_at integer When the evaluation record was last updated, in seconds using the Unix timestamp format.
View JSON Schema on GitHub

JSON Schema

nylas-grant-rule-evaluation-object-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/nylas/main/json-schema/nylas-grant-rule-evaluation-object-schema.json",
  "title": "GrantRuleEvaluation",
  "description": "An audit record of a single rule-engine evaluation against an inbound message, SMTP envelope, or\noutbound send for a grant. Rule evaluations are created automatically during inbound processing and\noutbound send handling and can be listed to trace which rules matched, what input was considered,\nand which actions were applied.",
  "x-generated": "2026-10-02",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/nylas-rules-api-openapi.yml#/components/schemas/GrantRuleEvaluationObject",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Globally unique identifier for this evaluation record (UUID)."
    },
    "grant_id": {
      "type": "string",
      "description": "The grant this evaluation belongs to (UUID)."
    },
    "message_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "The inbound message or stored sent copy associated with this evaluation (UUID). `null` when the\nevaluation happened before a message record existed, such as `smtp_rcpt`, or when an outbound\nevaluation did not persist a sent copy."
    },
    "evaluated_at": {
      "type": "integer",
      "description": "When the evaluation occurred, in seconds using the Unix timestamp format."
    },
    "evaluation_stage": {
      "type": "string",
      "enum": [
        "smtp_rcpt",
        "inbox_processing",
        "outbound_send"
      ],
      "description": "Where in the processing pipeline the evaluation happened. `smtp_rcpt` means the evaluation ran\nduring SMTP RCPT TO processing (before the message was accepted) — `message_id` is `null` in\nthis case. `inbox_processing` means the evaluation ran after the message was accepted and\nduring inbox processing — `message_id` is populated. `outbound_send` means the evaluation ran\nfor an outbound send; `message_id` is populated when a sent copy was stored, and `null` when\nthe send was blocked before storage or no sent copy was persisted."
    },
    "evaluation_input": {
      "type": "object",
      "description": "The normalized sender, recipient, and send-type data that rules were matched against.",
      "properties": {
        "from_address": {
          "type": "string",
          "description": "The normalized sender email address."
        },
        "from_domain": {
          "type": "string",
          "description": "The normalized domain portion of the sender address."
        },
        "from_tld": {
          "type": "string",
          "description": "The normalized top-level domain of the sender address."
        },
        "recipient_addresses": {
          "type": "array",
          "description": "Outbound recipient email addresses considered during rule evaluation.",
          "items": {
            "type": "string"
          }
        },
        "recipient_domains": {
          "type": "array",
          "description": "Outbound recipient domains considered during rule evaluation.",
          "items": {
            "type": "string"
          }
        },
        "recipient_tlds": {
          "type": "array",
          "description": "Outbound recipient top-level domains considered during rule evaluation.",
          "items": {
            "type": "string"
          }
        },
        "outbound_type": {
          "type": "string",
          "enum": [
            "compose",
            "reply"
          ],
          "description": "Outbound send classification used during rule evaluation."
        }
      }
    },
    "applied_actions": {
      "type": "object",
      "description": "The actions that were applied as a result of matching rules. Only populated fields are returned —\nfields are **omitted** (not set to `false`) when the corresponding action was not applied.",
      "properties": {
        "blocked": {
          "type": "boolean",
          "description": "The inbound message or outbound send was blocked and not delivered. Terminal action."
        },
        "marked_as_spam": {
          "type": "boolean",
          "description": "The message or stored sent copy was moved to the junk/spam folder."
        },
        "marked_as_read": {
          "type": "boolean",
          "description": "The message or stored sent copy was automatically marked as read."
        },
        "marked_starred": {
          "type": "boolean",
          "description": "The message or stored sent copy was automatically starred."
        },
        "archived": {
          "type": "boolean",
          "description": "The message or stored sent copy was archived."
        },
        "trashed": {
          "type": "boolean",
          "description": "The message or stored sent copy was moved to trash."
        },
        "folder_ids": {
          "type": "array",
          "description": "IDs of the custom folders the message or stored sent copy was assigned to.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "matched_rule_ids": {
      "type": "array",
      "description": "IDs of the rules that matched during this evaluation. Empty when no rules matched (for example,\nwhen rule execution ran but nothing applied).",
      "items": {
        "type": "string"
      }
    },
    "application_id": {
      "type": "string",
      "description": "The application this evaluation belongs to (UUID). Read-only; derived from the authenticated API key."
    },
    "organization_id": {
      "type": "string",
      "description": "The Nylas organization this evaluation belongs to (UUID). Read-only; derived from the authenticated API key."
    },
    "created_at": {
      "type": "integer",
      "description": "When the evaluation record was created, in seconds using the Unix timestamp format."
    },
    "updated_at": {
      "type": "integer",
      "description": "When the evaluation record was last updated, in seconds using the Unix timestamp format."
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/nylas-grant-rule-evaluation-object"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.