Authenticate with OAuth 2.0 and obtain the tenantId for the target Xero organization.
GET https://api.xero.com/api.xro/2.0/BankTransactions with the Xero-Tenant-Id header to retrieve bank transactions; use query parameters like Where and order to filter and page results.
To retrieve bank statement lines (unreconciled items), GET https://api.xero.com/api.xro/2.0/BankStatements; these represent imported bank feed lines awaiting matching.
Check the IsReconciled field on each BankTransaction to determine reconciliation status; reconciled transactions are linked to an invoice or payment.
To fetch reconciliation reports, use the GET https://api.xero.com/api.xro/2.0/Reports/BankSummary endpoint with FromDate and ToDate parameters.
Use the ModifiedAfter header (If-Modified-Since format) on repeated polls to retrieve only records changed since your last sync.
Known gotchas
Xero paginates large result sets; check for the presence of a next page by inspecting response metadata, and iterate using the page query parameter.
Bank feed transactions created by connected bank feeds are read-only; attempts to update them via the API return an error.
The BankTransactions endpoint returns both spend and receive money transactions; filter by Type (SPEND or RECEIVE) if you need to separate them.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp