Mandiant · Schema

Monitor

A monitor defines 1 or more conditions and an optional doc query string to use for matching documents of interest. Matching a document results in the creation of an alert.

CompanySecurityThreat IntelligenceCybersecurityIncident ResponseAttack Surface ManagementVulnerability IntelligenceMalwareGoogle Cloud

Properties

Name Type Description
created_at string The timestamp the monitor was created.
created_by_user_email string The user's name that created the monitor.
created_by_user_id string The ID of the user that created the monitor.
description string The description of the monitor.
doc_condition object
email_notify_enabled boolean If email notifications are enabled for this monitor.
email_notify_immediate boolean If immediate email delivery is enabled for this monitor.
enabled boolean If the monitor is enabled or not.
id string The ID of the monitor.
last_updated_by_user_id string The ID of the user that last updated the monitor.
last_updated_user_email string The user's name that last updated the monitor.
name string The name of the monitor.
password_policy object
template_id string If a monitor was created from a template, then this field is populated with the template's ID. It cannot be changed after creation.
updated_at string The timestamp the monitor was last updated.
version integer The version number for the monitor. A monitor's version is incremented each time the monitor is updated.
View JSON Schema on GitHub

JSON Schema

mandiant-monitor-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/mandiant/main/json-schema/mandiant-monitor-schema.json",
  "title": "Monitor",
  "description": "A monitor defines 1 or more conditions and an optional doc query string to use for matching documents of interest. Matching a document results in the creation of an alert.",
  "x-generated": "2026-10-20",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/mandiant-dtm-openapi.yml#/components/schemas/Monitor",
  "properties": {
    "created_at": {
      "description": "The timestamp the monitor was created.",
      "format": "date-time",
      "readOnly": true,
      "type": "string"
    },
    "created_by_user_email": {
      "description": "The user's name that created the monitor.",
      "readOnly": true,
      "type": "string"
    },
    "created_by_user_id": {
      "description": "The ID of the user that created the monitor.",
      "readOnly": true,
      "type": "string"
    },
    "description": {
      "description": "The description of the monitor.",
      "type": "string"
    },
    "doc_condition": {
      "$ref": "#/$defs/Condition"
    },
    "email_notify_enabled": {
      "description": "If email notifications are enabled for this monitor.",
      "type": "boolean"
    },
    "email_notify_immediate": {
      "description": "If immediate email delivery is enabled for this monitor.",
      "type": "boolean"
    },
    "enabled": {
      "description": "If the monitor is enabled or not.",
      "type": "boolean"
    },
    "id": {
      "description": "The ID of the monitor.",
      "readOnly": true,
      "type": "string"
    },
    "last_updated_by_user_id": {
      "description": "The ID of the user that last updated the monitor.",
      "readOnly": true,
      "type": "string"
    },
    "last_updated_user_email": {
      "description": "The user's name that last updated the monitor.",
      "readOnly": true,
      "type": "string"
    },
    "name": {
      "description": "The name of the monitor.",
      "type": "string"
    },
    "password_policy": {
      "$ref": "#/$defs/PasswordPolicy"
    },
    "template_id": {
      "description": "If a monitor was created from a template, then this field is populated with the template's ID. It cannot be changed after creation.",
      "readOnly": true,
      "type": "string"
    },
    "updated_at": {
      "description": "The timestamp the monitor was last updated.",
      "format": "date-time",
      "readOnly": true,
      "type": "string"
    },
    "version": {
      "description": "The version number for the monitor. A monitor's version is incremented each time the monitor is updated.",
      "readOnly": true,
      "type": "integer"
    }
  },
  "required": [
    "doc_condition"
  ],
  "type": "object",
  "$defs": {
    "Condition": {
      "description": "A Condition forms the basis for querying topics and labels in monitors. It can be used to form complex conditions using all/any as well as specifying specific values to match for documents. See the user guide for more details.",
      "properties": {
        "match": {
          "description": "The match values, or sub Conditions.",
          "items": {
            "$ref": "#/$defs/Condition"
          },
          "type": "array"
        },
        "operator": {
          "description": "The operator to use for this Condition.",
          "enum": [
            "must_equal",
            "must_not_equal",
            "must_start_with",
            "must_not_start_with",
            "must_end_with",
            "must_not_end_with",
            "must_contain",
            "must_not_contain",
            "any",
            "all"
          ],
          "type": "string"
        },
        "topic": {
          "description": "The topic to apply this Condition to.",
          "enum": [
            "doc_type",
            "source",
            "match_conditions",
            "credential_domain",
            "typosquatted_domain",
            "keyword",
            "lucene",
            "group_bin",
            "group_brand",
            "group_crypto",
            "group_hash",
            "group_identity",
            "group_keys",
            "group_location",
            "group_network",
            "group_paths",
            "group_social",
            "group_threats",
            "label_industry",
            "label_language",
            "label_threat",
            "label_type",
            "bin",
            "bin_foreign",
            "bin_partial",
            "identity_name",
            "organization",
            "product",
            "name",
            "brand",
            "product_batch_name",
            "atom_address",
            "bch_address",
            "btc_address",
            "dash_address",
            "doge_address",
            "ltc_address",
            "xlm_address",
            "xmr_address",
            "zec_address",
            "sha1_hash",
            "sha256_hash",
            "md5_hash",
            "client_identifier",
            "email_address",
            "identity_name",
            "twitter_handle",
            "telegram_user_name",
            "phone_number",
            "access_token",
            "crypto_key_private",
            "crypto_key_public",
            "password_plaintext",
            "predict_password_plaintext",
            "location_name",
            "city",
            "country",
            "ipv4_address",
            "ipv6_address",
            "domain",
            "mac_address",
            "url",
            "filename",
            "path",
            "registry_key",
            "hashtag",
            "icq_uin",
            "jid",
            "cve",
            "threat_name",
            "threat_group_name",
            "service_name",
            "cwe"
          ],
          "type": "string"
        }
      },
      "required": [
        "operator",
        "topic",
        "match"
      ],
      "title": "Condition",
      "type": "object"
    },
    "PasswordPolicy": {
      "description": "Criteria defining a password policy.",
      "properties": {
        "length_max": {
          "description": "The maxium length of the password in order to meet the policy.",
          "readOnly": false,
          "type": "integer"
        },
        "length_min": {
          "description": "The minimum length of the password in order to meet the policy.",
          "readOnly": false,
          "type": "integer"
        },
        "lowercase_char_count": {
          "description": "The minimum numer of lowercase characters a password is expected to have in order to meet the policy.",
          "readOnly": false,
          "type": "integer"
        },
        "lowercase_char_required": {
          "description": "If true, then the password is expected to have lowercase characters in order to meet the policy.",
          "readOnly": false,
          "type": "boolean"
        },
        "numbers_count": {
          "description": "The minimum numer of numerical characters a password is expected to have in order to meet the policy.",
          "readOnly": false,
          "type": "integer"
        },
        "numbers_required": {
          "description": "If true, then the password is expected to have numerical characters in order to meet the policy.",
          "readOnly": false,
          "type": "boolean"
        },
        "special_char_count": {
          "description": "The minimum numer of special case characters a password is expected to have in order to meet the policy.",
          "readOnly": false,
          "type": "integer"
        },
        "special_char_required": {
          "description": "If true, then the password is expected to have special case characters in order to meet the policy.",
          "readOnly": false,
          "type": "boolean"
        },
        "uppercase_char_count": {
          "description": "The minimum numer of uppercase characters a password is expected to have in order to meet the policy.",
          "readOnly": false,
          "type": "integer"
        },
        "uppercase_char_required": {
          "description": "If true, then the password is expected to have uppercase characters in order to meet the policy.",
          "readOnly": false,
          "type": "boolean"
        }
      },
      "title": "Password Policy",
      "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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/mandiant-monitor"
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.