Overview
The Disbursements feature helps you pass on the actual cost of AML checks to your clients. It tracks AML unit usage and surfaces a disbursement value directly inside the First AML platform and via our Public API.
Disbursements are returned as part of the CaseInformation object in the disbursement field. The field is null if disbursements are not enabled for the case’s organization or office, or if no disbursement has been calculated yet.
How disbursements work
Checks that are run within First AML typically use units. The number of units used varies based on the type of check performed.
When Disbursements are enabled, First AML calculates:
- The total number of units a case has used to date.
- The disbursement amount associated with those units, based on your Disbursement settings.
- The time and date when disbursement information was last calculated.
Disbursements are calculated asynchronously and are typically updated every hour. This means a case may be completed before its final disbursement value is available.
Retrieving disbursements for a case
Use the caseDetails query and request the disbursement field on CaseInformation.
query CaseDetails($caseId: String!) {
caseDetails(caseId: $caseId) {
... on CaseInformation {
caseId
caseStatus
name
disbursement {
amount
calculatedAt
totalUnits
}
organization {
organizationId
name
offices {
key
name
}
}
}
... on ValidationErrors {
errors {
message
fieldPath
__typename
}
}
}
}
Example response:
{
"data": {
"caseDetails": {
"caseId": "13924",
"caseStatus": "COMPLETED",
"name": "Matter 13924",
"disbursement": {
"amount": 24.000000,
"calculatedAt": "2026-06-29T02:23:02.684Z",
"totalUnits": 2.000000
},
"organization": {
"organizationId": "82d1db19cd334af1aa2dda827589d927",
"name": "Organisation Name",
"offices": [
{
"key": "0a9658595d4143bea761851fde2e2b10",
"name": "Office Name"
}
]
}
}
}
}
Field reference
| Field | Type | Description |
|---|---|---|
amount |
Decimal! |
Represents the total disbursement amount for the case as at the calculatedAt timestamp. |
calculatedAt |
DateTime! |
The UTC timestamp of when disbursements were last calculated. |
totalUnits |
Decimal! |
Represents the number of units used for the case as at the calculatedAt timestamp. |
Handling changes after completion
Disbursement information can change after a case has been completed. For example, if checks are run and the case is immediately closed, disbursements may be calculated within roughly an hour of the case being closed.
Subscribe to the CaseDisbursementUpdated webhook to be notified when disbursements for a completed case are updated. Webhooks only fire for completed cases, which prevents your integration from receiving intermediate recalculations while a case is still open.
Example webhook payload:
{
"eventType": "CaseDisbursementUpdated",
"caseId": 12345,
"officeKey": "abc456789-3476-4cf6-8491-bdd1272cf01"
}
After receiving the webhook, query caseDetails for the case and read the latest disbursement value.