Developers are always looking for the perfect light and holistic API design, one that will be durable enough to stand the test of time. Consistently, versioning is often first on their minds, but API UX recommends holding out as long as you can.
To implement successful versioning, one needs to consider consistency, proper documentation, hypermedia linkage, deprecating v1s, communicating to the developer community, new bug-fixing, and more. To avoid the complexity of versioning, deploying parallel APIs on different URIs in v1 can make for more seamless versioning.
In general, more time allows for more perspective on how your API is being used. Resources for REST development should complement what is found to be the community's needs. This means avoiding RPC-style design and embracing CRUD principles whenever possible. CRUD is superior as it allows for history query and sub-resources. Lastly, API resources shouldn’t be too granular with dissemination, but they shouldn’t be to bulky in assemblage. Find a balanced dissemination strategy that will match system performance and keep a smooth API running.