---
title: "Delete"
method: DELETE
path: "/accounts/{id}"
tags: ["accounts"]
---

# Delete

`DELETE /accounts/{id}`

## Request

- Base URL: `https://api.instruxi.dev/api/v1/enforcer`
- URL: `https://api.instruxi.dev/api/v1/enforcer/accounts/{id}`
- Auth: one of:
  - API key in header `Authorization`
  - API key in header `X-API-Key`

IRREVERSIBLE full purge (ResourceAuth manage — admin or tenant_admin only). In ONE transaction it hard-deletes the account and everything keyed to it — sessions, API keys, identity links, wallets, contacts held by and pointing at it, verification sessions, terms acceptances, tickets it raised and messages it wrote, invites, sign-in telemetry, PIN — and, when no other live membership uses the person, the person row with its devices and verifications. Money records (fulfillments, settlements) and the audit log are kept; they reference ids only. Then best-effort removes the upstream Privy user. An account still referenced by agent history is kept as a PII-free tombstone instead of deleted. 409 has_agent when the account is the service account of a live agent. See docs/data-retention.md. For a reversible block use PUT /accounts/{id}/active with active=false instead.

## Path parameters

- `id` string, required

## Response `200`

OK

- InternalDeliveryHttpHandlerOKResponse
  - `success` boolean

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `409`: Conflict

---

[API](https://skmtc.dev/instruxi/apis/enforcer-api.md) · [All operations](https://skmtc.dev/instruxi/apis/enforcer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/instruxi/apis/enforcer-api/revisions/fa82bc1becc0?raw)
