Name the boundary
A useful API reflects a clear domain boundary. Good names and consistent shapes make the system easier to navigate.
Design for change
Version intentionally, document behavior, and make failures predictable. Consumers should know what can change and what cannot.
Make the safe path obvious
Authentication, validation, rate limits, and observability are part of the interface, not afterthoughts.