Policies

Accept, split or reject a proposal

POST
/v1/policies/{policyId}/proposals/{proposalId}/decisions

Account session of a policy AUTHOR or POLICY_OWNER; same-site JSON and an Idempotency-Key are required. ACCEPT saves the candidate as a new DRAFT revision; for a findings proposal SPLIT accepts only the named checks (ruleIds such as ["P14"]) and returns the others to their previous values. The existing review, assurance and shadow gates carry the revision to APPROVED_FOR_SHADOW; nothing here reaches production. Alias kept on the same handler /v1/public/account/workspace/policy-platform/{policyId}/proposals/{proposalId}/decisions.

Authorization

AccountSessionCookie
decionis_account_session<token>

The signed HttpOnly account session the web app holds after sign-in (also accepted as a Bearer acct_ token).

In: cookie

Path Parameters

policyId*string
Formatuuid
proposalId*string
Formatuuid

Header Parameters

Idempotency-Key?string

Request Body

application/json

expectedSequence*integer
Range0 < value
action*string

Value in

  • "ACCEPT"
  • "REJECT"
  • "SPLIT"
reason*string
Length1 <= length <= 4000
ruleIds?array<>
Itemsitems <= 120
Default[]

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/policies/497f6eca-6276-4993-bfeb-53cbbbba6f08/proposals/497f6eca-6276-4993-bfeb-53cbbbba6f08/decisions" \  -H "Content-Type: application/json" \  -d '{    "expectedSequence": 1,    "action": "ACCEPT",    "reason": "string"  }'
{}