feature flags vs versioning for APIs
The two approaches whilst somewhat overlapping solve two different problems:


Feature flags allow you to decouple the action of deployment from the action of release.  i.e. you can push a change to an API that adds functionality to support a new feature, then when your product owner wants to release it all they need to do is toggle the feature on.
API versioning enables you to make changes to your API without breaking compatibility with older clients.


In both cases, you need to ensure that old feature flags and old API versions are eventually removed from the codebase or it will become very complicated very quickly.  

The deciding factor comes down to whether or not you have control over all of your clients if you can guarantee that you can make changes to both your clients and the API in such a way that they will remain compatible, or incompatible clients can be removed from your ecosystem very quickly you probably don't need API Versioning.