---
title: "Submit private agent workflow feedback"
method: POST
path: "/api/v1/agent-feedback"
tags: ["Operations"]
---

# Submit private agent workflow feedback

`POST /api/v1/agent-feedback`

## Request

- Base URL: `https://www.poster.ly`
- URL: `https://www.poster.ly/api/v1/agent-feedback`
- Auth: HTTP bearer

Store a bounded private operational feedback event after a concrete posterly workflow outcome. Requires a bearer API key with `posts:write` and active API add-on access; browser-session fallback is rejected. Limited to 60 events/hour per API key. Do not include API keys, prompts, captions, media URLs, personal data, or arbitrary metadata. Events are private service-role telemetry retained for 180 days.

## Request body

- AgentFeedbackRequest
  - `source` 'mcp' | 'cli' | 'rest' | 'skill', required
  - `tool` string, required
  - `outcome` 'success' | 'error' | 'abandoned', required
  - `error_code` string
  - `client` string
  - `comment` string: Optional bounded operational note. Never include API keys, prompts, captions, media URLs, or personal data.
  - `context` object
    - `request_id` string
    - `http_status` integer
    - `latency_ms` integer
    - `attempt` integer

## Response `201`

Feedback accepted

- AgentFeedbackResponse
  - `accepted` true, required
  - `feedback_id` string, uuid, required
  - `request_id` string, required

## Other responses

- `400`: Validation error
- `401`: Invalid or missing API key
- `403`: Request is authenticated but not allowed
- `413`: Request payload is too large for this endpoint
- `429`: Too many requests

---

[API](https://skmtc.dev/poster/apis/posterly-api.md) · [All operations](https://skmtc.dev/poster/apis/posterly-api/llms.txt) · [OpenAPI document](https://skmtc.dev/poster/apis/posterly-api/revisions/60be02a61f95?raw)
