{
  "message": "Optional consent-based feedback for bots that bought or considered buying.",
  "consentRequired": true,
  "endpoint": {
    "method": "POST",
    "path": "/feedback"
  },
  "agentPath": {
    "auth": "Header x-agent-id (stable bot id, 4+ chars) + body.consent=true",
    "allowedTypes": [
      "prospect",
      "non_buyer"
    ],
    "note": "No form secret required for agent prospect feedback. Buyer/human reviews still need formSecret.",
    "rateLimit": "12 posts / agent / hour"
  },
  "bodySchema": {
    "consent": true,
    "formSecret": "optional for agents — required for buyer/human reviews without x-agent-id",
    "feedbackType": "prospect | non_buyer | buyer",
    "feedback": "up to 240 chars (required for agent path unless rating set)",
    "rating": "optional integer 1..5",
    "buyerId": "optional; defaults to x-agent-id",
    "sku": "optional sku",
    "reasonCode": "optional short code (price_too_high, weak_free_sample, missing_feature, etc.)",
    "wouldReconsider": "optional boolean"
  },
  "note": "If consent is false or missing, feedback is rejected. Agents: prefer x-agent-id + consent."
}