Start here. This is the direct spoken answer to practice first.
Why this question matters
Deletion design is harder than calling delete on one row. Real systems have related data, files, audit records, backups, legal holds, and product expectations.
I would start by classifying data: account profile, tenant data, files, billing records, audit records, derived data, and backups. Some data can be soft-deleted first, some needs retention for legal or business reasons, and some can be anonymized or hard-deleted. The API would create a deletion request, show status, and run cleanup asynchronously so large cascades do not block the request.