{"command":{"effect":"write","timeoutSeconds":30,"inputSchema":{"type":"object","description":"Replaces an existing blocked sender pattern in full. Unlike PATCH, every field is taken from the request body, so optional fields that are omitted are reset rather than left untouched. Use this when managing blocked senders declaratively.","properties":{"path":{"type":"object","properties":{"account_id":{"$ref":"#/definitions/email-security_identifier","description":"Account identifier tag."},"pattern_id":{"$ref":"#/definitions/email-security_BlockedSenderId"}},"required":["account_id","pattern_id"],"additionalProperties":false},"body":{"$ref":"#/definitions/email-security_CreateBlockedSender"}},"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_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":"Replace a blocked email sender","id":"cloudflare.email_security_replace_blocked_sender","example":{"path":{"account_id":"023e105f4ecef8ad9ca31a8372d0c353","pattern_id":"f174e90a-fafe-4643-bbbc-4a0ed4fc8415"},"body":{"pattern":"test@example.com","is_regex":false,"pattern_type":"EMAIL"}},"maxRequests":1,"summary":false}}