Ask HN: Do you use automated tools to create APIs, or do you code them manually?
APIs are interfaces (it’s right in the name!) and should never be directly tied to implementation because:<p>1. the interfaces must remain stable to the outside world that relies on them<p>2. They select what underlying resources and functionality is accessible by outside users, and what is hidden. A lot of your internal implementation is either a mess, “temporary”, insecure or intentionally internal.<p>3. They control access to the internal application through authentication, authorization, security, and translating data in both directions.<p>4. When the internal representation changes, they map the new implementation to the old interface to ensure the system remains reliable to API consumers.<p>5. They offer migration paths when change is necessary<p>That being said...<p>Auto API generators are really useful for internal systems where you control the underlying system, the API, and all systems relying on the API.<p>They are also useful to build an initial API that you plan to fork.