Delete Account
Request permanent account deletion (GDPR Art. 17).
Re-authentication is required: accounts with a password send
password; OAuth-only accounts confirm by typing their exact
account email as confirm_email. On success the account enters a
grace period (7 days by default) and purge_after marks its end —
after that instant a background sweep permanently erases the account,
its links, and their analytics.
During the grace period every login is blocked with error code
ACCOUNT_PENDING_DELETION; POST /auth/restore cancels the
deletion and reactivates the account — with email + password, or with
the one-shot link mailed on this request (the OAuth-only path).
Authentication: Required (JWT only — API keys and app tokens cannot delete the account)
Rate Limits: 3/hour
Errors: 403 when re-authentication fails (never says which field was wrong), 409 when deletion is already pending.
Authorizations
API key authentication. Pass your key as: Bearer spoo_<your_key>
Body
Request body for DELETE /api/v1/me.
Exactly one re-auth proof applies per account: password for
accounts with a password set, confirm_email (the exact account
email, typed) for OAuth-only accounts. The wrong proof — or a missing
one — fails re-authentication; the response never says which.
Account password — re-auth for accounts with a password set
255"MySecurePass123!"
The exact account email, typed to confirm — re-auth for OAuth-only accounts (no password set)
320"user@example.com"
Response
Successful Response
Deletion accepted — the account is now pending erasure.
When the grace period ends and the erasure sweep may pick the account up. Restoring before this instant cancels the deletion.
"2026-08-26T00:00:00+00:00"

