# Rest API

This example is derived from [REST client; MSDN Documentation](https://docs.microsoft.com/dotnet/csharp/tutorials/console-webapiclient) A practical use case is covered by the project [M. Postol; Object-Oriented Internet; Global Data Discovery](https://commsvr.gitbook.io/ooi/global-data-discovery/datadiscovery)

## Executive summary

The formal REST constraints are as follows:

* Client-server architecture
* Statelessness
* Cacheability
* Layered system
* Code on demand (optional)
* Uniform interface

## See also

* [Standards.REST](https://standards.rest/) A collection of standards and specifications, that help make fantastic HTTP/REST APIs. Don't reinvent the wheel, use fantastic wheels, hashed out by experts, that solve problems you hadn't even considered yet.
* [REST client; MSDN Documentation](https://docs.microsoft.com/dotnet/csharp/tutorials/console-webapiclient)


---

# 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://mpostol.gitbook.io/pip/distributed-programming/client-server-communication/restapi.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.
