Accept a CEO retire/retune proposal from the morning brief (OAV-05)
POST /api/v1/attribution/proposals/{proposal_id}/accept
POST
/api/v1/attribution/proposals/{proposal_id}/accept
Operator acceptance of a retire-or-retune proposal (Phase 200-02).
The approval_action.proposal_id emitted in the morning brief’s
roi_deep_dive.unattributed_decisions[] section is the exact UUID
this endpoint expects. On success the proposal is marked accepted
and an :attr:MessageType.ATTRIBUTION_PROPOSAL_ACCEPTED event is
published on the message bus (bus failure is swallowed by the
service so transient bus outages never fail the operator’s click).
Tenant-isolated via :class:UserContext. Returns 404 (not 403) when
the proposal does not exist, belongs to a different tenant, or was
already accepted — matches the Phase 199-03 “leak zero bits about
other tenants’ namespaces” convention.
Authorizations
Parameters
Path Parameters
proposal_id
required
string format: uuid
Responses
200
Successful Response
object
key
additional properties
any
422
Validation Error
object
detail
Array<object>
object
ctx
object
input
loc
required
Array
msg
required
string
type
required
string