# Read AgentFeedbackDiscovery

feedback.now v1 receiver. Private untrusted reports, inline evidence, 90-day retention; never changes public content. HTTP and MCP writes share 60 submissions/hour per source and 240/hour site-wide. Obtain user approval when required by your host. Receipt IDs are bearer references; receipts contain status only. Acceptance means stored, not verified. No automatic submission retries.

Operation: getAgentFeedbackDiscovery
GET /.well-known/agent-feedback.json

Access: anonymous. Automatic retries: none. Redirects: manual. Request body limit: 0 bytes.
Default timeout: 30 seconds. Response limit: 16 MiB. Pagination is opt-in and bounded; an exhausted bound reports incomplete execution.

[HTML reference](/developers/api/getAgentFeedbackDiscovery) · [Authoritative schemas](/api/openapi.json)

## Wire contract

```json
{
  "operationId": "getAgentFeedbackDiscovery",
  "summary": "Read AgentFeedbackDiscovery",
  "tags": [
    "Agent feedback"
  ],
  "description": "feedback.now v1 receiver. Private untrusted reports, inline evidence, 90-day retention; never changes public content. HTTP and MCP writes share 60 submissions/hour per source and 240/hour site-wide. Obtain user approval when required by your host. Receipt IDs are bearer references; receipts contain status only. Acceptance means stored, not verified. No automatic submission retries.",
  "x-public-access": "anonymous",
  "x-public-side-effect": "none",
  "x-public-body-limit": 0,
  "responses": {
    "200": {
      "description": "Feedback protocol response",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "schema_version",
              "name",
              "endpoints",
              "categories"
            ],
            "additionalProperties": true
          }
        }
      }
    },
    "400": {
      "description": "Feedback request failed. Errors contain error and message. Never automatically retry submissions.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error",
              "message"
            ],
            "properties": {
              "error": {
                "type": "string"
              },
              "message": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "403": {
      "description": "Feedback request failed. Errors contain error and message. Never automatically retry submissions.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error",
              "message"
            ],
            "properties": {
              "error": {
                "type": "string"
              },
              "message": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "404": {
      "description": "Feedback request failed. Errors contain error and message. Never automatically retry submissions.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error",
              "message"
            ],
            "properties": {
              "error": {
                "type": "string"
              },
              "message": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "413": {
      "description": "Feedback request failed. Errors contain error and message. Never automatically retry submissions.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error",
              "message"
            ],
            "properties": {
              "error": {
                "type": "string"
              },
              "message": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "415": {
      "description": "Feedback request failed. Errors contain error and message. Never automatically retry submissions.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error",
              "message"
            ],
            "properties": {
              "error": {
                "type": "string"
              },
              "message": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "429": {
      "description": "Feedback request failed. Errors contain error and message. Never automatically retry submissions.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error",
              "message"
            ],
            "properties": {
              "error": {
                "type": "string"
              },
              "message": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "503": {
      "description": "Feedback request failed. Errors contain error and message. Never automatically retry submissions.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error",
              "message"
            ],
            "properties": {
              "error": {
                "type": "string"
              },
              "message": {
                "type": "string"
              }
            }
          }
        }
      }
    }
  }
}
```

## Synthetic examples

### curl

```bash
curl --fail-with-body --max-time 30 --max-filesize 16777216 --request GET 'https://irvinebroque.com/.well-known/agent-feedback.json' --header 'Accept: application/json'
```

### TypeScript

```typescript
import { PublicApi } from '@irvinebroque/public-api';
const api = new PublicApi();
const result = await api.feedback.discovery({});
console.log(result.status, result.headers.get('content-type')); // Keep transient capabilities in memory.
```

### CLI

```bash
irvinebroque feedback discovery
```
