---
title: "List what people told the agent"
method: GET
path: "/outbound-agents/{agent_id}/feedback/"
tags: ["outbound-agents"]
---

# List what people told the agent

`GET /outbound-agents/{agent_id}/feedback/`

## Request

- Base URL: `https://api.getoneprofile.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getoneprofile.ai/outbound-agents/{agent_id}/feedback/`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Every rating, note and rewrite people have given this agent's messages, newest first, with whether a prompt rewrite has already taken it in.

## Path parameters

- `agent_id` string, uuid, required

## Query parameters

- `message_id` string, uuid, nullable
- `limit` integer: How many rows, newest first.
- `teaching_only` boolean: Only feedback that teaches the agent: a Needs work, a note or a rewrite. A Looks good alone is a record, and approving a task records one.
- `source` 'approval_card' | 'inbox_draft' | 'agent_tab' | 'approved_unchanged' | 'positive_reply': Where a piece of feedback came from, which says how much it means.

## Response `200`

Successful Response

- OutboundFeedbackReadSchema[]
  - `comment` string, nullable, required
  - `consumed_in_version` integer, nullable, required
  - `created_at` string, date-time, required
  - `edited_body` string, nullable, required
  - `edited_subject` string, nullable, required
  - `id` string, uuid, required
  - `kind` 'email' | 'linkedin_connection_note' | 'linkedin_message' | 'linkedin_inmail' | 'reply_email' | 'reply_linkedin', required: What one written message is, which decides its rules, its length and its channel.
  - `message_id` string, uuid, nullable, required
  - `original_body` string, required
  - `original_subject` string, nullable, required
  - `rating` 'good' | 'bad', required: The human verdict on one message: a thumb, not a scale.
  - `slot_key` string, nullable, required
  - `source` 'approval_card' | 'inbox_draft' | 'agent_tab' | 'approved_unchanged' | 'positive_reply', required: Where a piece of feedback came from, which says how much it means.
  - `teaches` boolean, required: Whether the writer and a prompt rewrite learn from it: a Needs work, a note given without a Looks good, or a rewrite. A Looks good with no rewrite, a note on it and an approval kept as approved as written included, is a record and never teaches.
  - `updated_at` string, date-time, required
  - `user_id` string, required

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Outbound agent not found.
- `422`: Invalid request made to the API.
- `500`: Internal server error.
- `502`: Bad gateway error.
- `503`: Service unavailable.

---

[API](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile.md) · [All operations](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/llms.txt) · [OpenAPI document](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/revisions/4a6bd71e3f02?raw)
