Delete project
Delete a project (a sub-account) — h-implement-proper-deletion, PRJ-1..4. The last project cannot be deleted (400 cannot_delete_last_profile). A signed-in session needs a single-use profile_delete step-up grant bound to this id (403 2fa_required; reason: target_mismatch when the grant names other ids). An API key may delete only an EMPTY project — no live keys, no approval setups, no pending requests — and otherwise answers 403 owner_session_required. What goes: the project's API keys are revoked and their login sessions ended; approval setups PROVABLY the project's own (created with the project named, or by one of its keys) are archived, their pending confirmations declined and their consents revoked; pending requests provably its own are cancelled; its message templates are deleted; its username is RETIRED FOR GOOD. What stays: everything linked to the project only because it was the primary at the time is DETACHED (link removed; branding falls back to the current primary) unless archive_default_linked is sent; finished requests, verifications, domains and circles stay as history with the link removed. Deleting the primary is allowed: the oldest remaining project becomes primary and the response names it. Cannot be undone. GET /me/profiles/{profileId}/deletion-preview shows the same counts beforehand.
Request
- Base URL: https://api.proof.holdings
- URL: https://api.proof.holdings/api/v1/me/profiles/{profileId}
- Auth: one of:
- API key in cookie auth_token
- HTTP bearer
Path parameters
Profile ID
Request body
Response
Project deleted — what went, and which project is primary now
Example response
{
"message": "Project deleted",
"new_primary": {
"id": "507f1f77bcf86cd799439011",
"name": "team.management"
}
}Changes
No recorded changes to this operation across all 1 revision of this API.