include.image_alt

API Designer Experience, the other DX

By Arnaud Lauret, July 7, 2021

Nobody expects the API inquisition! Literally. When creating public or private APIs, an organization must work hard on creating the best possible developer experience or DX. That requires to ensure that API designers “do their job well”: creating APIs that fulfill actual needs and are easy to understand and use. This is the aim of governance which may help creating the best APIs or may slowly killing the organization, depending on the designer experience, the other DX, it provides.

include.image_alt

Human Centered API Governance

By Arnaud Lauret, June 30, 2021
For many, governance is a scary word, but it’s up to us, API practitioners to make that change and make people love it. That could be done if we build a human centered and pragmatic API governance focusing more on helping and training people than controlling and coercing them
include.image_alt

Automate all the things (like Cloudflare cache purge) with Github actions, Postman and APIs

By Arnaud Lauret, June 30, 2021

What if I tell you can run Postman collection inside Github Actions and so easily automate all the things as long as they provide APIs? Sounds interesting right? So let me show you how I migrated my Jekyll blog publication workflow to Github Actions and how I used Postman collection to clear my Cloudflare cache. Bonus: You may also learn a few things about DX and API design.

include.image_alt
API Design Reviews Series - Part 1

3 good reasons to do API Design Reviews

By Arnaud Lauret, June 23, 2021

More often than not when people hear “let’s do an API design review”, they hear “let’s check that an API design conforms to API design guidelines”. That’s only partially true and reducing API design reviews to that is a terrible mistake. Actually, doing API design reviews only to do that may even not make any sense at all. Let’s see 3 really good reasons to do API design reviews.

include.image_alt

Handling breaking ch-ch-changes

By Arnaud Lauret, June 16, 2021

In (Ch-ch-) Changes, David Bowie sang “Every time I thought I’d got it made, it seemed the taste was not so sweet”, that’s a good metaphor for API design. An API will irremediably evolve because it will lack some features or because of mistakes, and so sooner or later, you may have to introduce a “breaking change”. That’s usually when people start to run in circle, scream and shout “Oh! Please no! Please, not a breaking ch-ch-change”. But, what is it actually? How to handle it? And should you always be afraid of it?

include.image_alt

Pink Fluffy Unicorn API? WTF? (or 3 reasons why choosing a not meaningful API name can be a problem)

By Arnaud Lauret, June 9, 2021

It is usually considered a terrible practice to name a property or a function with a meaningless name when writing code. But surprisingly, when it comes to choosing application or API name, some people tend to choose names in a more artistic way (says the “API Handyman” who can name some tool “OpenAPI Chainsaw”). So let’s see 3 reasons why choosing a not meaningful API name can be a problem.

include.image_alt
Choosing HTTP status codes Series - Part 4

Empty list, HTTP status code 200 vs 204 vs 404

By Arnaud Lauret, June 2, 2021

When designing APIs, choosing HTTP status codes is not always that obvious and prone to errors, I hope this post series will help you to avoid common mistakes and choose an adapted one according to the context. This fourth post answers the following question: given that /users is a collection (a list) and no users are named Spock, what should return GET /users?name=spock? 200 OK, 204 No Content or 404 Not Found

include.image_alt

Generating OpenAPI Descriptions. When is it a good idea?

By Erik Wilde & Arnaud Lauret, June 1, 2021

As a follow up of my “6 reasons why generating OpenAPI sucks” post, I had the pleasure to talk about “is it a good idea to generate OpenAPI descriptions?” with Erik Wilde. In this discussion, we answer this questions at various stages of the API lifecycle: design time, code time, and runtime.

include.image_alt

/resources rules and /resource sucks ... or is it the other way around?

By Arnaud Lauret, May 26, 2021

Using singular or plural to represent a list of something is an old debate in computer science, especially in the database field. But what about APIs then? It’s still the same, if you look at various APIs, you’ll see that something like “list/search resources” could be either represented by a GET /resources or a GET /resource. Who is right? Who is wrong? I have a preference, you may have another, but should we really give importance to such a debate? Aren’t we missing something? Let’s investigate that topic and discover what’s really important when choosing collection resource path.

include.image_alt
Choosing HTTP status codes Series - Part 3

Move along, no resource to see here (truly), HTTP status code 204 vs 403 vs 404 vs 410

By Arnaud Lauret, May 19, 2021

When designing APIs, choosing HTTP status codes is not always that obvious and prone to errors, I hope this post series will help you to avoid common mistakes and choose an adapted one according to the context. This third post answers the following question: given that resource with id 123 actually doesn’t exist in the underlying database, what should be the response to GET /resources/123 when consumer is allowed to access such ressource? 204 No Content, 403 Forbidden, 404 Not Found or 410 Gone?

By continuing to use this web site you agree with the API Handyman website privacy policy (effective date , June 28, 2020).