What is the best description of an API?
It's a protocol
Describing how web servers and other services should interact.
with clients. It defines the parameters of interaction. These are often called
Endpoints or entry points, but in fact they're the front doors of the service;. They describe the entrance to which users and devices can enter. API endpoints. APIs can be as simplistic as a REST URL with query parameters. Or they can be much more complex and sophisticated. We want the API to respond to the clients: provide the data they need to. Make successful HTTP requests and get correct responses. We want the client to take our API in any order. it can be JSON, RSS, Atom, XML, even plain text if that's what the client needs. We also want the client to use our API without any configuration. The user just submits a form and the API responds with some data. What's different about APIs? You. Might find someone else describing an API as: an extensible framework that enables web applications to share functionality. As an application programming interface that encapsulates an API for data exchange. As a tool for developing software applications. A means for implementing web services for mobile apps. A framework for developing distributed, scaleable software applications. An object-oriented model of communication between web servers. It's certainly not all of those things, but I like API best when I say that it's a platform. Especially for developers who are looking to build their own services. If you use API as an implementation, then you can always go back to a better implementation. In the future. But you don't have to go back.
The API is a way of sharing. Data, a platform that enables programmers to build their own services. In fact, my personal favorite definition of API comes from its creator, James Governor: An. API is an executable specification. I like that.
The API as Executable. An API describes how servers and clients work together. Let's break that definition down: API is a protocol; it's a standard defining the rules of communication.
What should API documentation describes?
One of my favourite topics in API Design, is how to document your API and how to document it well.
So when I was writing my book on HTTP and REST APIs and talking with readers who have an interest in designing their own APIs, I discovered that it can be quite a daunting task to talk about design in general, and design for APIs in particular. Because as I talked with people, this topic has some special challenges. So it is not only a matter of defining design principles, but also very specific things like the format of API description document should be, or what kind of documentation should be written for each API endpoint.
In other words, there is more to describe than a generic outline and list of requirements that will be shared by all types of APIs. There is an entire ecosystem surrounding API design, which you want to integrate into your service. So my main question for everyone who wants to write a good API documentation, is what should it describe?
Why is it important? When I explain why writing a good API documentation is important, I start with describing the problem that exists, for both client developers (and especially, users) and for API providers. Client developers find it tricky and time consuming to consume any Web API, as it requires an expertise in a lot of technologies. And the majority of the resources that cover this are very generic, talking about general concepts in a way which is suitable for all types of API. So let's say if you want to develop your own API, you probably need more than reading a general overview of API design. You want to know more specific information like what documentation do you need for each endpoint, and what is the recommended JSON or XML documentation format.
The problem for API providers is pretty much the same. They might not necessarily provide a good documentation either, so even if someone else does, they don't get the best return from this. In this context, API providers and clients are at the same position.
Both of them want to know: What kind of documentation do I need to provide, so that someone is able to use the API easily, and without any troubles? It is quite possible that some providers might not have the best technical resources to spend on an awesome documentation, so a lack of a good API documentation is a problem for API providers as well.
Related Answers
What is the audio description on the cinema app?
The audio description (SDO) is a description of the conten...
Do blind people enjoy movies?
Do deaf people have interesting stories about the characters who they just ca...
What are your roles and responsibilities as a manual tester?
When a potential employer scans a resume, a man...