Hanzo AI

List payments

Returns the caller org's tax year as a PAYER: every payment it made to another org in that calendar year, on any rail, as the event plane records it, each classified — reportable or not, in which 1099 box, and the rule that decided it, with its source — and each payee's totals tested against the year's threshold.

GET /v1/tax/payments

Addresshttps://api.hanzo.ai/v1/tax/payments
MethodGET
Operationget_tax_payments
AuthAuthorization: Bearer $HANZO_API_KEY

Returns the caller org's tax year as a PAYER: every payment it made to another org in that calendar year, on any rail, as the event plane records it, each classified — reportable or not, in which 1099 box, and the rule that decided it, with its source — and each payee's totals tested against the year's threshold.

The rules applied: a payment settled by a card or a third-party settlement network is reported on Form 1099-K by the settlement entity, not here; a payment for merchandise is not reported; a payment to a corporation is generally not reported, except for legal services; a payment in a digital asset is reported at its fair market value on the date paid; a box is reported only at or above the year's threshold — 600through2025,600 through 2025, 2,000 for 2026 under P.L. 119-21, and not guessed for a year the IRS has not yet published. A payee's classification comes only from a W-9 it granted the caller; without one, nothing establishes an exemption.

Org admins only. It reads; it prepares nothing and files nothing.

Request

1 field.

FieldInTypeRequiredDescription
yearqueryinteger—Year is the calendar year the payments were made in, e.g. 2026.

Response

StatusBodyMeaning
200tax.Ledgerok
defaultproblem-detailsrefused

200 body — 35 fields.

FieldInTypeAlwaysDescription
payeesbodytax.PayeeYear[]—Payees is every org the caller paid, by org id.
payees[].categorybodystring—Category is what the payer states it bought from this payee; services when it has stated nothing.
payees[].linesbodytax.Line[]—Lines are the payments, oldest first.
payees[].lines[].amountCentsbodyinteger (int64)—AmountCents is its fair market value in U.S. dollars on the date paid, in cents — for a U.S. dollar payment, what was paid.
payees[].lines[].idbodystring—ID is the economic event's id.
payees[].lines[].memobodystring—Memo is what was bought, in the rail's words.
payees[].lines[].paidbodyinteger (int64)—Paid is when, unix seconds.
payees[].lines[].proofbodystring—Proof is the rail's own reference for the payment.
payees[].lines[].railbodystring—Rail is how it moved: x402, ledger, chain, ach, wire, card, network or other.
payees[].lines[].verdictbodytax.Verdict—
payees[].lines[].verdict.boxbodytax.Box—
payees[].lines[].verdict.box.boxbodystring—
payees[].lines[].verdict.box.kindbodystring—
payees[].lines[].verdict.box.labelbodystring—
payees[].lines[].verdict.reportablebodyboolean—
payees[].lines[].verdict.rulesbodytax.Rule[]—Rules are every rule that applied, in the order applied — the last one is the verdict's reason.
payees[].lines[].verdict.rules[].codebodystring—Code is the rule's stable name, for a caller that branches on it.
payees[].lines[].verdict.rules[].reasonbodystring—Reason is the rule, stated.
payees[].payeebodystring—Payee is the org paid.
payees[].totalsbodytax.Total[]—Totals are the reportable sums by box.
payees[].totals[].amountCentsbodyinteger (int64)—AmountCents is the reportable payments in this box, summed exactly and then rounded to cents.
payees[].totals[].boxbodytax.Box—
payees[].totals[].box.boxbodystring—
payees[].totals[].box.kindbodystring—
payees[].totals[].box.labelbodystring—
payees[].totals[].paymentsbodystring[]—Payments are the ids that sum into it.
payees[].totals[].reportablebodyboolean—Reportable is true when the total is at or above the threshold.
payees[].totals[].rulebodytax.Rule—
payees[].totals[].rule.codebodystring—Code is the rule's stable name, for a caller that branches on it.
payees[].totals[].rule.reasonbodystring—Reason is the rule, stated.
payees[].totals[].thresholdCentsbodyinteger (int64)—ThresholdCents is the year's threshold for this box.
payees[].w9bodystring—W9 is where the payer's W-9 request to this payee stands: none, requested, granted, declined or revoked.
sourcebodystring—Source names where the year's numbers were read.
thresholdCentsbodyinteger (int64)—ThresholdCents is the §6041(a) threshold for the year.
yearbodyinteger (int64)—Year is the tax year.

Failure carries the platform error shape — see Errors.

Examples

hanzo has no subcommand for this operation — the CLI serves only what cloud's live route table confirms. Use HTTP or an SDK.


Tax API · All Hanzo APIs · Interactive reference

How is this guide?

On this page