MOLTED EMAIL

Errors & Policy Blocks

Every policy block reason and suppression reason explained.

When a send request is blocked by the policy engine, the response includes a reason field. This page documents every possible reason.

Policy block reasons

ReasonDescription
duplicateA request with the same dedupeKey was already processed. Use a unique key per send.
cooldownThe recipient was emailed too recently. Wait for the cooldown period to expire.
dncThe recipient is on a do-not-contact list. This cannot be overridden.
suppressedThe recipient is on the suppression list (e.g., from a prior bounce or complaint).
active_opportunityAn active sales opportunity exists for this contact. Automated sends are paused to avoid interference.
budget_exceededThe tenant's daily or hourly send budget has been exceeded.
monthly_budget_exceededThe tenant's monthly send budget has been exceeded.
tenant_pausedSending is paused for this tenant, either manually or due to an incident.
template_not_approvedThe template requires approval and has not been approved yet.
template_lint_failedThe template failed content linting checks (e.g., missing unsubscribe link, spam triggers).
rate_limitedOne of the rate limit windows (monthly, daily, or hourly) has been exceeded. See Rate Limits.
risk_budget_exceededThe tenant has exceeded its risk budget based on bounce and complaint rates.
negative_signal_budget_exceededToo many negative signals (bounces, complaints) received in the current window.
lease_conflictAnother agent currently holds a coordination lease on this contact. Wait for the lease to expire or be released.
no_verified_domainThe sender domain is not verified. Add and verify the domain in Dashboard > Domains.
subscription_expiredYour subscription has expired. Renew or upgrade your plan to resume sending.
trial_not_activatedYour trial has not been activated yet. Complete onboarding to start sending.
storage_limit_exceededYour plan's storage limit has been exceeded. Free up space or upgrade your plan.

Suppression reasons

When a recipient is on the suppression list (suppressed block reason), the suppression was created for one of these reasons:

Reason codeDescription
complaintThe recipient previously marked an email as spam.
hard_bounceA previous email to this address hard-bounced (e.g., address does not exist).
manual_dncThe recipient was manually added to the do-not-contact list.
legal_requestA suppression was added due to a legal request (e.g., GDPR erasure).
role_accountThe address is a role account (e.g., info@, admin@) that should not receive automated email.

Handling blocked sends

  1. Check the reason field in the response to understand why the send was blocked.
  2. Refer to the table above for the specific reason.
  3. Take the appropriate action — wait for a cooldown, verify a domain, upgrade your plan, etc.
  4. Retry the request once the issue is resolved. Use a new dedupeKey if the original was consumed.