Profiles

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.

delete/api/v1/me/profiles/{profileId}

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

profileIdstring required

Profile ID

Example:507f1f77bcf86cd799439011

Request body

archive_default_linkedboolean

Also archive the approval setups, and cancel the pending requests, that were linked to this project only because it was the primary when they were created (the dialog's checkbox).

Response

Project deleted — what went, and which project is primary now

successtrue required
messagestring required
was_primaryboolean required
api_keys_revokedinteger required
hitl_archivedinteger required
hitl_detachedinteger required
confirmations_deniedinteger required
authorizations_revokedinteger required
requests_cancelledinteger required
requests_detachedinteger required
verifications_detachedinteger required
domains_detachedinteger required
circles_detachedinteger required
templates_deletedinteger required
username_retiredboolean required

The username is retired for good — it can never be claimed again, by anyone.

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.