Defining Event-Driven Architectures - AsyncAPI
In this article, I am going to be talking about how we can d...
How We Design Our APIs at Slack - Slack Engineering
More than five years ago, we launched the Slack Platform, gi...
Using JSON Schema Beyond Validation
What is JSON Schema, why is it important and why is it so ha...
An introduction to spec-driven API development
Historically, API design has been mainly implementation-driv...
Rate Limiting GraphQL APIs by Calculating Query Complexity
GraphQL opens new possibilities for rate limiting. I’ll show...
Portman CLI 1.0 - Better API testing
Portman leverages the full power of OpenAPI specs and Postma...
Moving From High to Low Schema Entropy
Entropy is concerned with the amount of thermal energy that ...
Why Show Users Garbage API Errors
What happens in your client application when an API error po...
This is not the HTTP method you're looking for
When designing APIs, choosing HTTP status codes is not alway...
Seeing API Endpoint Performance in Akita
In this blog post, Mark Gritter talks about why API performa...
WebSocket, Shrek, and AsyncAPI - An Opinionated Intro
This post is for the AsyncAPI community looking into the Asy...
The Business Value of API-First Design
In the mid-2010s, the acronym “API” graduated from a piece o...
Abstracting pagination across third-party APIs
Fragmented pagination styles are a challenge lots of develop...
Stripe’s payments APIs: the first ten years
Abstracting away the complexity of payments has driven the e...
Building SDKs for the future
The move to OAuth 2.0 opened up an opportunity to define a n...