List payouts
/payoutscurl -X GET https://api.tst.au.apgpay.dev/payouts \
-H "Authorization: Bearer $API_KEY"Return a page of payouts. Filter by reference to answer a question about a bank statement line. composition is not populated on a page. The filters combine with each other and with q by AND. GET /filter-catalogues/payouts lists those this caller can use. A cursor continues only the walk that issued it: sent with different filters, q or sort, it is refused with 400. One issued before the list named its walks resumes as it did.
Permissions
merchantFinancials:queryRequires the `query` action on `merchantFinancials` for the supplied runtime context
Query parameters
qstringSearch. Matches a payout id, the reference payout id, the statement descriptor or the narrative. An id, an email address, a phone number and any value listed as matched exactly match exactly; any other term matches without regard to case from the start of a value (or of any word in it, beside a longer word of the term), or anywhere in it from three characters, every word of it somewhere; a term that matches nothing so is read again with typos tolerated. Closest matches come first unless sort is given.
pageinteger (int32)Offset pagination: 1-based page number. Mutually exclusive with the cursor parameters.
startingAfterstringCursor pagination, moving forward: the id of the last item on the current page. Mutually exclusive with page.
endingBeforestringCursor pagination, moving backward: the id of the first item on the current page. Mutually exclusive with page.
limitinteger (int32)Maximum items per page.
sortarray of PayoutSortFields to sort by, comma-delimited, in priority order. Prefix a field with - for descending.
columnsarray of PayoutColumnColumns to include, in order, when asking for text/csv. Omit for all of them. Sending it with application/json is a 400.
statusone of PayoutStatus, array of PayoutStatusOnly payouts whose status is one of these. Repeat the parameter to give several.
payoutIdone of array of string, stringOnly payouts whose payout is one of these. Repeat the parameter to give several.
merchantIdone of array of string, stringOnly payouts whose merchant is one of these. Repeat the parameter to give several.
marketplaceIdone of array of string, stringOnly payouts whose marketplace is one of these. Repeat the parameter to give several.
enterpriseIdone of array of string, stringOnly payouts whose enterprise is one of these. Repeat the parameter to give several.
referenceone of array of string, stringOnly payouts whose reference is one of these. Repeat the parameter to give several.
disbursementIdone of array of string, stringOnly payouts whose disbursement is one of these. Repeat the parameter to give several.
currencyone of IsoCurrency, array of IsoCurrencyOnly payouts whose currency is one of these. Repeat the parameter to give several.
amountFrominteger (int64)Only payouts whose amount, in minor units of currency, is at least this.
amountTointeger (int64)Only payouts whose amount, in minor units of currency, is at most this.
settlingFromstring (date)Only payouts whose settlement date is at or after this ISO-8601 date.
settlingTostring (date)Only payouts whose settlement date is at or before this ISO-8601 date.
createdAfterstring (date-time)Only payouts whose creation time is at or after this ISO-8601 timestamp.
createdBeforestring (date-time)Only payouts whose creation time is before, and not at, this ISO-8601 timestamp.
Responses
The response is a tagged shape: type is always "PayoutPageAttributes". Switch on it; subtypes can be added, and a client that already reads it will not break.
typetype = "PayoutPageAttributes"typeenumrequiredPayoutViewAttributespayoutIdPayoutIdrequiredIdentifier of a payout.
Example payout_9f2Kd8QpLzXw
referencestringThe reference the merchant sees, and the one that appears against the deposit. Set once the payout is raised.
Example your-own-reference
merchantIdMchtIdrequiredIdentifier of a merchant.
Example mcht_9f2Kd8QpLzXw
marketplaceIdMktpIdThe marketplace that merchant trades under, where it does.
Example mktp_9f2Kd8QpLzXw
enterpriseIdEntIdrequiredIdentifier of an enterprise.
Example ent_9f2Kd8QpLzXw
statusPayoutStatusrequiredWhere the payout is up to. This is the external status: a payout being retried reads as InTransit, not Pending.
CreatedPendingInTransitPaidCanceledFailedReversedSuspendedUnknownWhat the payout moved, and the merchant's balance either side of it. All in the single currency given here.
typeenumrequiredPayoutAmountsAttributescurrencyIsoCurrencyrequiredAFNDZDARSAMDAWGAUDAZNBSDBHDTHB+156 moreShow fewer
PAB, BBD, BYR, BZD, BMD, VEF, BOB, BRL, BND, BGN, BIF, CAD, CVE, KYD, XOF, XAF, XPF, CLP, COP, KMF, CDF, BAM, NIO, CRC, HRK, CUP, CZK, GMD, DKK, MKD, DJF, STD, DOP, VND, XCD, EGP, SVC, ETB, EUR, FKP, FJD, HUF, GHS, GIP, HTG, PYG, GNF, GYD, HKD, UAH, ISK, INR, IRR, IQD, JMD, JOD, KES, PGK, LAK, KWD, MWK, AOA, MMK, GEL, LBP, ALL, HNL, SLL, LRD, LYD, SZL, LSL, MGA, MYR, MUR, MXN, MXV, MDL, MAD, MZN, BOV, NGN, ERN, NAD, NPR, ANG, ILS, TWD, NZD, BTN, KPW, NOK, PEN, MRU, PKR, MOP, TOP, CUC, UYU, PHP, GBP, BWP, QAR, GTQ, ZAR, OMR, KHR, RON, MVR, IDR, RUB, RWF, SHP, SAR, RSD, SCR, SGD, SBD, KGS, SOS, TJS, SSP, LKR, SDG, SRD, SEK, CHF, SYP, BDT, WST, TZS, KZT, TTD, MNT, TND, TRY, TMT, AED, UGX, COU, CLF, UYI, USD, USN, USS, UZS, VUV, CHE, CHW, KRW, YER, JPY, CNY, ZMW, ZWL, PLN
amountMinorUnitsrequiredWhat was paid out. May be negative where the payout is a reversal.
Example 1250
openingBalanceMinorUnitsrequiredThe merchant's balance before this payout.
Example 1250
closingBalanceMinorUnitsrequiredThe merchant's balance after it.
Example 1250
entryCountinteger (int64)requiredHow many journal entries were rolled into this payout, excluding the payout entry itself.
Example 42
When and how the payout settles.
typeenumrequiredPayoutSettlementAttributessettlementTypeMchtSettlementTyperequiredWhether platform fees are netted off each payout or invoiced separately.
NetGrossUnknownfacilitationPayoutFacilitationrequiredWho facilitates the payment, the platform's own funds flow, or a connected gateway account.
AbacusStripeConnectUnknownsettlementDatestring (date)The date the platform marked this payout ready to disburse. Not the same as a clearance date.
Example 2026-08-19
arrivedAtstring (date-time)When the destination bank acknowledged the funds. Absent until the payout clears.
Example 2026-08-19T04:21:07Z
Whether the platform raised this payout on a schedule or someone asked for it.
typeSomeone asked for this payout.
issuedBystringWho asked, as the platform recorded it.
The platform raised this payout on the merchant's schedule.
sequenceinteger (int64)The merchant's payout number, counting up. Absent on the very first payouts of a migrated merchant.
Example 1250
How the payment carrying this payout is going, or went.
typeenumrequiredPayoutDisbursementAttributesdisbursementIdPayoutDisbIdThe payment instruction the destination bank knows this payout by. Absent until one is issued.
Example disb_9f2Kd8QpLzXw
gatewayPayoutGatewayWhich provider is carrying it.
StripeConnectAuStripeConnectNzBnzSftpZeptoWestpacManualUnknownpriorityinteger (int32)Higher goes first when the platform batches. Set for scheduled payouts only.
Example 10
channelPayoutChannelThe channel actually used, once chosen.
DirectEntryNppUnknownrequestedChannelsarray of PayoutChannelThe channels the payout was raised asking for, in preference order.
DirectEntryNppUnknownrequiredbooleanrequiredWhether the platform issues the payment. false means the money moves outside the platform, so no instruction is ever issued.
Example true
Every attempt, in order. Empty until the first is made.
typeThe destination bank acknowledged the funds.
disbursementIdPayoutDisbIdrequiredIdentifier of a disbursement, the payment instruction carrying a payout.
Example disb_9f2Kd8QpLzXw
atstring (date-time)requiredExample 2026-08-19T04:21:07Z
The payment failed. The reason says whether the account can be used again.
disbursementIdPayoutDisbIdrequiredIdentifier of a disbursement, the payment instruction carrying a payout.
Example disb_9f2Kd8QpLzXw
gatewayPayoutGatewayWhich provider it failed on.
StripeConnectAuStripeConnectNzBnzSftpZeptoWestpacManualUnknownpriorityinteger (int32)requiredThe priority it was attempted at.
Example 10
externalAccountIdXaccIdThe account it was attempted to.
Example xacc_9f2Kd8QpLzXw
typeThe destination account has been closed.
detailstringrequiredpermanentbooleanrequiredExample true
The destination account does not exist.
detailstringrequiredpermanentbooleanrequiredExample true
The source account did not have the funds. Worth retrying.
detailstringrequiredpermanentbooleanrequiredExample true
The BSB is not a valid one.
detailstringrequiredpermanentbooleanrequiredExample true
The provider gave a reason the platform does not recognise. code and title are its own words.
codestringtitlestringdetailstringrequiredpermanentbooleanrequiredExample true
atstring (date-time)requiredExample 2026-08-19T04:21:07Z
A payment instruction was issued.
disbursementIdPayoutDisbIdrequiredIdentifier of a disbursement, the payment instruction carrying a payout.
Example disb_9f2Kd8QpLzXw
atstring (date-time)requiredExample 2026-08-19T04:21:07Z
A cleared payment was pulled back.
atstring (date-time)requiredExample 2026-08-19T04:21:07Z
externalAccountIdXaccIdThe bank account the payout was sent to. Absent where the payout is not disbursed by the platform.
Example xacc_9f2Kd8QpLzXw
Which stretch of the merchant's ledger this payout cleared. This is what makes a payout reproducible from the books.
typeenumrequiredPayoutLedgerClearanceAttributessystemLedgerIdstringrequiredThe ledger that was cleared to produce this payout.
firstSequenceinteger (int64)requiredSequence of the first ledger entry included.
Example 1250
lastSequenceinteger (int64)requiredSequence of the last ledger entry included.
Example 1250
statementDescriptorstringWhat the merchant asked to appear on the recipient's bank statement.
Example ADA COFFEE
narrativestringInternal notes on what the payout contains. Operational, not merchant-facing.
What the payout is made of, by entry type. Present on a by-id read; a page of payouts is not rolled up.
typeenumrequiredPayoutCompositionAttributescurrencyIsoCurrencyrequiredAFNDZDARSAMDAWGAUDAZNBSDBHDTHB+156 moreShow fewer
PAB, BBD, BYR, BZD, BMD, VEF, BOB, BRL, BND, BGN, BIF, CAD, CVE, KYD, XOF, XAF, XPF, CLP, COP, KMF, CDF, BAM, NIO, CRC, HRK, CUP, CZK, GMD, DKK, MKD, DJF, STD, DOP, VND, XCD, EGP, SVC, ETB, EUR, FKP, FJD, HUF, GHS, GIP, HTG, PYG, GNF, GYD, HKD, UAH, ISK, INR, IRR, IQD, JMD, JOD, KES, PGK, LAK, KWD, MWK, AOA, MMK, GEL, LBP, ALL, HNL, SLL, LRD, LYD, SZL, LSL, MGA, MYR, MUR, MXN, MXV, MDL, MAD, MZN, BOV, NGN, ERN, NAD, NPR, ANG, ILS, TWD, NZD, BTN, KPW, NOK, PEN, MRU, PKR, MOP, TOP, CUC, UYU, PHP, GBP, BWP, QAR, GTQ, ZAR, OMR, KHR, RON, MVR, IDR, RUB, RWF, SHP, SAR, RSD, SCR, SGD, SBD, KGS, SOS, TJS, SSP, LKR, SDG, SRD, SEK, CHF, SYP, BDT, WST, TZS, KZT, TTD, MNT, TND, TRY, TMT, AED, UGX, COU, CLF, UYI, USD, USN, USS, UZS, VUV, CHE, CHW, KRW, YER, JPY, CNY, ZMW, ZWL, PLN
Entries that cleared out of the merchant's journal into this payout.
typeenumrequiredPayoutEntrySummaryAttributesentryTypestringrequiredWhat kind of movement, the platform's own vocabulary, which grows.
countinteger (int64)requiredHow many entries of this kind.
Example 42
amountMinorUnitsrequiredTheir net contribution, credits less debits, in the composition's currency. Negative for fees and deductions.
Example 1250
Entries added straight to the ledger, reversals and manual transfers, which never pass through a journal.
typeenumrequiredPayoutEntrySummaryAttributesentryTypestringrequiredWhat kind of movement, the platform's own vocabulary, which grows.
countinteger (int64)requiredHow many entries of this kind.
Example 42
amountMinorUnitsrequiredTheir net contribution, credits less debits, in the composition's currency. Negative for fees and deductions.
Example 1250
createdAtstring (date-time)requiredExample 2026-08-19T04:21:07Z
updatedAtstring (date-time)requiredExample 2026-08-19T04:21:07Z
hasMorebooleanrequiredWhether further items exist after this page.
Example true
nextStartingAfterstringId to pass as startingAfter to fetch the next page. Present in cursor mode only.
totalCountinteger (int64)Total items matching the query.
Example 42
pageinteger (int32)The 1-based page returned. Present in offset mode only.
Example 1250
totalPagesinteger (int32)Total pages available. Present in offset mode only.
Example 1250
{
"type": "PayoutPageAttributes",
"data": [
{
"type": "PayoutViewAttributes",
"payoutId": "payout_9f2Kd8QpLzXw",
"reference": "your-own-reference",
"merchantId": "mcht_9f2Kd8QpLzXw",
"marketplaceId": "mktp_9f2Kd8QpLzXw",
"enterpriseId": "ent_9f2Kd8QpLzXw",
"status": "Created",
"amounts": {
"type": "PayoutAmountsAttributes",
"currency": "AUD",
"amount": 1250,
"openingBalance": 1250,
"closingBalance": 1250
},
"entryCount": 42,
"settlement": {
"type": "PayoutSettlementAttributes",
"settlementType": "Net",
"facilitation": "Abacus",
"settlementDate": "2026-08-19",
"arrivedAt": "2026-08-19T04:21:07Z"
},
"origin": {
"type": "PayoutOriginManual",
"issuedBy": "string"
},
"disbursement": {
"type": "PayoutDisbursementAttributes",
"disbursementId": "disb_9f2Kd8QpLzXw",
"gateway": "StripeConnectAu",
"priority": 10,
"channel": "DirectEntry",
"requestedChannels": [
"DirectEntry"
],
"required": true,
"attempts": [
{
"type": "PayoutAttemptCleared",
"disbursementId": "disb_9f2Kd8QpLzXw",
"at": "2026-08-19T04:21:07Z"
}
]
},
"externalAccountId": "xacc_9f2Kd8QpLzXw",
"ledgerClearance": {
"type": "PayoutLedgerClearanceAttributes",
"systemLedgerId": "string",
"firstSequence": 1250,
"lastSequence": 1250
},
"statementDescriptor": "ADA COFFEE",
"narrative": "string",
"composition": {
"type": "PayoutCompositionAttributes",
"currency": "AUD",
"journalEntries": [
{
"type": "PayoutEntrySummaryAttributes",
"entryType": "string",
"count": 42,
"amount": 1250
}
],
"ledgerEntries": [
{
"type": "PayoutEntrySummaryAttributes",
"entryType": "string",
"count": 42,
"amount": 1250
}
]
},
"createdAt": "2026-08-19T04:21:07Z",
"updatedAt": "2026-08-19T04:21:07Z"
}
],
"hasMore": true,
"nextStartingAfter": "string",
"totalCount": 42,
"page": 1250,
"totalPages": 1250
}Error responses
statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}statusCodeinteger (int32)requiredHTTP status code for this error
errorCodestringrequiredAn APG Pay code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type.
messagestringrequiredHuman readable description of the error
tracerstringAn unique identifier for the request. Provide this to the support team if you wish to query a particular error.
detailstringOptional additional details for the error.
errorTypeDescriptionstringA description of the category of errors for the given statusCode.
metadataobjectOptional key value list of metadata
{
"statusCode": 100,
"errorCode": "string",
"message": "string",
"tracer": "string",
"detail": "string",
"errorTypeDescription": "string"
}