{"command":{"effect":"write","timeoutSeconds":30,"inputSchema":{"type":"object","description":"Executes multiple blocked sender operations atomically: delete, partially update,\nreplace, and create blocked sender patterns in a single request. All four operation\narrays (deletes, patches, puts, posts) are required and executed in order.\nSend empty arrays for unused operations.\n","properties":{"path":{"type":"object","properties":{"account_id":{"$ref":"#/definitions/email-security_identifier","description":"Account identifier tag."}},"required":["account_id"],"additionalProperties":false},"body":{"type":"object","properties":{"deletes":{"description":"IDs of the blocked sender patterns to delete.","type":"array","items":{"properties":{"id":{"$ref":"#/definitions/email-security_BlockedSenderId"}},"required":["id"],"type":"object"},"maxItems":1000},"patches":{"description":"Partial updates to apply — each entry carries the pattern's ID and only the fields to change.","type":"array","items":{"allOf":[{"$ref":"#/definitions/email-security_UpdateBlockedSender"},{"properties":{"id":{"allOf":[{"$ref":"#/definitions/email-security_BlockedSenderId"}]}},"required":["id"],"type":"object"}]},"maxItems":1000},"posts":{"description":"Blocked sender patterns to create.","type":"array","items":{"$ref":"#/definitions/email-security_CreateBlockedSender"},"maxItems":1000},"puts":{"description":"Full replacements to apply — each entry carries the pattern's ID and every field of its new value.","type":"array","items":{"allOf":[{"$ref":"#/definitions/email-security_CreateBlockedSender"},{"properties":{"id":{"allOf":[{"$ref":"#/definitions/email-security_BlockedSenderId"}]}},"required":["id"],"type":"object"}]},"maxItems":1000}},"required":["deletes","patches","puts","posts"]}},"required":["path","body"],"additionalProperties":false,"definitions":{"email-security_identifier":{"description":"Identifier.","type":"string","maxLength":32,"examples":["023e105f4ecef8ad9ca31a8372d0c353"]},"email-security_BlockedSenderId":{"description":"Blocked sender pattern identifier.","type":"string","format":"uuid","examples":["f174e90a-fafe-4643-bbbc-4a0ed4fc8415"]},"email-security_UpdateBlockedSender":{"description":"Update a blocked sender pattern.","allOf":[{"$ref":"#/definitions/email-security_BlockedSender"}],"minProperties":1},"email-security_CreateBlockedSender":{"description":"Create a blocked sender pattern.","allOf":[{"$ref":"#/definitions/email-security_BlockedSender"}],"required":["pattern","is_regex","pattern_type"]},"email-security_BlockedSender":{"description":"A blocked sender pattern.","type":"object","properties":{"comments":{"type":["string","null"],"maxLength":1024,"examples":["Block sender with email test@example.com"]},"expires_at":{"description":"Timestamp at which the pattern expires. After this time, Email Security ignores the pattern. The value must lie in the future. Send `null` to clear the expiration.","type":["string","null"],"format":"date-time","examples":["2027-01-01T00:00:00Z"]},"is_regex":{"description":"Whether `pattern` is a regular expression instead of a literal value.","type":"boolean","examples":[false]},"pattern":{"description":"The pattern value to match. The format depends on `pattern_type`: a valid email address for EMAIL (e.g. `user@example.com`), a valid domain name for DOMAIN (e.g. `example.com`), or a plain IPv4 or IPv6 address or CIDR block for IP (e.g. `1.2.3.4`, `1.2.3.0/24`, `2606:4700:4700::1111`, or `2606:4700:4700::/48`); the API rejects private or unique-local, loopback, link-local, unspecified, and IPv4 broadcast addresses, including their IPv4-mapped IPv6 equivalents.","type":"string","maxLength":1024,"minLength":1,"examples":["test@example.com"]},"pattern_type":{"$ref":"#/definitions/email-security_PatternType"}}},"email-security_PatternType":{"description":"Type of pattern matching.\n- EMAIL: matches a full email address (e.g. `user@example.com`)\n- DOMAIN: matches a domain name (e.g. `example.com`)\n- IP: matches a plain IPv4 or IPv6 address (e.g. `1.2.3.4` or `2606:4700:4700::1111`) or CIDR block (e.g. `1.2.3.0/24` or `2606:4700:4700::/48`). The API rejects private or unique-local, loopback, link-local, unspecified, and IPv4 broadcast addresses, including their IPv4-mapped IPv6 equivalents.\n- UNKNOWN: deprecated; you cannot use this when creating or updating policies, but it may appear on existing entries.\n","type":"string","enum":["EMAIL","DOMAIN","IP","UNKNOWN"],"examples":["EMAIL"]}}},"name":"Batch blocked sender operations","id":"cloudflare.email_security_batch_blocked_senders","example":{"path":{"account_id":"023e105f4ecef8ad9ca31a8372d0c353"},"body":{"deletes":[],"patches":[],"puts":[],"posts":[]}},"maxRequests":1,"summary":false}}