Microsoft 365 · Schema
microsoft.graph.messageRule
ProductivityCollaborationEmailCalendarFileIdentityMicrosoftMicrosoft Graph
Properties
| Name | Type | Description |
|---|---|---|
| id | string | The unique identifier for an entity. Read-only. |
| actions | object | |
| conditions | object | |
| displayName | stringnull | The display name of the rule. |
| exceptions | object | |
| hasError | booleannull | Indicates whether the rule is in an error condition. Read-only. |
| isEnabled | booleannull | Indicates whether the rule is enabled to be applied to messages. |
| isReadOnly | booleannull | Indicates if the rule is read-only and cannot be modified or deleted by the rules REST API. |
| sequence | numbernull | Indicates the order in which the rule is executed, among other rules. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/microsoft-365/json-schema/microsoft-365-microsoft-graph-message-rule-schema.json",
"title": "microsoft.graph.messageRule",
"x-generated": "2026-11-04",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/microsoft-365-mail-api-openapi.yml#/components/schemas/microsoft.graph.messageRule",
"allOf": [
{
"$ref": "#/$defs/microsoft.graph.entity"
},
{
"title": "messageRule",
"type": "object",
"properties": {
"actions": {
"$ref": "#/$defs/microsoft.graph.messageRuleActions"
},
"conditions": {
"$ref": "#/$defs/microsoft.graph.messageRulePredicates"
},
"displayName": {
"type": [
"string",
"null"
],
"description": "The display name of the rule."
},
"exceptions": {
"$ref": "#/$defs/microsoft.graph.messageRulePredicates"
},
"hasError": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether the rule is in an error condition. Read-only."
},
"isEnabled": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether the rule is enabled to be applied to messages."
},
"isReadOnly": {
"type": [
"boolean",
"null"
],
"description": "Indicates if the rule is read-only and cannot be modified or deleted by the rules REST API."
},
"sequence": {
"maximum": 2147483647,
"minimum": -2147483648,
"type": [
"number",
"null"
],
"description": "Indicates the order in which the rule is executed, among other rules.",
"format": "int32"
}
},
"additionalProperties": {
"type": "object"
}
}
],
"$defs": {
"microsoft.graph.emailAddress": {
"title": "emailAddress",
"type": "object",
"properties": {
"address": {
"type": [
"string",
"null"
],
"description": "The email address of the person or entity."
},
"name": {
"type": [
"string",
"null"
],
"description": "The display name of the person or entity."
}
},
"additionalProperties": {
"type": "object"
}
},
"microsoft.graph.entity": {
"title": "entity",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier for an entity. Read-only."
}
},
"additionalProperties": {
"type": "object"
}
},
"microsoft.graph.importance": {
"title": "importance",
"enum": [
"low",
"normal",
"high"
],
"type": "string"
},
"microsoft.graph.messageActionFlag": {
"title": "messageActionFlag",
"enum": [
"any",
"call",
"doNotForward",
"followUp",
"fyi",
"forward",
"noResponseNecessary",
"read",
"reply",
"replyToAll",
"review"
],
"type": "string"
},
"microsoft.graph.messageRuleActions": {
"title": "messageRuleActions",
"type": "object",
"properties": {
"assignCategories": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
},
"description": "A list of categories to be assigned to a message."
},
"copyToFolder": {
"type": [
"string",
"null"
],
"description": "The ID of a folder that a message is to be copied to."
},
"delete": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether a message should be moved to the Deleted Items folder."
},
"forwardAsAttachmentTo": {
"type": "array",
"items": {
"$ref": "#/$defs/microsoft.graph.recipient"
},
"description": "The email addresses of the recipients to which a message should be forwarded as an attachment."
},
"forwardTo": {
"type": "array",
"items": {
"$ref": "#/$defs/microsoft.graph.recipient"
},
"description": "The email addresses of the recipients to which a message should be forwarded."
},
"markAsRead": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether a message should be marked as read."
},
"markImportance": {
"$ref": "#/$defs/microsoft.graph.importance"
},
"moveToFolder": {
"type": [
"string",
"null"
],
"description": "The ID of the folder that a message will be moved to."
},
"permanentDelete": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether a message should be permanently deleted and not saved to the Deleted Items folder."
},
"redirectTo": {
"type": "array",
"items": {
"$ref": "#/$defs/microsoft.graph.recipient"
},
"description": "The email addresses to which a message should be redirected."
},
"stopProcessingRules": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether subsequent rules should be evaluated."
}
},
"additionalProperties": {
"type": "object"
}
},
"microsoft.graph.messageRulePredicates": {
"title": "messageRulePredicates",
"type": "object",
"properties": {
"bodyContains": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
},
"description": "Represents the strings that should appear in the body of an incoming message in order for the condition or exception to apply."
},
"bodyOrSubjectContains": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
},
"description": "Represents the strings that should appear in the body or subject of an incoming message in order for the condition or exception to apply."
},
"categories": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
},
"description": "Represents the categories that an incoming message should be labeled with in order for the condition or exception to apply."
},
"fromAddresses": {
"type": "array",
"items": {
"$ref": "#/$defs/microsoft.graph.recipient"
},
"description": "Represents the specific sender email addresses of an incoming message in order for the condition or exception to apply."
},
"hasAttachments": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether an incoming message must have attachments in order for the condition or exception to apply."
},
"headerContains": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
},
"description": "Represents the strings that appear in the headers of an incoming message in order for the condition or exception to apply."
},
"importance": {
"$ref": "#/$defs/microsoft.graph.importance"
},
"isApprovalRequest": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether an incoming message must be an approval request in order for the condition or exception to apply."
},
"isAutomaticForward": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether an incoming message must be automatically forwarded in order for the condition or exception to apply."
},
"isAutomaticReply": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether an incoming message must be an auto reply in order for the condition or exception to apply."
},
"isEncrypted": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether an incoming message must be encrypted in order for the condition or exception to apply."
},
"isMeetingRequest": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether an incoming message must be a meeting request in order for the condition or exception to apply."
},
"isMeetingResponse": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether an incoming message must be a meeting response in order for the condition or exception to apply."
},
"isNonDeliveryReport": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether an incoming message must be a non-delivery report in order for the condition or exception to apply."
},
"isPermissionControlled": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether an incoming message must be permission controlled (RMS-protected) in order for the condition or exception to apply."
},
"isReadReceipt": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether an incoming message must be a read receipt in order for the condition or exception to apply."
},
"isSigned": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether an incoming message must be S/MIME-signed in order for the condition or exception to apply."
},
"isVoicemail": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether an incoming message must be a voice mail in order for the condition or exception to apply."
},
"messageActionFlag": {
"$ref": "#/$defs/microsoft.graph.messageActionFlag"
},
"notSentToMe": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether the owner of the mailbox must not be a recipient of an incoming message in order for the condition or exception to apply."
},
"recipientContains": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
},
"description": "Represents the strings that appear in either the toRecipients or ccRecipients properties of an incoming message in order for the condition or exception to apply."
},
"senderContains": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
},
"description": "Represents the strings that appear in the from property of an incoming message in order for the condition or exception to apply."
},
"sensitivity": {
"$ref": "#/$defs/microsoft.graph.sensitivity"
},
"sentCcMe": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether the owner of the mailbox must be in the ccRecipients property of an incoming message in order for the condition or exception to apply."
},
"sentOnlyToMe": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether the owner of the mailbox must be the only recipient in an incoming message in order for the condition or exception to apply."
},
"sentToAddresses": {
"type": "array",
"items": {
"$ref": "#/$defs/microsoft.graph.recipient"
},
"description": "Represents the email addresses that an incoming message must have been sent to in order for the condition or exception to apply."
},
"sentToMe": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether the owner of the mailbox must be in the toRecipients property of an incoming message in order for the condition or exception to apply."
},
"sentToOrCcMe": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether the owner of the mailbox must be in either a toRecipients or ccRecipients property of an incoming message in order for the condition or exception to apply."
},
"subjectContains": {
"type": "array",
"items": {
"type": [
"string",
"null"
]
},
"description": "Represents the strings that appear in the subject of an incoming message in order for the condition or exception to apply."
},
"withinSizeRange": {
"$ref": "#/$defs/microsoft.graph.sizeRange"
}
},
"additionalProperties": {
"type": "object"
}
},
"microsoft.graph.recipient": {
"title": "recipient",
"type": "object",
"properties": {
"emailAddress": {
"$ref": "#/$defs/microsoft.graph.emailAddress"
}
},
"additionalProperties": {
"type": "object"
}
},
"microsoft.graph.sensitivity": {
"title": "sensitivity",
"enum": [
"normal",
"personal",
"private",
"confidential"
],
"type": "string"
},
"microsoft.graph.sizeRange": {
"title": "sizeRange",
"type": "object",
"properties": {
"maximumSize": {
"maximum": 2147483647,
"minimum": -2147483648,
"type": [
"number",
"null"
],
"description": "The maximum size (in kilobytes) that an incoming message must have in order for a condition or exception to apply.",
"format": "int32"
},
"minimumSize": {
"maximum": 2147483647,
"minimum": -2147483648,
"type": [
"number",
"null"
],
"description": "The minimum size (in kilobytes) that an incoming message must have in order for a condition or exception to apply.",
"format": "int32"
}
},
"additionalProperties": {
"type": "object"
}
}
}
}
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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/microsoft-365-microsoft-graph-message-rule"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.