Skip to main content

Risk management webhooks

The risk_amount represents the outstanding balance of operations that have not yet been assigned — i.e., the open portfolio exposure that remains under risk and consumes the available limit (limit_amount) for new issuances. As operations are assigned or settled, they stop contributing to the risk_amount and free up limit for new disbursements.

Disbursement rule

If risk_amount + issue_amount > limit_amount, the operation will not be disbursed.

Enablement

Reach out to the QI Tech team so we can configure the delivery for you!

Risk update webhook

Sent periodically, every hour, with the update of the customer's accumulated risk value.

Response Body
{
"key": "b3a7e2c4-9d1f-4e8a-a456-2c3d4e5f6a7b",
"data": {
"risk_amount": 1500000,
"limit_amount": 9000000,
"reconciled_at": "2025-09-15T20:24:41"
},
"status": "completed",
"webhook_type": "risk_management.risk_updated",
"event_datetime": "2025-09-15T20:24:41Z"
}

Limit update webhook

Sent whenever the customer's debt issuance limit is updated.

Response Body
{
"key": "c4b8f3d5-0e2a-5f9b-b567-3d4e5f6a7b8c",
"data": {
"risk_amount": 0,
"limit_amount": 9000000,
"reconciled_at": "2025-09-15T18:03:54"
},
"status": "completed",
"webhook_type": "risk_management.limit_updated",
"event_datetime": "2025-09-15T18:03:54Z"
}

Definitions

Callback object

FieldTypeDescriptionRequired
event_datetimestringEvent date and time in ISO 8601 UTC formatYes
keystringUnique event keyYes
statusstringEvent statusYes
webhook_typestringWebhook type (risk_management.risk_updated or risk_management.limit_updated)Yes
dataobjectRisk management event-specific dataYes

Data object

FieldTypeDescriptionRequired
risk_amountnumberOutstanding balance of non-assigned operations — open portfolio exposure consuming the available limitYes
limit_amountnumberTotal limit available for issuing new debtsYes
reconciled_atstringDate and time of the last reconciliation in ISO 8601 formatYes