> For the complete documentation index, see [llms.txt](https://swit-school.gitbook.io/qa-book/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://swit-school.gitbook.io/qa-book/testuvannya-igor/vstup-do-testuvannya-ari/rest-api.md).

# REST API

REST API — це ідеологія побудови API, яка розшифровується як Representational State Transfer API. Вона грунтується на наступних принципах, сформульованих її творцем, Роєм Філдінгом:

* Клієнт-серверна архітектура
* Stateless сервер
* Кешування
* Багатошарова структура
* Єдиний інтерфейс
* Код на вимогу

<figure><img src="https://lh6.googleusercontent.com/5IhqEtBY4wKglzd-MT3o0VkHOJNGwuJwDXMSlRvgIS5qlPodrgsgVx8bBiw50QquV8xNDQsbwve7P198Qgk-PybYqGHFYh5Jn9cTBJXP6Bk3Id_9-HazAp0VuMAaS8lctcKvcyMzVlVU_RPYD3agzTVP0A=s2048" alt=""><figcaption></figcaption></figure>

{% embed url="<https://aws.amazon.com/ru/what-is/restful-api/>" %}
Детальніше про REST API
{% endembed %}

## Аутентифікація по API

Зазвичай для використання API потрібен спеціальний ключ, за допомогою якого сервер дізнається про користувача. API ключ може бути відсутнім або надаватися за запитом (наприклад, після реєстрації на сайті). Наприклад, як у прикладі з погодним сайтом, ключ імпортував показники погоди. Ще один приклад, гра у яку ввести API ключ з Facebook здатна імпортувати список друзів.

<br>

<figure><img src="https://lh3.googleusercontent.com/F3yE92d9M93llmHSFHVNarTESS5VTvKdvW3ISPv39ocRLjqu3h6HRzzEc1cphYwX0H-3m98NsavLrV5pS1ONHXiLBoq1ddrjdon4cKMj3PtS0KOljmL5p1QWEELschG76_DwQ0rxgvONfT4sa4JSRIjbZw=s2048" alt=""><figcaption></figcaption></figure>
