---
title: "Send feedback to the Khotan team"
method: POST
path: "/api/v1/feedback"
tags: ["Feedback"]
---

# Send feedback to the Khotan team

`POST /api/v1/feedback`

## Request

- Base URL: `https://app.khotan.com`
- URL: `https://app.khotan.com/api/v1/feedback`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`

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.

## Request body

- object
  - `kind` 'feature_request' | 'direction' | 'docs_gap' | 'bug' | 'other', 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
  - `impact` 'blocked' | 'workaround' | 'nice_to_have'
  - `area` 'api' | 'cli' | 'mcp' | 'slack_agent' | 'dashboard' | 'templates' | 'skills' | 'docs' | 'other'
  - `capabilityIds` string[]: Khotan action ids this is about. A requested action may not exist yet.
  - `threadId` string: The caller's own conversation or session id.
  - `model` string
  - `client` string: The agent product, such as cursor or claude-code.

## Response `201`

The stored submission's id and time, and a note to carry on.

- object
  - `id` string, required
  - `createdAt` string, required: ISO 8601 timestamp.
  - `message` string, required

## Other responses

- `400`: The request was malformed or failed validation.
- `401`: Authentication is missing or invalid.
- `429`: Too many requests; retry after the indicated delay.

---

[API](https://skmtc.dev/khotan/apis/khotan-api.md) - [All operations](https://skmtc.dev/khotan/apis/khotan-api/llms.txt) - [OpenAPI document](https://skmtc.dev/khotan/apis/khotan-api/revisions/90b512a53e42?raw)
