When id query param is provided, deletes only that contact. When omitted, deletes ALL of the user's contacts and requires request body {"confirmation":"delete all"}. The cleanup runs in one transaction: contact-only rows are removed, and calls/SMS/tasks/follow-ups/appointments are retained with contactId cleared.