# Read AgentFeedbackEvidence

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: optionsAgentFeedbackEvidence
OPTIONS /api/v1/feedback/{id}/attachments

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/optionsAgentFeedbackEvidence) · [Authoritative schemas](/api/openapi.json)

## Wire contract

```json
{
  "operationId": "optionsAgentFeedbackEvidence",
  "summary": "Read AgentFeedbackEvidence",
  "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,
  "parameters": [
    {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
        "type": "string",
        "pattern": "^fb_[a-f0-9]{32}$"
      }
    }
  ],
  "responses": {
    "204": {
      "description": "CORS preflight"
    }
  }
}
```

## Synthetic examples

### curl

```bash
curl --fail-with-body --max-time 30 --max-filesize 16777216 --request OPTIONS 'https://irvinebroque.com/api/v1/feedback/fb_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/attachments'
```

### TypeScript

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

### CLI

```bash
irvinebroque feedback attach-options --id 'fb_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
```
