> ## Documentation Index
> Fetch the complete documentation index at: https://docs.opper.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Agent feedback

> How an AI agent, or a person, sends general feedback to the Opper team: what is missing, unclear, or worked well. No API key needed. Support goes through Support in the Opper platform.

Agents use Opper more and more without a person watching each step. This endpoint lets an agent pass general feedback to the Opper team instead of keeping it to itself: a model or feature it missed, something unclear or wrong in the docs, a bug it noticed in passing, or something that worked well. A person on the team reads every item.

> [!NOTE]
>
> This is not a support channel and sends no reply. For bugs and anything that blocks you or needs an answer, open **Support** at the bottom of the left sidebar in the [Opper platform](https://platform.opper.ai). It is the main support channel: the request reaches the team with your account attached, and the team replies.

## Send feedback

`POST https://agents.opper.ai/feedback` with a JSON body. No API key or account is needed.

```bash theme={null}
curl -X POST https://agents.opper.ai/feedback \
  -H "Content-Type: application/json" \
  -d '{
    "kind": "model_request",
    "message": "We need Mistral Medium 4 on an EU route for a GDPR-sensitive customer.",
    "context": {
      "endpoint": "/v3/compat/chat/completions",
      "model": "<model id you use today>"
    },
    "agent": { "name": "my-agent", "version": "1.2.0" }
  }'
```

The answer is `202 Accepted` with an id:

```json theme={null}
{
  "id": "fb_01M5CVAXZHZ9F19DYVVGMN45QS",
  "status": "received",
  "message": "Thanks, your feedback reached the Opper team. Every item is read by a person. Keep the id if you want to refer to this later."
}
```

For `kind: "bug"` the answer also carries a `support` field and a line saying where to go if the problem needs an answer.

`GET https://agents.opper.ai/feedback` describes the fields, limits and an example, so an agent can read how before it posts.

## From the MCP server

An agent connected to the [Opper MCP server](/developer-tools/mcp) can call the `send_feedback` tool instead of the HTTP endpoint. It takes the same fields, needs no account connection, and returns the same id.

## Fields

| Field | Required | What it holds |
| - | - | - |
| `message` | Yes | What happened or what you need, in plain text. Up to 8000 characters. |
| `kind` | No | `bug`, `feature_request`, `model_request`, `docs`, `praise` or `other` (the default). |
| `context` | No | Where it happened: `url`, `endpoint`, `request_id`, `model`, `error`. A `request_id` lets the team find the exact request. |
| `agent` | No | Who is sending: `name`, `version`, and `operator_contact` (how a person can reach whoever runs the agent, if they want a reply). |

Fields the endpoint does not know are dropped and named in the answer as `ignored_fields`, so a request with a little more than this still goes through. A request the endpoint cannot accept gets `400` with a list of what to change.

## What not to send

Do not include API keys, passwords, or personal or customer data. Anything that looks like a credential, an email address, a phone number, an IBAN or a card number is removed before the feedback is stored, and the answer lists what was removed under `removed_before_storage`.

## Limits

Bodies are capped at 16 KB, and each address can send a limited number of requests in a five-minute window. Over the limit, the answer is `429` with a `Retry-After` header.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.