---
title: "Patch Message Feedback"
method: PATCH
path: "/api/v1/ollie/messages/{message_id}/feedback"
tags: ["ollie"]
---

# Patch Message Feedback

`PATCH /api/v1/ollie/messages/{message_id}/feedback`

Set thumbs up/down feedback on an Ollie message.

Ownership is validated by joining ``agent_conversation_messages →
agent_conversations → projects`` — the user must own the project the
message belongs to. Cross-user PATCH → 404 (collapsed with
not-found to avoid probing).

## Path parameters

- `message_id` string, uuid, required

## Request body

- MessageFeedbackPatch — PATCH body for setting per-message thumbs up/down. ``feedback=None`` clears an existing vote. ``feedback_text`` is reserved for Phase 6; Phase 2 ships the binary vote only, but the field is accepted for forward compatibility.
  - `feedback` 'up' | 'down', nullable
  - `feedback_text` string, nullable

## Response `200`

Successful Response

- AgentConversationMessageResponse — Single message as returned by the API.
  - `id` string, uuid, required
  - `conversation_id` string, uuid, required
  - `role` 'user' | 'ollie' | 'system', required
  - `content` string, required
  - `tool_calls` object[], required
  - `citations` Citation[], required
    - `type` 'web' | 'internal_ref' | 'tool_result' | 'lookup', required
    - `title` string, required
    - `url` string, nullable
    - `source_id` string, nullable
    - `section` string, nullable
    - `snippet` string, nullable
    - `confidence` 'definitive' | 'confident' | 'hedged' | 'unknown', required
  - `model_used` string, nullable
  - `created_at` string, date-time, required
  - `user_feedback` 'up' | 'down', nullable
  - `trace_id` string, uuid, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/prototyping/apis/prototyping-io-api.md) · [All operations](https://skmtc.dev/prototyping/apis/prototyping-io-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/prototyping/prototyping-io-api/revisions/f4a0079fbb57/schema)
