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