202Successful Response
Schema: app__core__success__MessageResponse
successbooleanmessagestringcodestring
/api/v1/businesses/{business_id}Schedule the deletion of a business after the grace period.
Safety: requires a JSON body with confirm_name matching the
business's name (case-insensitive, trimmed) and a recent Clerk
re-verification of the caller (step-up).
Effect: nothing is deleted now. The business is scheduled for
permanent deletion BUSINESS_DELETION_GRACE_DAYS (default 30) days
from now, as the privacy page promises, and the owners are emailed.
Until then the business stays readable, owners and admins can export
everything (POST /businesses/{business_id}/data-exports) or cancel
(POST /businesses/{business_id}/deletion/cancel), and background
syncs and scheduled jobs stop. Asking again keeps the original date.
After the grace period the nightly sweep runs the hard delete: third-party grants are revoked (Plaid, QuickBooks, Xero, Shopify, Square, Finch...), every business row, S3 object version and AI memory is deleted. That part is irreversible.
Returns: 202 with deletion_scheduled_for in data.
Bearer token authentication. Pass your DayZero API token in the Authorization header and the target business UUID in x-business-id.
business_idstringrequiredSchema: BusinessDeleteRequest
confirm_passwordstring · passwordDeprecated and ignored. Retained so clients sending the old body keep working during rollout. Step-up is now proven by Clerk re-verification (an emailed code, or the account's own factor), which works for SSO accounts that have no password.
business_idstringconfirm_namestringrequiredExact business name as a typed confirmation. Must match the persisted business name (case-insensitive, trimmed). Required.
preserve_dz_usersbooleanSchema: app__core__success__MessageResponse
successbooleanmessagestringcodestringSchema: ErrorResponse
errorstringrequiredError category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.
messagestringrequiredHuman-readable explanation, safe to show to end users.
codestringrequiredStable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).
request_idstringCorrelation id for support requests. Echoes the x-request-id request header when one was supplied.
errorsobjectField-level validation messages keyed by field name. Present on 400/422 validation failures only.
Schema: ErrorResponse
errorstringrequiredError category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.
messagestringrequiredHuman-readable explanation, safe to show to end users.
codestringrequiredStable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).
request_idstringCorrelation id for support requests. Echoes the x-request-id request header when one was supplied.
errorsobjectField-level validation messages keyed by field name. Present on 400/422 validation failures only.
Schema: ErrorResponse
errorstringrequiredError category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.
messagestringrequiredHuman-readable explanation, safe to show to end users.
codestringrequiredStable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).
request_idstringCorrelation id for support requests. Echoes the x-request-id request header when one was supplied.
errorsobjectField-level validation messages keyed by field name. Present on 400/422 validation failures only.