Inspect what would block account deletion
Pure-read blocker inspection — returns the same DeletionPreview shape that DELETE /account uses internally to gate the request. Owner-only. Never 4xx for blocker state: a clean account returns 200 with { canDelete: true, ownedAppCount: 0, blockers: [] }, the dashboard renders an empty 'Nothing blocking — ready to delete' state. Auth still applies though — missing/invalid tokens get 401, and a caller whose own account is already in delete pipeline gets 403 ACCOUNT_DELETION_IN_PROGRESS from the auth-middleware before reaching this handler.
Blocker kinds: apps_owned, apps_with_collaborators (accepted + non-expired only), apps_with_pending_invites (live invites only), apps_with_active_pr_previews, pending_outgoing_transfers (live), deploys_in_progress, active_restore_jobs. Each blocker carries kind, count, and up to 25 details entries ({ appId?, appName?, ref? }) for UI rendering. Stale-pending transfers are filtered via expires_at > now in the SELECT predicate and are NOT mutated by the preview call.
Request
- Base URL: https://api.percher.run
- URL: https://api.percher.run/account/deletion-preview
- Auth: HTTP bearer
Response
DeletionPreview JSON
Changes
No recorded changes to this operation across all 1 revision of this API.