# Chapter 3: RESTful API Design Guidelines and "Best Practices"

In this chapter, we will introduce how to properly design a RESTful web API. We'll be going over the best practices when designing URIs, representations, metadata, versioning, and more. The focus of this chapter is not to enforce the absolute "best practices", but rather show pragmatic examples that the community has learned in the past decade.

The set of guidelines and best practices come from notable books such as ***REST API Design Rulebook** by Mark Masse***,&#x20;*****RESTful Web Services Cookbook** by Subbu Allamaraju***,** and ***The REST API Design Handbook** by George Reese*; 3 books by incredible authors with a wide array of experiences in building APIs. Other resources come from large tech companies such as *Microsoft*, *Google*, and *Zalando* who have publicly shared their own REST API guidelines. And of course, the remaining best practices and guidelines come from me, my own personal experiences and what I learned in the my career.

The point of this chapter is to depict what has been considered "best practices" deemed by various different sources. This is so that we may use what others have discovered from their own real world experiences and apply them to our API design.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://book.restfulnode.com/part-2/chapter-3.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
