Policies

Replay current against proposed on the assessed records

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

Account session with READ access; same-site JSON and an Idempotency-Key are required. Both configurations are evaluated by the production commerce-preflight evaluator on identical records at their transaction time, scoped to the checks the proposal changes. Money is totalled by finding category in each transaction currency without conversion, false holds (held records with no exposure finding) are counted, and caps and coverage are explicit. Nothing is stored, sent or executed.

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

Response Body

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/replays" \  -H "Content-Type: application/json" \  -d '{}'
{  "version": "decionis.policy.proposal.replay/1",  "policy_id": "ee9b03e0-6495-427a-85a5-34444d24ae04",  "proposal_id": "10dc578f-36d9-436c-bba3-e0bf53d58e9e",  "replayed_at": "2019-08-24T14:15:22Z",  "findings": [    {      "findings_id": "49cc7d7a-341d-4557-bfde-ce7a8ead8d58",      "assessment_id": "9f60a03f-b3de-4b19-9361-0380d9aa1e9e",      "verification": "signed",      "status": "complete",      "gaps": [        "string"      ]    }  ],  "replay": {    "version": "decionis.assessments.replay/1",    "evaluator_version": "string",    "current_digest": "string",    "proposed_digest": "string",    "identical_configuration": true,    "scope": [      "P01"    ],    "assumptions": [      "string"    ],    "categories": [      {        "category": "string",        "totals": [          {            "currency": "string",            "scale": 0,            "records": 0,            "amount_minor": 0,            "current": {              "stopped": 0,              "stopped_amount_minor": 0,              "held": 0,              "blocked": 0            },            "proposed": {              "stopped": 0,              "stopped_amount_minor": 0,              "held": 0,              "blocked": 0            }          }        ]      }    ],    "false_holds": {      "basis": "held_without_exposure_finding",      "current": [        {          "currency": "string",          "scale": 0,          "count": 0,          "amount_minor": 0        }      ],      "proposed": [        {          "currency": "string",          "scale": 0,          "count": 0,          "amount_minor": 0        }      ]    },    "changes": [      {        "record_digest": "string",        "categories": [          "string"        ],        "currency": "string",        "amount_minor": 0,        "current": "PROCEED",        "proposed": "PROCEED"      }    ],    "coverage": {      "assessed": 0,      "replayed": 0,      "out_of_scope": 0,      "not_replayable": 0,      "record_limit": 0,      "change_limit": 0,      "changes_truncated": true,      "truncated": true,      "complete": true    },    "no_downstream_action_executed": true  }}