Konubinix' opinionated web of thoughts

Design an API With Several Small Endpoints


If you are not confident how users will use your API, prefer several unit endpoints rather than an endpoint that does all the work. Above all, be intellectually honest and don’t pretend you know what is best for your users unless you have a good reason to (see ivory tower effect).

You can provide some high level endpoints that do all the work if you like, but provide the small ones too.

That way, you already have the small pieces that your users will be able to assemble to create their own workflow. Once time passes, you will be able to learn from what your users are doing with the endpoints and only then, you will be able to provide big endpoints that make sense.

Ideally, become your own user, so that, with the power of dogfooding, you will be able to feel what its like to use all those small API and you will naturally want to provide bigger endpoints to ease your work (that eventually will become your users’ work).