compliance:read; the deletion itself uses
compliance:write.
Start an erasure
POST /v1/erasure-jobs takes a small body. Set type to subject with a
subjectHandle to erase a person across all your stored mail, or type to
inbox with an inboxId to wipe an inbox. The job is accepted right away and
comes back pending.
Pass an
Idempotency-Key. Retrying with the same key returns the same job instead
of enqueuing a second erasure — so a network retry can never double-delete or spawn
a duplicate. See idempotency.Poll to completion
GET /v1/erasure-jobs/{jobId} returns the full job. Poll until status is terminal
(completed or failed). Once it’s completed, the job carries exact deletion
tallies and the signed certificate.
deleted tallies count exactly what was removed — messages, threads,
attachments, stored files, and any redacted event-ledger rows. The certificate is a
signed artifact: verify its signature against the published
JWKS and you can prove to an auditor that the deletion
happened, when, and at what scope. Keep it with your compliance records.
List your jobs
GET /v1/erasure-jobs returns your jobs, newest first.
Next steps
Data residency
Where your data lives and who controls it.
Tamper-evident audit export
A verifiable export of the audit trail.
API reference
GET / POST /v1/erasure-jobs and GET /v1/erasure-jobs/{jobId}.