Reconcile payouts
Use payouts as the business view of outgoing payments and account statements as the ledger view of the balance movements that fund them.
Confirmation creates a reservation, not a statement debit. The payout's
totalPayable is posted as a debit when settlement occurs. If the payout ends
before settlement, the reservation is released without becoming that settled
debit.
Use the partner context
| Resource | Retrieve through the authenticated partnership |
|---|---|
| Payout | GET /payouts/{payoutId} |
| Account statement | GET /accounts/{accountId}/statement |
Use only related resources returned to the same integration.
Retrieve the account statement
curl \
"https://partner-api.sandbox.axiym.io/api/v1/accounts/$ACCOUNT_ID/statement?from=2026-08-01&to=2026-08-31&first=100" \
--header "Authorization: Bearer $AXIYM_ACCESS_TOKEN"from and to are inclusive UTC dates. Follow pageInfo.endCursor while
hasNextPage is true.
The statement is self-checking:
openingBalance + totalCredited - totalDebited = closingBalanceJoin the records
Use each identifier for its intended purpose:
| Identifier | Purpose |
|---|---|
payoutId | Retrieve and identify the Axiym payout. |
clientReference | Join the payout to your business transaction. |
| Related resource ID on a statement entry | Join the posted ledger movement to the payout. |
Event id | De-duplicate one webhook event. |
X-Request-Id | Investigate one HTTP attempt. |
Idempotency-Key | Determine whether a state-changing request is new or a retry. |
Store these separately rather than reusing one identifier for all purposes.
Persist payoutId, accountId, clientReference, quote
terms, and the latest observed payout state when each payout is created. The
list-payouts endpoint can filter by account, client reference, or status, but it
does not provide an updated-time range filter.
Recommended reconciliation loop
- Select locally recorded payouts relevant to the statement period and any older payout that is still unresolved. If rebuilding local state, paginate through the payout list without assuming a time-range filter.
- Fetch any non-terminal or locally unresolved payout by
payoutId. - Retrieve every page of the funding account statement.
- Join payout-related debits using the related resource identifier.
- Compare the statement amount with the quote's
totalPayableand the payout record retained by your integration. - Escalate missing, duplicate, returned, or mismatched movements for operational review.
Run reconciliation even when webhooks appear healthy. It is the recovery path for notifications your system did not receive or process.
Checkpoint statement cursors or completed UTC date ranges only after every page has been processed. Keep the previous period available for replay so a failed job can resume without creating gaps.