I agree on CLI and JMX because those interfaces can be used by a system administrator and can be invoked by mistake.
As for the Java API, personally, I find it strange to add 'force' or 'confirm' flags to it because it is very unlikely that such an invocation is done by mistake. Such mistakes are caught during the testing phase and developers will end up hard-coding 'true' as a flag anyways.