Skip to main content
POST
/
v1
/
proposals
/
{proposalId}
/
approve
curl -X POST https://nest.feather.mupeni.dev/v1/proposals/prop_01hx.../approve \
  -H "Authorization: Bearer <reviewer_key>" \
  -H "Content-Type: application/json" \
  -d '{ "note": "Looks good, approved for production." }'
{
  "id": "prop_01hx...",
  "status": "approved",
  "reviewedBy": "key_02hx...",
  "reviewedAt": "2024-04-11T09:00:00.000Z",
  "reviewNote": "Looks good, approved for production."
}
On approval, a new flag version is created atomically and the environment’s edge cache is updated.
The approver must be a different actor than the proposer (four-eyes principle). Self-approval returns 403 SELF_APPROVAL_FORBIDDEN.

Path parameters

proposalId
string
required

Body

note
string
Optional approval note, visible in the audit log and proposal record.
curl -X POST https://nest.feather.mupeni.dev/v1/proposals/prop_01hx.../approve \
  -H "Authorization: Bearer <reviewer_key>" \
  -H "Content-Type: application/json" \
  -d '{ "note": "Looks good, approved for production." }'
{
  "id": "prop_01hx...",
  "status": "approved",
  "reviewedBy": "key_02hx...",
  "reviewedAt": "2024-04-11T09:00:00.000Z",
  "reviewNote": "Looks good, approved for production."
}