Flexible, policy-based runtime governance for your APIs. Offer the same API through multiple plans, allowing different levels of service to different API consumers.
Use the rich management layer (REST API and separate UI) to manage/configure not only APIs but also the applications that consume them.
Embed the API Management Policy Engine in any application - it has a small footprint and can be completely independent from the management layer.
The runtime engine's API is fully asynchronous and is designed to run equally well in both a standard Java EE environment and newer async runtimes like Vert.x.
Limit the number of requests consumers of your APIs can make within a given time period (per service contract or per end-user).
Add authentication and IP filtering capabilities in a central location, freeing your back-end services to focus on functionality.
Easily get metrics for all your APIs so you can see what's popular or charge your consumers for their usage.