> To find and run AgentRouter tools, connect to https://mcp.agentrouter.to/. To search this documentation, use https://docs.agentrouter.to/_mcp/server. Append .md to a page URL for Markdown. For the documentation index, see https://docs.agentrouter.to/llms.txt.

# Feedback and disputes

## Feedback

Feedback tells AgentRouter about data quality, missing tools or anything else. It never changes a charge.

```bash
curl -s https://api.agentrouter.to/v1/feedback \
  -H "Authorization: Bearer $AGENTROUTER_API_KEY" -H "Content-Type: application/json" \
  -d '{"kind": "data_issue", "run_id": "run_…", "text": "Follower counts were a week old"}'
```

| `kind`         | Use it for                                                                                                              |
| -------------- | ----------------------------------------------------------------------------------------------------------------------- |
| `feedback`     | General comments                                                                                                        |
| `data_issue`   | A result that looked wrong; include `run_id`                                                                            |
| `tool_request` | A capability `find` could not match; `capability` is required. Recorded as a provider request, not a promise to add it. |

The MCP tools are `feedback` and `request_tool`; the CLI has `agentrouter feedback` and `agentrouter tools request`. Text that looks like a credential is redacted before it is stored. Identical submissions are merged, and each account can send 30 per hour.

## Disputes

Open a dispute when a run was charged, the input was correct, and the result was wrong or unusable — for example data about a different company, or an empty page returned as success. Runs that were not charged (errors, timeouts, waived empties) have nothing to dispute.

```bash
curl -s https://api.agentrouter.to/v1/disputes \
  -H "Authorization: Bearer $AGENTROUTER_API_KEY" -H "Content-Type: application/json" \
  -d '{
    "run_ids": ["run_…"],
    "goal": "Recent posts from the Anthropic X account",
    "reason": "Results were posts from a different account with a similar name",
    "find_query": "recent X posts about a company",
    "evidence": "Every returned author handle differs from the requested one"
  }'
```

* Up to 50 charged runs from the last 30 days per dispute; a run can be in only one open dispute.
* Give context: what the user was trying to get, what went wrong, the find query and, if you have one, a `comparison_run_id` that shows the expected result.
* Statuses: `SUBMITTED` → `IN_REVIEW` → `APPROVED`, `PARTIALLY_APPROVED` or `REJECTED`. `NEEDS_INFO` means a reviewer asked a question; read the reviewer’s note in Settings → Disputes or `agentrouter dispute get`, then reply in the web form, with `agentrouter dispute reply <dispute_id> --evidence "..."`, or with `POST /v1/disputes/{dispute_id}/info`. Replies remain in the review history for both you and the reviewer.
* An approved refund goes back to the wallet once and appears in the ledger and on the run (`customer_refund_usd`). A later refund from the provider never pays you twice.
* Opening a dispute keeps the disputed runs' results from expiring until it is decided.

Agents should open disputes only with the user's permission and the host's rules, and never as a way to retry a call for free. The MCP tools are `create_dispute` and `get_dispute`; the CLI has `agentrouter dispute create` , `agentrouter dispute get` and `agentrouter dispute reply`; the web has [Settings → Disputes](https://www.agentrouter.to/settings/disputes).