Questions · Updated 2026-09-27
How do I close my account?
Close your account with DELETE /account, signed in as an owner and confirming with the email you sign in with. Every key is revoked and sending stops; the data stays exportable with GET /account/export until the retention window ends.
Close your account with DELETE /account. The summary is "Close this account: revoke every key, pause every budget, suspend sending. Data stays readable and exportable until the retention window ends." The call needs a signed-in owner and a body with confirm_email, the address you sign in with; an API key is refused. In the console it is Settings → Account, "Close this account". Export first with GET /account/export, because the close revokes every key.
Before you close
GET /account/export — "Everything this account owns, as a zip: emails.csv (inside your retention window), suppressions.csv and domains.json. No job, no wait." GET /emails/export.csv is the message log alone, with the same filters as GET /emails. Both are covered on How do I export my email data?.
The close call does not touch your subscription. Nothing in it changes billing: it revokes keys, pauses their budgets, revokes AI-client connections, sets the account status and writes an audit row. Cancel a paid plan first with POST /billing/portal, which opens the customer portal for plan changes, the card and invoices; GET /billing/plan reports the subscription state, including cancel_at_period_end. Only an owner can call either route.
If another person should keep the account, do not close it. Hand ownership over with PATCH /team/members/{id} and remove yourself, as How do I invite a teammate and set their role? describes.
What the call does
curl -sS -X DELETE https://api.agentisend.com/account \
-H "Authorization: Bearer $AGENTISEND_API_KEY" \
-H "Idempotency-Key: $(uuidgen)"200
{
"closed_at": "2026-09-04T09:14:00Z",
"data_removed_after": "string",
"keys_revoked": 1,
"retention_days": 1,
"status": "string"
}The reply is status, always suspended; closed_at; keys_revoked, the number of live keys that stopped working in this request; retention_days; and data_removed_after, which the schema describes as "After this moment the exportable data is gone, purged by retention." That moment is closed_at plus your plan's retention window: Free keeps 7 days, Starter 30, Pro 90, Scale 180. The window and what it covers are on the retention policy.
Three refusals are possible. A confirm_email that is not an address on the account returns invalid_parameter with the message that it "is not an email on this account, so nothing was closed." and the fix "Type the address you sign in with." A signed-in admin reads insufficient_role: "Only an owner can close the account or change billing." A key reads session_required, whose fix is "Sign in to the console, then retry. API keys cannot call this route."
Every key's budget row is paused with the reason "account closed", every key is revoked, and every connection an AI client held over MCP is revoked with them. GET /account afterwards shows status as suspended. The console signs you out and the sign-in screen says the account is closed.
After
Data stays readable and exportable until data_removed_after; GET /account/export still answers for that whole window when you sign in. Messages, suppressions and domains are removed by the retention job on its normal schedule, not by the close. Anything else about a closed account goes through Support.