Record AI Feedback
POST/api/support/agent/tickets/:ticket/ai/:run/feedback
Records whether an agent used an AI triage or drafted reply, for the AI draft acceptance rate shown on the dashboard (see Get Agent Dashboard Metrics).
support:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Sent with property, it records the decision on one suggested ticket property instead of the run as a whole — "the priority was right" is a different question from "the draft was sendable", so the two are recorded separately.
Path parameters
ticket(integer) — the ticket id.run(integer) — the AI run id; take it fromrun_id,triage_run_idordraft_run_idon Get Ticket AI Insights. A run belonging to another ticket is reported as not found.
Request body:
accepted(boolean, optional) — defaults totruewhen omittedproperty(string, optional) — record the decision on one suggestion instead of the whole run:type,priority,group,assigneeortenant. Anything else is rejected with 422reason(string, optional, max 500) — why; kept with a per-property decision only
Response fields (data)
- without
property:id(the run id) andaccepted - with
property:id,property,accepted, anddecisions— every per-property decision recorded on the run so far, keyed by property, each{accepted, by_user_id, at, reason}
Authentication: Bearer token with the support:write scope, or an authenticated session, from a caller with an active support role that can work tickets.
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 429
OK
Response Headers
Unauthorized
Response Headers
Forbidden
Response Headers
Not Found
Response Headers
Unprocessable Content
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.