What causes food to give you food poisoning?

Food poisoning. can be caused by bacteria (E.coli, Listeria monocytogenes, Shigella, Staphylococcus Aureus, C. botulinum, Clostridium perfingens, V. cholerae, C. jenui.), viruses ((Norovirus, Rotovirus and Hepatitis A)& toxins in food Ciguatera in tropical fish that have eaten toxic plankton, Shellfish fed on toxic algae, Scromboid in poorly refrigerated dark meat fish,Puffer fish. Some mushrooms such as Amanita.