Adopted an API first approach
Make core APIs available for 3rd parties
Which Brings Challenges
Maintain Consistency Across APIs
HTTP Methods
Resource Definitions
Consistent Media Types
Pagination, Filtering, and Sorting
Enforcing API Goverance
Custom REST API Framework
Standard Media Types
Controls Types Returned By Methods
HTTP Status Codes
Verification of Resources
REST Maturity Level
Introduced HAL-like format
Transitioned To More Expressive HTTP Status Codes
Upcoming Features
Swagger - For Definition, CodeGen, and Documentation
Richer Link Relations and Embedded Resources