Delete your account — into the Bin
const url = 'https://beta-api.plune.ai/v1/me/deletion';const options = { method: 'POST', headers: { cookie: 'plune_session=<plune_session>', 'Content-Type': 'application/json' },};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://beta-api.plune.ai/v1/me/deletion \ --header 'Content-Type: application/json' \ --cookie plune_session=<plune_session> \Account → Profile → Delete my account (#952, ADR 0069, api.ts → deleteMyAccount). The body is the address you sign in with, typed to confirm; it is compared as a sign-in compares it, trimmed and whatever the case. In one step: the account goes to the Bin, and with it every company nobody but you is in, with its projects, and every project you are alone in, personal or a company’s (each feed records it), all under one stamp; open handovers of ownership to or from you are cancelled; every session ends (this browser’s cookie is cleared too) and every API token of the account stops working. Membership and history in projects of companies and of other people stay as they are — member lists mark the person deleted, and the account holds no seat — until the purge. The account waits in the Bin binUntil (30 days) — support can restore it until then — and a sign-in link asked for its address meanwhile brings a letter saying so instead of a link. Then the nightly purge makes it nobody: its places, tokens and invitations go, its address becomes deleted-<id>@deleted.invalid (the real one is free for a new account), its name, language and theme go; what it did stays, and the dashboard names the author «deleted account» wherever the project’s records name the account (the list in GET /v1/members, #2053) and as an inviter on the company’s people page, as do the rollback preview (byDeleted) and the run export. Refused before anything changes for the owner of the application and for the owner of a place where other people work, who hands ownership over first (see GET /v1/me/deletion). Session-only: a leaked token must not be able to delete you.
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ”object
Examples
The address you sign in with
{}Responses
Section titled “ Responses ”The account is in the Bin; the session cookie is cleared
object
Example
{ "deletedAt": "2026-10-25T18:00:00.000Z", "binUntil": "2026-11-24T18:00:00.000Z"}Not JSON, no email, or an address that is not the one you sign in with (email_mismatch) — nothing was deleted
object
Example
{ "error": "the address is not the one you sign in with - nothing was deleted", "code": "email_mismatch"}No / invalid session
Session valid but the user no longer exists, or is already in the Bin
object
Example generated
{ "error": "example"}Refused, nothing was deleted: the refusal of GET /v1/me/deletion, beside a sentence
Why the account may not be deleted here (#952): application_owner — it owns the application; last_owner — it is the owner of the projects and companies listed, where other people work, and hands ownership over in each first (ADR 0050 §4; the code keeps the name it has had since #952). A 409 carries error, a sentence, beside it.
object
last_owner only.
A project or a company the person is the last owner of while other people work in it (#952).
object
Everybody in it, the person included — live accounts only (one in the Bin is nobody); a company counts its members and the people of its live projects, once each.
last_owner only.
A project or a company the person is the last owner of while other people work in it (#952).
object
Everybody in it, the person included — live accounts only (one in the Bin is nobody); a company counts its members and the people of its live projects, once each.
Example
{ "error": "this account owns the application and cannot be deleted - nothing was deleted", "code": "application_owner"}A body that is not application/json — a plain form of another page cannot send this with the cookie; nothing was deleted
object
Example generated
{ "error": "example"}Rate-limited: the per-route throttle, or the per-minute request limit of the plan an API token counts by (#1442; the body names the plan, #2092). Retry-After carries the seconds until the window rolls over.
object
Example generated
{ "error": "example"}Headers
Section titled “Headers ”Seconds until the window rolls over
In each of three attempts somebody left one of your places after it was read, leaving you alone in it (#2070) — nothing was deleted; Retry-After: 1, ask again
object
Example generated
{ "error": "example"}