curl -X POST \
https://win.oneshotagent.com/v1/tools/email/domains/oneshotagents.com/resume \
-H "X-Agent-ID: 0x..." \
-H "x-agent-proof: <base64 signed proof, scope write>"
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-Agent-ID: 0x..." \
-H "x-agent-proof: <base64 signed proof, scope write>"
await sdk.email.resumeDomain('oneshotagents.com');
client.resume_domain("oneshotagents.com")
{ "domain": "oneshotagents.com", "pool_status": "active", "warmup_state": "warmed", "pause_reason": null }
Returns a paused domain to rotation. Only
Returns
paused domains qualify. A domain that is still warming up joins rotation automatically when warmup finishes, so leave it alone.
Authentication
Requires anX-Agent-ID header with your wallet address and a signed
x-agent-proof (scope write), or an access token. The SDKs sign it for you.
An unsigned request is answered 401 proof_required. Free; no x402 payment.
Path Parameters
string
required
Bare domain to resume. Must be a domain you own with
pool_status: paused.Behavior
Setspool_status back to active and clears pause_reason. Only paused
domains can be resumed.
pool_status | Result |
|---|---|
paused | → active |
active | 404: already active |
removed | 404: not in the pool |
404 domain_not_found whenever the transition isn’t allowed.
Don’t resume a domain that is still warming up (pause_reason: warming).
Skipping warmup lands mail in spam. Left paused, the domain joins rotation
automatically once its warmup score reaches 75. The score is refreshed daily.
Response
string
The resumed domain.
string
active.string
Reputation health (
warming | warmed | degraded). A manual resume
returns the domain to rotation regardless of health. If it is still
degraded (score below 60), the next daily check pauses it again as
low_reputation. Let a low_reputation pause recover on its own rather
than 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-Agent-ID: 0x..." \
-H "x-agent-proof: <base64 signed proof, scope write>"
await sdk.email.resumeDomain('oneshotagents.com');
client.resume_domain("oneshotagents.com")
{ "domain": "oneshotagents.com", "pool_status": "active", "warmup_state": "warmed", "pause_reason": null }