# Requests

The Poe server will send an HTTP POST request to the bot servers URL with content type `application/json`. The body will be a JSON dictionary with the following keys:

* `version` *(string)*: The API version that the server is using.
* `type` *(string)*: This is one of the following strings:
  * `query`: Called when the user makes a query to the bot (i.e., they send a message).
  * `settings`: Query the bot for its desired settings.
  * `report_feedback`: Report to the bot server when certain events happen (e.g., the user likes a message).
  * `report_error`: Report to the bot server when an error happens that is attributable to the bot (e.g., it uses the protocol incorrectly).
  * Additional request types may be added in the future. Bot servers should ignore any request types they do not understand, ideally by sending a `501 Not Implemented` HTTP response.

Each of the request types is discussed in detail below:

<table data-view="cards"><thead><tr><th align="center"></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><strong>query</strong></td><td><em>request type</em></td><td><a href="/pages/ovNiETBHvMsAbwoQlirX">/pages/ovNiETBHvMsAbwoQlirX</a></td></tr><tr><td align="center"><strong>settings</strong></td><td><em>request type</em></td><td><a href="/pages/prZrpurV4URNnzhzwNH0">/pages/prZrpurV4URNnzhzwNH0</a></td></tr><tr><td align="center"><strong>report_feedback</strong></td><td><em>request type</em></td><td><a href="/pages/t0auHqabrnfWN5XZu5Ub">/pages/t0auHqabrnfWN5XZu5Ub</a></td></tr><tr><td align="center"><strong>report_error</strong></td><td><em>request type</em></td><td><a href="/pages/8ydNdjeEKE8GGPqosYcZ">/pages/8ydNdjeEKE8GGPqosYcZ</a></td></tr></tbody></table>


---

# 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://poe-developers.gitbook.io/documentation/server-bots/poe-protocol-specification/requests.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.
