Record a release
record_releaseRecords the release of a material payment against the organisation's release policy, at the moment it is released: the map_id and measure_id on file, who released it, and any exception with its reason and approver. When an agent releases under a policy with agent_autonomy tiers, the record states the tier its amount falls in and the agent_approval on record for it. Returns a Release Evidence Record, appended to the organisation's hash chain and signed. It records; it never blocks, executes or moves money. A release with no map is still recorded, flagged as a policy miss. Needs the organisation's key.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| uetr | No | The payment's SWIFT UETR (UUID v4), optional: ties the record to the payment itself. | |
| amount | No | The released amount: { value, currency }. | |
| map_id | No | The Options Map (map_id) on file for this payment, if one was made. | |
| exception | No | Only when the release falls outside the policy: { reason, approved_by: { id, role } }. | |
| policy_id | Yes | The organisation's release policy the payment is released under, e.g. 'pol_...'. | |
| measure_id | No | The Measure (msr_...) on file for this payment, if one was made. | |
| intent_hash | No | The intent_hash from compile_intent, so the record proves the map matches this payment. | |
| payment_ref | Yes | Your internal payment reference, never an account number. | |
| released_at | No | ISO timestamp; defaults to now. | |
| released_by | Yes | Who released the payment: { type: human | system | agent, id }. | |
| agent_approval | No | Agent releases only: { id, role } of the person who signed off a release above the policy's agent_autonomy.release_up_to. The role is the policy's agent_autonomy.approver_role. |