curl -X POST \
https://win.oneshotagent.com/v1/tools/email/domains/oneshotagents.com/resume \
-H "X-Payment-Proof: <your_x402_signature>"
await sdk.email.resumeDomain('oneshotagents.com');
client.resume_domain("oneshotagents.com")
{ "domain": "oneshotagents.com", "pool_status": "active", "warmup_state": "warmed", "pause_reason": null }
Email
Resume Domain
Restore a paused domain to the rotation pool.
POST
/
v1
/
tools
/
email
/
domains
/
{domain}
/
resume
curl -X POST \
https://win.oneshotagent.com/v1/tools/email/domains/oneshotagents.com/resume \
-H "X-Payment-Proof: <your_x402_signature>"
await sdk.email.resumeDomain('oneshotagents.com');
client.resume_domain("oneshotagents.com")
{ "domain": "oneshotagents.com", "pool_status": "active", "warmup_state": "warmed", "pause_reason": null }
Authentication
Requires x402-verified wallet identity (X-Payment-Proof header). Same
auth surface as /email/quote.
Path Parameters
string
required
The bare domain to resume. Must be owned by the caller and currently
pool_status='paused'.Behavior
Restorespool_status to active. Only paused domains can be resumed
— this is a deliberate gate to prevent warmup bypass.
| From | Result |
|---|---|
paused | → active |
warming | 404 — the warmup gate must graduate the domain (daily reconciler), not the caller |
active | 404 — already active |
removed | 404 — not in the pool |
404 domain_not_found whenever the transition isn’t allowed.
Response
string
The resumed domain.
string
active.string
Reputation health (
warming | warmed | degraded). Note: a manual
resume forces the domain back into rotation regardless of health — if it’s
still degraded (score < MIN_ROTATION_SCORE), the next reconcile will
re-pause it as low_reputation. Prefer letting a low_reputation pause
auto-recover instead of forcing a resume.string | null
null after a successful resume.curl -X POST \
https://win.oneshotagent.com/v1/tools/email/domains/oneshotagents.com/resume \
-H "X-Payment-Proof: <your_x402_signature>"
await sdk.email.resumeDomain('oneshotagents.com');
client.resume_domain("oneshotagents.com")
{ "domain": "oneshotagents.com", "pool_status": "active", "warmup_state": "warmed", "pause_reason": null }
Why is warming → active blocked?
The whole point of warmup is that a freshly-provisioned mailbox
sends low volume into a network of cooperating mailboxes that mark it as
important and rescue it from spam. ESPs (Gmail, Outlook) build domain
reputation from those signals. If the caller could pause a warming
domain and resume it straight to active, that warmup machinery is
defeated and the domain joins rotation with no reputation history —
landing every send in spam.
Warming → active happens only via the daily lifecycle reconciler,
which gates on warmup_score >= WARMUP_ACTIVE_THRESHOLD (default 75).