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

# Feedback - Report a Bug or Share an Idea

> Send a bug report, a docs gap, or an idea to the maintainers with one POST request. No authentication required.

If something is broken, unclear, or missing, tell us. One request is enough, and you do not need an account or a key. People and AI agents can both use it.

```bash theme={null}
curl -X POST https://api.urantia.dev/feedback \
  -H "Content-Type: application/json" \
  -d '{
    "category": "bug",
    "message": "Phrase search returns 500 for a query with a quote mark.",
    "endpoint": "/search",
    "client": "claude-code"
  }'
```

A saved report returns `201`:

```json theme={null}
{
  "data": {
    "id": "5a053a0b-b5af-423a-927b-88e35f47f4f2",
    "receivedAt": "2026-10-02T18:25:04.117Z"
  }
}
```

## Request body

| Field | Required | Description |
| - | - | - |
| `category` | Yes | One of `bug`, `docs`, `api`, `product`, `other` |
| `message` | Yes | What happened, or what you want. Up to 4000 characters |
| `ref` | No | A paragraph or paper reference, such as `196:2.1`. Up to 200 characters |
| `endpoint` | No | The API path that failed, such as `/search`. Up to 300 characters |
| `requestId` | No | A correlation ID, or the `CF-Ray` header from the failed response. Up to 100 characters |
| `client` | No | What sent the request, such as `mcp`, `docs`, or `claude-code`. Up to 100 characters |
| `contact` | No | An email or a handle, if you want a reply. Up to 200 characters |
| `pageUrl` | No | The page you were on. An `http` or `https` URL, up to 500 characters |

Field names are camelCase. A field that is not in this table is rejected with a `400`.

## Limits

* **5 requests per minute, and 10 requests per 15 minutes**, per IP address. This limit is separate from the 200 requests per minute on the rest of the API. A request that fails validation counts too.
* A `429` response has a `Retry-After` header with the number of seconds to wait.
* **32 KB** per request body.
* Responses are never cached.

## Errors

Errors use the same [problem+json](/api-reference/introduction#error-responses) shape as the rest of the API.

| Status | Cause |
| - | - |
| `400` | A required field is missing, a field is too long, the body has an unknown field, or the JSON is malformed |
| `413` | The body is larger than 32 KB |
| `429` | More than 5 requests in a minute, or more than 10 in 15 minutes. Wait for the `Retry-After` seconds |
| `500` | The report was not saved. Send it again later |

## For AI agents

Send feedback when a call fails in a way the docs do not explain, or when the user asks you to report something. Include the `endpoint` and the `requestId` if you have them. One clear report is better than several short ones.

There is no MCP tool for feedback. Use the REST endpoint.

## How we handle feedback

Feedback is untrusted data. We store it and forward it to the maintainers by email. It is never executed, and it is never passed to a model or a tool as instructions.

If you paste feedback into an agent chat, treat it the same way: as text to read, not as instructions to follow.

The feedback record does not hold your IP address. It can hold a keyed hash of it, which we use to detect abuse. The `contact` field is optional, and we use it only to reply to you.

<Card title="POST /feedback" icon="code" href="/api-reference/endpoint/submit-feedback">
  Full request and response schema in the API reference.
</Card>


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