# Evaluations

Endpoints to evaluate expressions and manage active evaluations.

| Method | Path                                                                                                            | Description                             | Parameters | Payload |              |
| :----: | --------------------------------------------------------------------------------------------------------------- | --------------------------------------- | :--------: | ------- | ------------ |
|  POST  | [/evaluations](https://webside.gitbook.io/webside/api/evaluations/post)                                         | Evaluate an expression                  |      -     | -       | `expression` |
|   GET  | [/evaluations](https://webside.gitbook.io/webside/api/evaluations/get)                                          | Retrieve active evaluations             |      -     | -       | -            |
|   GET  | [/evaluations/id](https://webside.gitbook.io/webside/api/evaluations/get-1)                                     | Retrieve the evaluation with a given ID |      -     | -       | -            |
| DELETE | [/evaluations/id](https://webside.gitbook.io/webside/api/evaluations/delete)                                    | Cancel the evaluation with a given ID   |      -     | -       | -            |
|  POST  | [/evaluations/id/pause](https://webside.gitbook.io/webside/api/evaluations/pause)                               | Pause the evaluation with a given ID    |      -     | -       |              |
|  POST  | [/evaluations/id/resume](https://github.com/guillermoamaral/Webside/blob/main/docs/api/evaluations/id/resum.md) | Resume the evaluation with a given ID   |      -     | -       |              |

## About evaluations and processes

The term *evaluation* in the context of this API is rather vague as it encompasses both an expression issued for its evaluation and the actual process of such evaluation. It is likely that the target Smalltalk system implements this by means of some sort of *process*. In this sense, an evaluation can suspended and resumed, or even terminated, much as its corresponding process in the backend can. See [/evaluations/id/pause](https://webside.gitbook.io/webside/api/evaluations/pause) and [/evaluations/id/resume](https://webside.gitbook.io/webside/api/evaluations/resume) for an example on pausing, debugging and resuming an evaluation.
