---
title: "V1 Feedback"
method: POST
path: "/v1/feedback"
tags: ["public-api"]
---

# V1 Feedback

`POST /v1/feedback`

## Request

- Base URL: `https://api.palisade.run` (the document declares no server; this is the origin it was published from)
- URL: `https://api.palisade.run/v1/feedback`
- Auth: none declared

Forward a message-level thumbs up/down vote to the analytics service.

Mirrors the /v1/analytics proxy but targets /analytics/feedback, which
stores ONE current-state `message_feedback` row per message in `events`
(vote changes upsert in place; a null vote removes the row).

## Query parameters

- `k` string, nullable

## Headers

- `authorization` string, nullable
- `x-api-key` string, nullable

## Request body

- V1FeedbackRequest
  - `conversation_id` string, required: Analytics conversation UUID
  - `message_id` string, required: Analytics UUID of the assistant message being rated
  - `vote` string, nullable: 'up' | 'down' | null (null removes an existing vote)
  - `created_at` string, nullable: Client ISO timestamp of the vote (optional)

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/palisade-run/apis/twiddy-chatbot-api.md) - [All operations](https://skmtc.dev/palisade-run/apis/twiddy-chatbot-api/llms.txt) - [OpenAPI document](https://skmtc.dev/palisade-run/apis/twiddy-chatbot-api/revisions/80ab7d8068c0?raw)
