Block an email address or domain for a site
block_site_email_address
Adds one address, or one whole domain, to a site's blocked list by hand, so the site never emails it again.
A blocked address is skipped from every later message, and a message whose recipients are all blocked is refused. Pass a domain in email as example.com, @example.com or *@example.com, and it blocks every address at exactly that domain, not its subdomains. Anything else is refused with Enter one email address, or a domain such as example.com!
The tool tells the client to use it when you ask, for example because somebody asked not to be contacted. An entry already on the list keeps the reason it has, and the answer says it was already blocked, with alreadyBlocked true. Nothing already sent changes, and delete_site_email_suppression takes the entry off the list again. See Blocked addresses.
Request
Call it with a POST to https://api.modulify.ai/v1/block_site_email_address, sending the inputs below as a JSON object. The token needs the config:write scope.
It makes changes, so send an Idempotency-Key header whenever you might retry it. A retry with the same key gets the first answer back instead of running again.
curl -X POST https://api.modulify.ai/v1/block_site_email_address \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"projectId":"PROJECT_ID","email":"EMAIL"}'Over MCP, the same method is the block_site_email_address tool.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
projectId |
string | Yes | The site id. |
email |
string | Yes | The email address to block, or a domain such as example.com to block every address at it. |
Response
Every call answers with the JSON envelope of success, message, data, code and version. data holds the result described above, and on a method that returns a total, count carries it. The response headers carry the call's X-Request-Id and what is left of your per-minute budget in X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. Errors explains every status code a call can answer with.