If the APIs are meant for public consumption, requiring feature parity makes a lot of sense. But when it’s for internal use by your own developers, waiting means you are making a bunch of new API endpoints no one will ever use. People will write more and more code using the older endpoints and those endpoints will start getting changes that your new ones will need ported over.
I think if you are going to force people to use new endpoints, you’ll need them to either write the endpoints themselves or have a team member who can write it for them and account for this while planning. If getting a new endpoint requires putting in a JIRA ticket with a separate backend team, 4 planning meetings, and a month wait, people are just going to stick with what currently exists.
It’s a common thing in programming. There’s some legacy code that isn’t being used and yet removing it causes things to break. Nobody has the time to figure out what is still referencing that code, so it just gets a comment next to it saying “Not used, but removing it breaks the build” and then forgotten about.