# 3. About REST – The Basics

To explore and test the evalink talos API, it is essential to have a basic understanding of the different HTTP (**H**yper **T**ext **T**ransfer **P**rotocol) methods, or so-called *verbs*, an API supports.

&#x20;HTTP is the protocol that is used by browsers and servers to communicate. It defines a set of request methods to indicate the desired action.&#x20;

There are 7 basic HTTP Methods:

1. **`GET`**
2. **`POST`**
3. **`PUT`**
4. **`HEAD`**
5. **`DELETE`**
6. **`PATCH`**
7. **`OPTIONS`**

&#x20;**`GET`**      is by far the most important method. It is used **to request and retrieve data**, a document or another source from a server. A source is identified by the request URL.

&#x20;**`POST`**    follows the opposite approach: it primarily transmits data (in form of an URL) to a web server. Requests are used **to send data to the API server** to create or update resources. The data sent to the server is stored in the [request body](https://stackoverflow.com/questions/22034144/what-does-it-mean-http-request-body) of the HTTP request.

&#x20;**`PUT`**       requests allow modification of existing sources or creation of new data on the server, they are used to send data to the API **to update or create a resource**. Unlike the POST method, the URL in the PUT request identifies the data itself sent with the request, not the source.

&#x20;**`PATCH`**    requests are used to only apply partial modifications to the resource.

&#x20;**`DELETE`**  requests are used to delete the resource at the specified URL.

&#x20;**`HEAD`**      is almost identical to **`GET`**, **except without the response body**. Unlike GET, however, the server does not transmit the actual data. In other words, if **`GET`**` ``/alarms` delivers a list of alarms, then **`HEAD`**` ``/alarms` will make the same request, but won't get back the list of alarms.

You can find more information about the basic HTTP Methods in the following [link](https://assertible.com/blog/7-http-methods-every-web-developer-should-know-and-how-to-test-them).


---

# 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://sitasys-ag.gitbook.io/evalink-talos/get-started/rest-basics-1.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.
