I strongly second the recommendation to version customer-facing APIs. You should never be releasing backwards-incompatible changes without giving customers the option to upgrade on their own timelines (within reason - its unreasonable to expect you to support an older API for a decade; 3 months is an absolute minimum, though, and I'd recommend more like 18-36 months for enterprise customers; and there can be exceptions for changes that address severe security or data loss defects.)
And yes, at the very least, email communication is appreciated. Even if you're versioning - if you have a customer using an outdated API, you should be warning them that it's deprecated and then again a couple times leading up to EOL.