Hacker News with Generative AI: API Design

Stop using REST for state synchronization (2024) (mbid.me)
Most apps need state synchronization, not state transfer. We should replace REST and friends with proper state synchronization protocols where appropriate.
Ensure public interface reliability: Tracking API compatibility for Android (revenuecat.com)
Whether you’re building open-source libraries, SDKs, or common modules for other teams, it’s important to make deliberate and careful changes to public APIs, as they directly impact development resources required for migration.
Event Destinations Initiative: A model for event producer/consumer interop (eventdestinations.org)
A model for event interoperability between event producers and their consumers to favor better developer experience, robust integration, and infrastructural efficiency.
API design note: Beware of adding an "Other" enum value (microsoft.com)
Consider the following API:
Understanding gRPC, OpenAPI and REST and when to use them in API design (2020) (cloud.google.com)
As most software developers no doubt know, there are two primary models for API design: RPC and REST. Regardless of model, most modern APIs are implemented by mapping them in one way or another to the same HTTP protocol. It has also become common for RPC API designs to adopt one or two ideas from HTTP while staying within the RPC model, which has increased the range of choices that an API designer faces.
Don't return named tuples in new APIs (snarky.ca)
In my opinion, you should only introduce a named tuple to your code when you're updating a preexisting API that was already returning a tuple or you are wrapping a tuple return value from another API.
Ziggy: Data serialization language for expressing API messages, config files (ziggy-lang.io)
Amazon APIs are the worst. No comparison. *Rant (ycombinator.com)
Working with amazon API's is single handedly the worst experience I have ever had programming. They are a textbook example of how to build the worst architecture, and their support system is designed to be almost unusable.
Design a GraphQL Schema – how to continuously evolve your schema (tailcall.run)
Malloc() and free() are a bad API (2022) (foonathan.net)
The API database architecture – Stop writing HTTP-GET endpoints (fabianzeindl.com)
TypeSpec: A new language for API-centric development (typespec.io)
No Abstractions: our API design principle (increase.com)
The Design of Everyday APIs (2022) (roguelynn.com)