I read this and it made me sad. Exposing CRUD API makes me sad. CRUD is for databases, within transactions, not services. Services should have query (GET) and submit (POST) only. Oh, and calling a service an API makes me sad. Calling a URL or its path an “endpoint” makes me sad. An endpoint is a computer which processes a message, it’s not a URL path. The idea of “routing” makes me sad. Using plurals in URLs makes me sad. Exposing hierarchies unnecessarily in URLs makes me sad. Business process which doesn’t cater for optimistic concurrency controls makes me sad.