---
title: "Bulk Disbursement Integrity"
method: POST
path: "/v1/tools/attest_bulk_disbursement_integrity"
tags: ["TODO_TAGS_REVIEW", "TODO_AP2_EXPORT_REVIEW"]
---

# Bulk Disbursement Integrity

`POST /v1/tools/attest_bulk_disbursement_integrity`

## Request

- Base URL: `https://ainumbers.co`
- URL: `https://ainumbers.co/v1/tools/attest_bulk_disbursement_integrity`
- Auth: none declared

Attests that a bulk payment run -- salaries, pensions, social transfers, vendor payments -- is internally consistent and matches its authorization. Reconciles per-payee records against the authorized control total in both count and value, surfaces duplicate-candidate clusters by a caller-supplied opaque key, reports payee roster movement against the prior run, and flags limit breaches including split-payment candidates (multiple sub-limit payments to one payee ref summing past a declared limit) and destination-tier cap breaches (a payment authorized and funded but unable to land because the destination wallet is at its KYC-tier balance cap). Duplicate, split, and cap-breach flags are candidates for review, never findings of fraud or misconduct. Region-portable: every fact is a caller-declared input, with no country, currency, or scheme hardcoded. Deterministic arithmetic only. Zero network, zero PII -- payee is an opaque ref plus an amount and a rail.

**Tool URL:** https://ainumbers.co/chaingraph/art-518-bulk-disbursement-integrity.html

## Request body

- object
  - `as_of` unknown, required
  - `authorized_control_total` unknown, required
  - `currency` string, required
  - `declared_exclusions` unknown[], required
    - unknown
  - `duplicate_key_commitment_scheme` string, required
  - `payee_records` unknown[], required
    - unknown
  - `per_payee_limit_minor_units` unknown, required
  - `per_run_limit_minor_units` unknown, required
  - `prior_run_payee_refs` unknown[], required
    - unknown
  - `run_reference` string, required

## Response `200`

Successful tool execution result

- object
  - `absent_this_run` unknown[]
    - unknown
  - `as_of` string
  - `authorized_payee_count` integer
  - `authorized_total_display` string
  - `authorized_total_minor_units` integer
  - `control_total_reconciled` boolean
  - `count_break` integer
  - `currency` string
  - `declared_exclusions` unknown[]
    - unknown
  - `destination_cap_breaches` unknown[]
    - unknown
  - `duplicate_candidate_cluster_count` integer
  - `duplicate_candidate_clusters` unknown[]
    - unknown
  - `has_destination_cap_breach` boolean
  - `has_limit_breach` boolean
  - `has_roster_movement` boolean
  - `limit_breaches` unknown[]
    - unknown
  - `new_this_run` unknown[]
    - unknown
  - `note` string
  - `per_payee_limit_minor_units` integer
  - `per_run_limit_breach` string
  - `per_run_limit_minor_units` integer
  - `prior_run_payee_count` integer
  - `rationale` string[]
  - `reconciled_record_count` integer
  - `reconciled_total_display` string
  - `reconciled_total_minor_units` integer
  - `rejected_inputs` unknown[]
    - unknown
  - `roster_movement_verifiable` boolean
  - `run_reference` string
  - `split_payment_candidates` unknown[]
    - unknown
  - `value_break_display` string
  - `value_break_minor_units` integer

---

[API](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite.md) · [All operations](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/llms.txt) · [OpenAPI document](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/revisions/b462e4f5bb28?raw)
