Hard-delete a single archived donor
Permanently removes one previously-archived donor along with their trashed sponsorships and all commitments — uses forceDelete() on DonorEntity, Commitment, and the donor record itself, then evicts the row from the trashed-donor cache. The donor must already be archived (withTrashed() lookup) and must belong to the client_id supplied via the client_id request header. Same handler is mounted at /admin/donor/delete (DELETE) and the legacy /admin/delete_donor (GET). Requires permission: donors_manage and is gated by the disable_donor_delete client restriction.
Authorizations
Passport bearer token authentication for legacy admin sessions.
Headers
Owning client. Read from the client_id request header (not the body), used to scope the donor lookup.
Body
ID of the donor to permanently delete. Validation rule: required.
12345
Response
Donor permanently deleted.
"Donor Deleted Successfully"