Circle V2 API Docs
    Preparing search index...
    softDelete: MutationProcedure<
        {
            input: { reason: string; ruleId: string };
            meta: object;
            output: SoftDeleteRuleOutput;
        },
    > = ...

    The rule leaves the book and keeps everything it ever said, which is why the reason is required: a deleted rule's past answers still render, and this is the only record of why it stopped. deleted_reason is free text about a patient-facing rule, so nothing returns or logs it.