API resources are crucial in designing an API, as they shape users’ understanding of a product. Increase’s team follows the “no abstractions” principle, inspired by Stripe’s successful approach. Increase caters to users who have deep knowledge of payment networks, so hiding network complexities would only frustrate them. They name resources using real-world network vocabulary and focus on immutability, grouping immutable resources into lifecycle objects. Increase also separates resources based on use cases, despite making the API more verbose. This approach has reduced decision-making cognitive load for the engineering team. While “no abstractions” may not suit every API, it’s essential to consider the appropriate level of abstraction for developers integrating with it.
https://increase.com/articles/no-abstractions