loading...
Cover image for Few tips to make developers not wrestle with your APIs

Few tips to make developers not wrestle with your APIs

hem profile image Hem Updated on 2 min read

Often, APIs are the first point of contact for developers and significantly impact Developer Experience(DX). Developer-friendly APIs will improve adoption, retention and might also instill a good word-of-mouth awareness among the developer community. At the end of the day, an API has to provide an interface using which products/ applications can talk to each other. Adding a few more traits to this baseline definition does not only deliver a good interface but also provides a great developer experience.

1儭 Documentation

This is the first and foremost factor for successful APIs. Neatly documented endpoints with clear descriptions enable developers to understand and leverage them easily. Interactive API documentation stands out and is beneficial when you have a lot of APIs to offer. At the minimal, the capability to try it out in POSTMAN or other REST clients could save time for the developer and can make things easier.

Good documentation also covers things that the developers might miss hurriedly (most probably during their 1st pass) for example - rate limit policies, paginations, authentication, etc. It should drive developers towards the pit of success by default

2儭 Graceful changes, deprecations

Change is inevitable. It is good for progress. However, it becomes our duty to convey changes to developers as and when they occur. Most importantly, being mindful of users who have already consumed the API and introducing changes gracefully can alleviate major issues.

Communicating it via developer portals, changelogs, forums, etc. will significantly reduce friction.

3儭 Proper Error response/Status codes

I wish to live in a world where there were more 418-like status codes. However, it is always recommended to stick to meaningful error codes that convey upfront information to the user without them having to sherlock it.

Developers will be able to connect the dots and solve the issue at a much lesser time if the error code makes sense. The advantage of such status codes is that it implicitly delegates problem-solving to the developer and makes them informed in that situation. Otherwise, this might end up as support tickets and forum queries.

4儭 Avoid too chatty/chunky

Chatty APIs will lead to making multiple network calls to perform a single task. This ideally should be one single API call. On the other hand, chunky APIs end up providing too much information in one single call. It is recommended to avoid the extremes

These are a few tips that I follow to ensure that developers don't wrestle with the APIs. I would like to hear your thoughts as well in the comments section! 歹

Discussion

pic
Editor guide