Feedback
/api/v1 operations for feedback. See HTTP API for authentication, the error envelope, and rate limits.
Operations
POST /api/v1/feedback
Send feedback to the Khotan team
Stores a feature request, product direction, docs gap, or bug from an agent. The agent states its proposal, the situation it was in, its reason, and whether a person asked it to send it. The server attributes the submission from the API key; for the Slack agent it also records the conversation and the member who asked. Every authenticated caller can send feedback, including the code sandbox's read-only key. Nothing reads submissions back over the API.
Auth: API key required.
Operation ID: submitAgentFeedback
Request body (application/json, required):
kind("feature_request" | "direction" | "docs_gap" | "bug" | …, required) — What kind of feedback this is.title(string, required) — One line.proposal(string, required) — What should be added or changed.situation(string, required) — What the agent was doing: the task, its goal, and what it tried.reason(string, required) — Why the agent sent it: what it had to do instead, and what the change would let it or its user do.origin("agent" | "user", required) — user when a person asked the agent to send it; agent when the agent decided to.workaround(string, optional)impact("blocked" | "workaround" | "nice_to_have", optional)area("api" | "cli" | "mcp" | "slack_agent" | …, optional)capabilityIds(string[], optional) — Khotan action ids this is about. A requested action may not exist yet.threadId(string, optional) — The caller's own conversation or session id.model(string, optional)client(string, optional) — The agent product, such as cursor or claude-code.
Responses:
201— The stored submission's id and time, and a note to carry on.400— The request was malformed or failed validation.401— Authentication is missing or invalid.429— Too many requests; retry after the indicated delay.
CLI: khotan feedback submit