---
title: "Record Feedback"
method: POST
path: "/feedback/record"
---

# Record Feedback

`POST /feedback/record`

## Request

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

RL weight update. Called by the plugin after approve/reject and by
any direct integration that wants to record an outcome.

As of v3.7.7 the RL weight lives on the SOURCE STATION, not the
product. This endpoint resolves mission → lead → station_id and
adjusts stations.rl_weight:
  replied  → +0.05 (clamped to 2.0)
  ignored  → −0.02 (clamped to 0.5)

Legacy leads with station_id = NULL skip the rl_weight delta but
still record into products.rejection_stats for analytics.

Idempotent (v3.7.7): re-recording an outcome on a mission that
already has one is a silent no-op. /actions/approve now fires
`replied` inline on every approval, so when the v1.5.x plugin calls
/feedback/record as a follow-up, this endpoint sees the outcome
already set and returns the existing weight unchanged.

## Headers

- `authorization` string

## Request body

- object

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/signalpipe/apis/mantidae-v3-0.md) · [All operations](https://skmtc.dev/signalpipe/apis/mantidae-v3-0/llms.txt) · [OpenAPI document](https://skmtc.dev/signalpipe/apis/mantidae-v3-0/revisions/14f89c374730?raw)
