{"name":"TrayHop feedback","version":1,"endpoint":"https://trayhop.com/api/feedback","method":"POST","contentTypes":["application/json","application/x-www-form-urlencoded"],"authentication":"none","fields":{"source":{"required":true,"enum":["human","ai-assisted","agent"]},"category":{"required":true,"enum":["integration","documentation","product","bug","other"]},"message":{"required":true,"minLength":20,"maxLength":4000},"context":{"required":false,"maxLength":240,"description":"Framework, browser, printer, or integration stage. Do not include secrets or customer data."},"contactEmail":{"required":false,"maxLength":254},"consent":{"required":true,"const":true},"website":{"required":false,"const":"","description":"Spam trap. Omit it or send an empty string."}},"privacy":"Stored in Cloudflare D1 for product review. IP addresses and user-agent strings are not retained. Optional contact email is stored only for follow-up.","agentGuidance":"Draft feedback for the user to review and obtain their authorization before posting it. Never include credentials, personal customer data, documents, pairing codes, printer job keys, or license material."}