Skip to content

Accept a CEO retire/retune proposal from the morning brief (OAV-05)

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