---
title: "Put Agent Feedback Form"
method: PUT
path: "/core/agents/{id}/feedback-form"
tags: ["Agents"]
---

# Put Agent Feedback Form

`PUT /core/agents/{id}/feedback-form`

## Request

- Base URL: `https://api.anyreach.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.anyreach.ai/core/agents/{id}/feedback-form`
- Auth: HTTP bearer

Set (or, with ``form: null``, remove) the agent's feedback form.

Applies to every conversation at once, with no publish: it is not part
of the versioned config. Saved reviews keep the questions they were
answered with.

## Path parameters

- `id` string, required

## Headers

- `x-anyreach-org` string, nullable: Organization ID for user PATs (pat_ prefix tokens)

## Request body

- AgentFeedbackFormRequest: Set an agent's reviewer feedback form; ``form: null`` removes it. Per-field validation patterns are dropped: reviewer forms do not use them.
  - `form` FormDefinition: A form that can be shown as a widget during conversations.
    - `id` string, required: Unique identifier for this form within the agent, e.g. 'contact_info'.
    - `name` string, required: Display name in the builder UI.
    - `description` string, nullable: Tool description for the LLM to understand when to show this form.
    - `title` string, nullable: Title shown in the rendered form.
    - `submit_label` string, nullable
    - `fields` FormField[], required
      - `id` string, required: Unique identifier within the form, used as the JSON key in submission data.
      - `type` 'input' | 'textarea' | 'boolean' | 'rating' | 'single_select' | 'multi_select' | 'display', required: Supported form field types.
      - `label` string, required
      - `placeholder` string, nullable
      - `required` boolean
      - `default_value` unknown
      - `options` FormFieldOption[], nullable: Options for single_select and multi_select field types.
        - `label` string, required
        - `value` string, required
      - `display_mode` 'dropdown' | 'buttons': How single_select/multi_select options are rendered.
      - `allow_other` boolean, nullable: When true, single_select/multi_select fields show an 'Other' choice with a free-text input.
      - `true_label` string, nullable: Label for the 'true' button on boolean fields (e.g. 'Yes').
      - `false_label` string, nullable: Label for the 'false' button on boolean fields (e.g. 'No').
      - `max_rating` integer, nullable: Number of stars (between 2 and 10, defaults to 5) shown for a rating field.
      - `validation` string, nullable: Regex pattern for validating text input values.
      - `validation_message` string, nullable: Error message shown when validation fails.

## Response `200`

Successful Response

- AgentFeedbackFormResponse: An agent's reviewer feedback form, as stored; null when it has none. Returned as saved, even if it no longer passes today's rules, so the editor can still open it to fix or remove it.
  - `form` object, nullable: The questions reviewers answer about a conversation

## Other responses

- `422`: Validation Error

---

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