Returns the payments that match the given filters.

POST /accounting/payments/search

Group: Accounting › Payments · Operation ID: searchPayment

Open in the interactive reference

Parameters

Name In Type Required Description
Api-Version header "v1" yes The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version v1.

Request body

Required, application/json: searchPaymentInput.

Field Type Required Description
filters object no The filters to apply. A payment must match every filter you send. Omit to return all payments.
filters.id string no Limits results to the payment with this identifier.
filters.paymentNumber string no Limits results to the payment with this payment number.
filters.paymentType string no Limits results to payments tendered this way. Possible values: 'check', 'ach', 'wire', 'creditCard', 'directDebit', 'sepaCreditTransfer'. Any other value matches no payment.
filters.customerPaymentStatus string no Limits results to payments in this lifecycle status. Possible values: 'unapplied', 'partiallyApplied', 'appliedInFull', 'partiallyRefunded', 'refunded', 'disputed', 'chargedBack'. Any other value matches no payment.
filters.disputeStatus string no Limits results to payments in this dispute state. Possible values: 'disputed', 'chargedBack'. Any other value matches no payment.
filters.paymentReference string no Limits results to payments with this payer-supplied reference.
filters.customerId string no Limits results to payments from this customer. See id on GET accounting/customers/:id.
filters.entityId string no Limits results to payments received by this legal entity. See id on GET base/entities.
filters.paymentDate object no Limits results to payments whose paymentDate falls in this range. Both bounds are inclusive. Omit either bound to leave that side open.
filters.paymentDate.start string (date) no The earliest paymentDate to include, inclusive. Format YYYY-MM-DD.
filters.paymentDate.end string (date) no The latest paymentDate to include, inclusive. Format YYYY-MM-DD.
page object no The pagination controls. Omit for the first page.
page.cursor string no The cursor from the previous response's pagination.nextCursor. Omit for the first page.
page.size number no The number of payments per page. Defaults to 50. A value above 200 is treated as 200, not rejected.

Example:

{
  "filters": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "paymentNumber": "<paymentNumber>",
    "paymentType": "<paymentType>",
    "customerPaymentStatus": "<customerPaymentStatus>",
    "disputeStatus": "<disputeStatus>",
    "paymentReference": "<paymentReference>",
    "customerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "entityId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "paymentDate": {
      "start": "2026-01-15",
      "end": "2026-01-15"
    }
  },
  "page": {
    "cursor": "<cursor>",
    "size": 0
  }
}

Response

200 Success

Under data (searchPaymentOutput):

Field Type Required Description
items array of object yes The payments that match, most recently created first. An empty array when nothing matches.
items[].id string yes The unique identifier for the payment.
items[].paymentNumber string no The payment number, unique within the tenant. A human-readable reference used for reconciliation.
items[].paymentDate string (date) yes The date the payment was made. Format YYYY-MM-DD.
items[].paymentType string yes The payment method. Possible values: 'check', 'ach', 'wire', 'creditCard', 'directDebit', 'sepaCreditTransfer'.
items[].currency string yes The currency the customer paid in. Every amount on the payment is in this currency. Format ISO 4217, for example 'USD'.
items[].paymentAccountCurrency string no The currency of the bank account the payment was received into. Present only when it differs from the payment currency. Format ISO 4217, for example 'USD'.
items[].amount string (decimal) no The amount paid, in the payment currency.
items[].appliedAmount string (decimal) no The portion already applied to invoices, in the payment currency. The sum of the payment's applications.
items[].unappliedAmount string (decimal) no The portion not yet applied to any invoice, in the payment currency. unappliedAmount = amount - appliedAmount - refundAmount.
items[].refundAmount string (decimal) no The portion refunded through approved refunds, in the payment currency.
items[].bankFeeAmount string (decimal) no The bank fee deducted from the payment, in the payment currency.
items[].smallBalanceWriteOffAmount string (decimal) no The total written off as a small residual balance across the payment's applications, in the payment currency.
items[].totalEarlyPaymentDiscount string (decimal) no The total early-payment discount granted across the payment's applications, in the payment currency.
items[].exchangeRate string (decimal) no The rate used to convert the payment currency to the entity's functional currency. A ratio, not an amount, with no currency of its own.
items[].customerPaymentStatus string no The derived lifecycle status of the payment. Possible values: 'unapplied', 'partiallyApplied', 'appliedInFull', 'partiallyRefunded', 'refunded', 'disputed', 'chargedBack'.
items[].disputeStatus string no The dispute state of the payment. Possible values: 'disputed', 'chargedBack'. Absent on an undisputed payment.
items[].paymentReference string no The reference the payer supplied with the payment, for example a remittance or wire reference. Absent when none was supplied.
items[].paymentNote string no A free-form note recorded on the payment. Absent when none was set.
items[].customerId string no The customer the payment came from. See id on GET accounting/customers/:id.
items[].customerName string no The name of the customer the payment came from.
items[].thirdPartyPayerId string no The customer who actually paid, when a third party paid on the invoiced customer's behalf. Absent when the invoiced customer paid. See id on GET accounting/customers/:id.
items[].entityId string no The legal entity that received the payment. See id on GET base/entities.
items[].accountId string no The ledger account the payment was posted to. See id on GET accounting/accounts/:id.
items[].accountName string no The name of the ledger account the payment was posted to.
items[].lastModifiedDate string (date-time) yes The date and time the payment last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ.
pagination object yes The pagination cursor for this page.
pagination.nextCursor string no The cursor for the next page. Pass it as page.cursor. Absent on the last page.
pagination.hasMore boolean yes True when more matches remain beyond this page.

Statuses