A coat of arms is traditionally composed of tinctures, which are divided into metals, colours, stains, and furs. The most basic rule of heraldry is that tinctures of the same type can’t touch each other.
Heraldic terms, at least in English, are derived from archaic French.
The Metals are light: Or (gold or yellow) and Argent (silver or white).
The Colours are darker: Azure (blue), Gules (red), Purpure (purple), Sable (black), and Vert (green).
The Stains are Sanguine (dark red), and Tenné (tan). These are traditionally rare due to a popular belief that they indicated dishonour on the bearer.
Finally, there are the Furs, which are predefined patterns. There is Ermine and its variants, representing the fur of the stoat. There’s also Vair, which appears to represent tesellating bells. It also has a number of variants.
In modern times there’s been some discussion of the inclusion of other colours, like brown, pink, and light blue. With the latter there’s also been confusion over whether it should be classed as a Colour or Metal, which depends on how light it is.
Modern flags have largely discarded the Furs. The only example I can find is Britanny:
PS. whilst I was looking for counter-examples in Germany, I found this cool flag of German Togoland (modern-day Togo). One of the few flags with a snake on.