Skip to main content
GET
Get Sending Status
Check whether a workspace can send email right now. Returns the pause reason, the sender-health rates measured against the thresholds that apply at your volume, the automated review state, whether you can restore sending yourself, and ordered remediation steps. Call this whenever a send, sequence step, or test send fails for a reason that is not a validation error. A company-level pause blocks every send, including test sends. Requires the account:read scope, so a read-only key can diagnose a blocked account.
Sender-health enforcement uses all-time totals counted from a reset watermark, not a rolling window. metricsWindow.expiresAt is always null - a paused rate does not decay and waiting will not restore sending. See Sender Health.

Request

Response fields

string
active, paused, or suspended. Anything other than active blocks every send for this workspace.
string
The enforcement message, including the measured rate, the threshold it crossed, and the send volume it was measured over. null when sending is active.
string
One of high_hard_bounce_rate, high_soft_bounce_rate, high_complaint_rate, phishing_guard, manual, or other. Only high_hard_bounce_rate can be cleared with the resume endpoint.
string
ISO timestamp of the pause. null when sending is active.
boolean
Whether resume will succeed right now.
string
When canSelfResume is false, the gate that is blocking it: waiting_for_review, blocked_by_ai, review_failed, blocked_by_admin, or unsupported_reason. null when resume is available.
string
State of the automated sender-health review: not_required, pending, approved, flagged, or failed.
object
Enforcement counts and thresholds for hardBounce, softBounce, and complaint, plus their non-test send denominators: bounceScopedSent for bounce rates and complaintScopedSent for complaint rates. scopedSent is a backward-compatible alias for bounceScopedSent. Also includes enforcementMode. null when the workspace has no metrics record yet or sender-health analytics are temporarily unavailable; pause state and remediation remain authoritative during an analytics outage.
object
kind is always all_time_since_reset and expiresAt is always null. bounceResetAt and complaintResetAt are the watermarks the totals are counted from.
object
steps for the current state, in order, plus supportEmail, docsUrl, and dashboardUrl.

Responses