Authenticate with OAuth 2.0 and include the 'accounting.settings' scope to manage chart of accounts
GET /api.xro/2.0/Accounts to retrieve the existing account list; filter by ?Type=REVENUE or other types to narrow results
POST /api.xro/2.0/Accounts with a body containing 'Code', 'Name', 'Type' (REVENUE, EXPENSE, ASSET, LIABILITY, EQUITY), and optionally 'TaxType' and 'Description'
Account codes must be unique within a Xero organisation; check for conflicts before creating
To update an account POST /api.xro/2.0/Accounts/{AccountID} with the changed fields
Archive (not delete) an account by setting 'Status': 'ARCHIVED' in an update call; accounts with transactions cannot be deleted
Known gotchas
Some system-managed accounts (e.g., accounts receivable, accounts payable control accounts) cannot be modified or deleted via the API
Tax types available for an account depend on the organisation's country and tax configuration; supplying an invalid TaxType returns a validation error
Account codes are strings, not integers, even when they look numeric; preserve leading zeros if present
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