Disbursements

How to retrieve case disbursement information through the Public API

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.


Documents
Webhooks