Erasures
More ways to use this page
Erase a person
POST/v1/
TypeScript account
Python account
Key ak_… an account key
Erases one person's data from every server of the account, as a request under the right to erasure asks. The content of every message to or from the address, sent and received, is deleted, and the address becomes a pseudonym in the message log. The answer is the pending erasure; Sendora carries it out within a minute, and reading it by its id shows the outcome. Erasing an address again changes nothing more. It blocks nothing: later mail to or from the address is sent and received as before.
Request body
addressstring (email)requiredThe person's e-mail address.
{
"address": "anna@example.com"
}Responses
202A request to erase one person's data from the account.
erasureIdstring (uuid)requiredstatus"pending" | "done"requiredpending until Sendora has erased the person, done after.
createdAtstring (date-time)requiredcompletedAtstring (date-time) or nullrequiredWhen the erasure was done; null while pending.
pseudonymstring or nullrequiredWhat now stands where the address was written in the message log; null while pending.
messagesinteger or nullrequiredSent messages to the address whose content was deleted; null while pending.
receivedMessagesinteger or nullrequiredReceived messages from, naming or to the address whose content was deleted; null while pending.
Example
{
"erasureId": "6f1d2c3b-4a5e-4f60-8b7a-9c8d7e6f5a41",
"status": "pending",
"createdAt": "2026-10-04T12:00:00.000Z",
"completedAt": null,
"pseudonym": null,
"messages": null,
"receivedMessages": null
}Errors
Every error answers error, the code, and message, a sentence for a person. A code that adds fields is shown in full below the table.
| Code | Status | Meaning |
|---|---|---|
invalid_ | 400 | The body, the query or a header does not match what the route takes. |
unauthorized | 401 | The key is missing, malformed or revoked. |
wrong_ | 403 | The key is of the other kind: a server key (sk_) where an account key (ak_) is needed, or the reverse. The message names the kind the operation takes. |
invalid_request
issuesarray of objectOne entry per invalid field; absent when a header is wrong.
pathstringrequiredThe field, dotted, such as to.0.email; empty when the whole body is wrong.
messagestringrequired
Example
{
"error": "invalid_request",
"message": "The request is invalid: to.0: Invalid email address",
"issues": [
{
"path": "to.0",
"message": "Invalid email address"
}
]
}