Skip to navigation

Why was my account suspended?

What each suspension reason means, what still works while suspended, and how to get a review.

AgentMail suspends an account when it cannot confirm who owns it at sign-up, when too many accounts were created from the same email domain, or when its mail bounces or draws spam complaints at a high rate. A suspended account keeps receiving and reading email but cannot send. Only AgentMail support can lift a suspension: email support@agentmail.cc.

At a glance

suspended_reasonWhat the API saysWhat to send support
unauthorized.signupUnverified account ownership at signupThe email address and domain you signed up with, and what your agent is for
signup.domain_limitToo many recent sign-ups from your email domainThe email address you signed up with, your company, and whether a teammate already has an AgentMail organization
message.bouncedA high email bounce rateWhere your agent gets recipient addresses, and what you changed to stop the bounces
message.complainedA high spam complaint rateWho your agent emails, why they expect it, and how you handle opt-outs

Symptoms

  • Sends fail with a 403 whose code is account_suspended. The body includes suspended_reason. On a send, the message starts with “Message rejected: Your account has been suspended due to” followed by the phrase in the table above. Other blocked requests, such as creating an inbox, return the message “Account suspended”.
  • The Console shows a suspension banner. For bounce and complaint suspensions, AgentMail also emails the members of your organization, and you may have received a warning email before it.
Still worksBlocked
Receiving mail in your existing inboxesSend, reply, reply-all, forward, and sending drafts, including over SMTP
Webhook and WebSocket events for inbound mailScheduled sends: when one comes due, its draft’s send_status becomes failed and it is not retried
Reading inboxes, threads, messages, and drafts in the API and ConsoleCreating inboxes
GET /v0/organizationsCalendar invitation emails

AgentMail can also suspend a single inbox or pod instead of the whole account. Then only sends from that inbox or pod fail, with the code inbox_suspended or pod_suspended, and the rest of your account keeps sending.

Why

unauthorized.signup and signup.domain_limit are applied at sign-up: when an account is created in the Console, or when a human claims an agent’s inbox. signup.domain_limit usually means several people at one company signed up separately.

message.bounced and message.complained come from your sending. AgentMail weighs bounce and complaint signals across your organization’s mail and does not publish exact thresholds. Common causes are addresses a model guessed or scraped, old contact lists, and mail recipients did not ask for. AgentMail does not support cold outreach.

How to check

GET /v0/organizations returns suspended_at and suspended_reason while the account is suspended. It needs an organization-scoped API key. Read the fields as shown below: the API returns them even when your SDK version’s Organization type does not list them. For bounce and complaint suspensions, the rates endpoint shows your organization-wide bounce and complaint rates over time.

import os
from agentmail import AgentMail
client = AgentMail(api_key=os.environ["AGENTMAIL_API_KEY"])
# suspended_at and suspended_reason are only present while the account is suspended
org = client.organizations.get()
print(org.organization_id, getattr(org, "suspended_reason", None), getattr(org, "suspended_at", None))
# organization-wide bounce and complaint rates, latest point last
rates = client.metrics.query_rates()
for rate_type, points in rates.items():
if points:
print(rate_type, points[-1].rate, points[-1].sent)

What to do

Retrying, creating new API keys, or pausing and resuming inboxes does not lift a suspension. Before you contact support about a bounce or complaint suspension, fix the cause:

  • Validate addresses before sending, and never let the model guess or construct an address.
  • Handle the message.bounced and message.complained events, and stop emailing addresses that bounce or complain.
  • Honor opt-out replies: when someone asks your agent to stop, add them to your send block list.
  • Email only people who expect to hear from your agent.

For signup.domain_limit, if a teammate already has an AgentMail organization, you can ask them to invite you to it instead.

Scheduled drafts that come due while you are suspended fail, so resend or reschedule them once sending is back. After support lifts a suspension, your API key can keep returning account_suspended for up to 5 minutes.

Get help

Email support@agentmail.cc. The support link in the Console banner fills in your organization ID for you. Include:

  • Your organization ID, plus the inbox ID or pod ID if the error was inbox_suspended or pod_suspended
  • suspended_reason and suspended_at, or the full error response and the time of the failed request
  • The details for your reason from the table above

If sends fail without account_suspended, inbox_suspended, or pod_suspended in the response, check status.agentmail.to.