Is the platform POSTing empty strings for hazard_output_id  and hazard_calculation_id? I would add a comment and then LGTM.