Add on_failure handler (API)