> For the complete documentation index, see [llms.txt](https://book.restfulnode.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://book.restfulnode.com/part-2/chapter-3/9-documentation.md).

# Documentation

There are many specifications as well as tools that follow those specifications for documenting APIs. The 2 most common [API Description Languages](https://api-university.com/blog/what-are-api-description-languages) are [OpenAPI ](https://swagger.io/specification)(previously known as the Swagger Specifications) and [RAML ](https://raml.org/developers/raml-100-tutorial)(RESTful API Modeling Language). The OpenAPI specification created by [Swagger](https://swagger.io) is the most common and most popular among the API Description Languages. We will be using the OpenAPI specification in our application to document our RESTful API later in this book.

Both the OpenAPI and RAML official specifications and documentations are available online. Take some time to read through some of it to decide which would suit your documentation style.

{% embed url="<https://swagger.io/specification>" %}
<https://swagger.io/specification>
{% endembed %}

{% embed url="<https://github.com/raml-org/raml-spec/blob/master/versions/raml-10/raml-10.md>" %}
<https://github.com/raml-org/raml-spec/blob/master/versions/raml-10/raml-10.md>
{% endembed %}
