Skip to main content
POST
/
v1
/
tools
/
email
/
domains
/
{domain}
/
pause
curl -X POST \
  https://win.oneshotagent.com/v1/tools/email/domains/oneshotagents.com/pause \
  -H "X-Payment-Proof: <your_x402_signature>"
{ "domain": "oneshotagents.com", "pool_status": "paused" }

Authentication

Requires x402-verified wallet identity (X-Payment-Proof header). Same auth surface as /email/quote.

Path Parameters

domain
string
required
The bare domain to pause — e.g. oneshotagents.com. Must be owned by the caller (domains.agent_id = wallet).

Behavior

Sets pool_status to paused on the matching row. The rotation selector skips paused domains entirely. Allowed transitions:
FromResult
activepaused
warmingpaused (legitimate “take it out of consideration” before warmup graduates it)
pausedno-op
removednot found
Returns 404 domain_not_found if the domain isn’t owned by the caller or is removed.

Response

domain
string
The paused domain.
pool_status
string
paused.
curl -X POST \
  https://win.oneshotagent.com/v1/tools/email/domains/oneshotagents.com/pause \
  -H "X-Payment-Proof: <your_x402_signature>"
{ "domain": "oneshotagents.com", "pool_status": "paused" }

Notes

  • Pausing does NOT release the domain or stop renewals. It just gates the rotation selector from picking it. Reverse with /domains/:domain/resume.
  • Explicit sends (passing from_address) bypass the pool, so a paused domain can still be used directly — pause only affects server-side rotation.
  • Pausing a warming row is fine, but resume won’t bring a formerly-warming row back to active — only the daily reconciler can graduate it (score ≥ threshold).