Xero API Directory

Xero is a leading cloud-based accounting software platform tailored for small and medium-sized businesses. It offers an extensive suite of financial management tools, including invoicing, bank reconciliation, expense tracking, and financial reporting. These features simplify the financial management process, allowing businesses to efficiently handle their finances. Additionally, Xero provides payroll management tools to streamline employee payments, tax calculations, and ensure compliance with local payroll regulations. Its inventory management capabilities enable businesses to track stock levels and manage product sales effectively.

One of Xero's standout features is its integration capabilities, particularly through the Xero API. This allows seamless connectivity with a wide range of third-party applications, such as payment processors, CRM systems, and e-commerce platforms, enhancing the software's functionality. The user-friendly interface and real-time data access make it easy for users to manage their business finances from anywhere. Xero's versatility and comprehensive features make it an invaluable tool for businesses looking to streamline their financial operations and gain insights into their financial health.

Key highlights of Xero APIs

  • Authentication: Utilizes OAuth 2.0 for secure authentication, ensuring that only authorized applications can access user data. Xero Developer
  • Data Formats: Communicates using JSON, making it compatible with a wide range of programming languages and platforms. Xero Developer
  • Comprehensive Documentation: Provides detailed guides and references to assist developers in effectively utilizing the API. Xero Developer
  • SDKs and Libraries: Offers official SDKs for Java and Python, along with community-supported libraries, to streamline the development process. GitHub
  • Xero API Endpoints

    Payments

    • POST /Payments/{PaymentID} : Delete Payment
    • PUT /payments : Apply Payments to Invoices, Credit Notes, Prepayments, or Overpayments
    • GET https://api.xero.com/api.xro/2.0/Payments : Retrieve Payments for Invoices and Credit Notes
    • PUT https://api.xero.com/api.xro/2.0/Payments/{Guid}/History : Add Notes to a Batch Payment

    Contacts

    • PUT https://api.example.com/contacts : Create Contact Records
    • POST https://api.xero.com/api.xro/2.0/Contacts : Create or Update Contacts
    • POST https://api.xero.com/api.xro/2.0/Contacts/{ContactID}/Attachments/{FileName} : Uploading an Attachment to a Contact in Xero
    • GET https://api.xero.com/api.xro/2.0/Contacts/{Guid}/History : Retrieving Contact History
    • GET https://api.xero.com/api.xro/2.0/contacts : GET Contacts

    Accounts

    • GET https://api.xero.com/api.xro/2.0/Accounts : GET Accounts
    • POST https://api.xero.com/api.xro/2.0/Accounts/{AccountID} : Archive Accounts
    • PUT https://api.xero.com/api.xro/2.0/Accounts/{account_id}/Attachments/{file_name} : Uploading an Attachment to an Account in Xero

    Bank Transactions

    • POST https://api.xero.com/api.xro/2.0/BankTransactions : Create or Update Bank Transactions
    • POST https://api.xero.com/api.xro/2.0/BankTransactions/{BankTransactionID} : Deleting Spend and Receive Money Transactions
    • GET https://api.xero.com/api.xro/2.0/BankTransactions/{Guid}/History : Retrieving History of Bank Transactions
    • POST https://api.xero.com/api.xro/2.0/BankTransactions/{bankTransactionID}/Attachments/{fileName} : Uploading an Attachment to a Bank Transaction

    Bank Transfers

    • GET https://api.xero.com/api.xro/2.0/BankTransfers : GET BankTransfers
    • POST https://api.xero.com/api.xro/2.0/BankTransfers/{bank_transfer_id}/Attachments/{file_name} : Uploading an Attachment to a Bank Transfer

    Batch Payments

    • POST https://api.xero.com/api.xro/2.0/BatchPayments : Update Batch Payment Status to DELETED

    Branding Themes

    • GET https://api.xero.com/api.xro/2.0/BrandingThemes : Get Branding Themes
    • POST https://api.xero.com/api.xro/2.0/BrandingThemes/{BrandingThemeID}/PaymentServices : Apply Payment Service to Branding Theme

    Contact Groups

    • POST https://api.xero.com/api.xro/2.0/ContactGroups : Create or Update Contact Groups
    • PUT https://api.xero.com/api.xro/2.0/ContactGroups/{ContactGroupID}/Contacts : PUT ContactGroups
    • DELETE https://api.xero.com/api.xro/2.0/ContactGroups/{ContactGroupID}/Contacts/{ContactID} : DELETE ContactGroups

    Credit Notes

    • GET https://api.xero.com/api.xro/2.0/CreditNotes : GET Credit Notes
    • PUT https://api.xero.com/api.xro/2.0/CreditNotes/{CreditNoteID}/Allocations : Creating and Allocating CreditNotes
    • DELETE https://api.xero.com/api.xro/2.0/CreditNotes/{CreditNoteID}/Allocations/{AllocationID} : Delete CreditNotes Allocations
    • POST https://api.xero.com/api.xro/2.0/CreditNotes/{CreditNoteID}/Attachments/{FileName} : Uploading an Attachment to a Credit Note
    • PUT https://api.xero.com/api.xro/2.0/CreditNotes/{Guid}/History : Add Notes to a Credit Note

    Currencies

    • GET https://api.xero.com/api.xro/2.0/Currencies : GET Currencies

    Employees

    • PUT https://api.example.com/employees/{employeeId} : PUT Employees API
    • POST https://api.xero.com/api.xro/2.0/Employees : Create or Update Employee Records

    Expense Claims

    • POST https://api.xero.com/api.xro/2.0/ExpenseClaims : Submit or Update Expense Claims
    • GET https://api.xero.com/api.xro/2.0/ExpenseClaims/{Guid}/History : Retrieving Expense Claim History

    Invoice Reminders

    • GET https://api.xero.com/api.xro/2.0/InvoiceReminders/Settings : Check Invoice Reminders Settings

    Invoices

    • POST https://api.xero.com/api.xro/2.0/Invoices : Create or Update Invoices
    • GET https://api.xero.com/api.xro/2.0/Invoices/{Guid}/History : Retrieve Invoice History
    • POST https://api.xero.com/api.xro/2.0/Invoices/{InvoiceID}/Attachments/{FileName} : Uploading an Attachment to an Invoice
    • POST https://api.xero.com/api.xro/2.0/Invoices/{InvoiceID}/Email : Email an Invoice via Xero API
    • GET https://api.xero.com/api.xro/2.0/Invoices/{InvoiceID}/OnlineInvoice : Retrieve Online Invoice URL

    Items

    • GET https://api.xero.com/api.xro/2.0/Items : GET Items
    • GET https://api.xero.com/api.xro/2.0/Items/{Guid}/History : Retrieving Item History
    • DELETE https://api.xero.com/api.xro/2.0/Items/{ItemID} : Delete Items

    Journals

    • GET https://api.xero.com/api.xro/2.0/Journals : GET Journals

    Linked Transactions

    • POST https://api.xero.com/api.xro/2.0/LinkedTransactions : Create or Update Linked Transactions
    • DELETE https://api.xero.com/api.xro/2.0/LinkedTransactions/{LinkedTransactionID} : Delete Linked Transaction

    Manual Journals

    • PUT https://api.example.com/manualjournals : Create New Manual Journals
    • POST https://api.xero.com/api.xro/2.0/ManualJournals : Create or Update Manual Journal
    • POST https://api.xero.com/api.xro/2.0/ManualJournals/{manualJournalID}/Attachments/{fileName} : Uploading an Attachment to a Manual Journal

    Organisation

    • GET https://api.xero.com/api.xro/2.0/Organisation : Get Organisation Details
    • GET https://api.xero.com/api.xro/2.0/Organisation/Actions : GET Organisation Actions
    • GET https://api.xero.com/api.xro/2.0/Organisation/{OrganisationID}/CISSettings : Retrieve CIS Settings for an Organisation

    Overpayments

    • GET https://api.xero.com/api.xro/2.0/Overpayments : GET Overpayments
    • PUT https://api.xero.com/api.xro/2.0/Overpayments/{Guid}/History : Add Notes to an Overpayment
    • PUT https://api.xero.com/api.xro/2.0/Overpayments/{OverpaymentID}/Allocations : Allocate Overpayment to Outstanding Invoices
    • DELETE https://api.xero.com/api.xro/2.0/Overpayments/{OverpaymentID}/Allocations/{AllocationID} : Deleting Overpayments Allocations

    Payment Services

    • GET https://api.xero.com/api.xro/2.0/PaymentServices : Get Payment Services

    Prepayments

    • GET https://api.xero.com/api.xro/2.0/Prepayments : Retrieve Prepayments
    • GET https://api.xero.com/api.xro/2.0/Prepayments/{Guid}/History : Retrieving Prepayment History
    • PUT https://api.xero.com/api.xro/2.0/Prepayments/{PrepaymentID}/Allocations : Allocate Prepayment to Outstanding Invoices
    • DELETE https://api.xero.com/api.xro/2.0/Prepayments/{PrepaymentID}/Allocations/{AllocationID} : Deleting Prepayments Allocations

    Purchase Orders

    • GET https://api.xero.com/api.xro/2.0/PurchaseOrders : Retrieve Purchase Orders
    • GET https://api.xero.com/api.xro/2.0/PurchaseOrders/{Guid}/History : Retrieve Purchase Order History

    Quotes

    • PUT https://api.example.com/quotes/{quoteId} : PUT Quotes API
    • GET https://api.xero.com/api.xro/2.0/Quotes : GET Quotes

    Receipts

    • PUT https://api.xero.com/api.xro/2.0/Receipts : PUT Receipts
    • PUT https://api.xero.com/api.xro/2.0/Receipts/{Guid}/History : Add Notes to a Receipt
    • POST https://api.xero.com/api.xro/2.0/Receipts/{receipt_id}/Attachments/{file_name} : Uploading a Receipt Image

    Repeating Invoices

    • POST https://api.xero.com/api.xro/2.0/RepeatingInvoices : Create or Delete Repeating Invoice Templates
    • GET https://api.xero.com/api.xro/2.0/RepeatingInvoices/{Guid}/History : Retrieving Repeating Invoice History

    Reports

    • GET https://api.xero.com/api.xro/2.0/Reports : Get GST Report
    • GET https://api.xero.com/api.xro/2.0/Reports/AgedPayablesByContact : Aged Payables By Contact
    • GET https://api.xero.com/api.xro/2.0/Reports/AgedReceivablesByContact : Aged Receivables By Contact
    • GET https://api.xero.com/api.xro/2.0/Reports/BalanceSheet : Balance Sheet Report API
    • GET https://api.xero.com/api.xro/2.0/Reports/BankSummary : Bank Summary Report
    • GET https://api.xero.com/api.xro/2.0/Reports/BudgetSummary : Budget Summary
    • GET https://api.xero.com/api.xro/2.0/Reports/ExecutiveSummary : Get Executive Summary Report
    • GET https://api.xero.com/api.xro/2.0/Reports/ProfitAndLoss : Profit and Loss Report
    • GET https://api.xero.com/api.xro/2.0/Reports/TenNinetyNine : 1099 Report Retrieval
    • GET https://api.xero.com/api.xro/2.0/Reports/TrialBalance : Get Trial Balance Report

    Tax Rates

    • POST https://api.xero.com/api.xro/2.0/TaxRates : Create or Update Tax Rate

    Tracking Categories

    • PUT https://api.xero.com/api.xro/2.0/TrackingCategories : Create Tracking Categories and Options
    • POST https://api.xero.com/api.xro/2.0/TrackingCategories/{TrackingCategoryID} : Update Tracking Categories and Options

    Users

    • GET https://api.xero.com/api.xro/2.0/Users : GET Users

    Budgets

    • GET https://api.xero.com/api.xro/2.0/budgets : GET Budgets

    Attachments

    • GET https://api.xero.com/api.xro/2.0/{Endpoint}/{Guid}/Attachments/ : GET Attachments
    • POST https://api.xero.com/api.xro/2.0/{Endpoint}/{Guid}/Attachments/{Filename} : Upload Attachments to Xero

    Document History

    • GET https://api.xero.com/api.xro/2.0/{Endpoint}/{Guid}/history : Get Document History

    Sample API

    • GET https://api.example.com/v1/resource : Sample API Documentation
    • POST https://api.example.com/v1/sample : Sample API

    Xero API FAQs

    1. How do I get started with the Xero API?
      • Answer: To begin using the Xero API, follow these steps:some text
        • Sign up for a free Xero account.
        • Enable the Xero demo company.
        • Add your OAuth 2.0 application by logging into Xero and navigating to the developer portal.
      • Source: Getting Started Guide — Xero Developer
    2. What authentication method does the Xero API use?
      • Answer: The Xero API utilizes OAuth 2.0 for authentication. You'll need to create an OAuth 2.0 app in the Xero developer portal to obtain the necessary credentials for API access.
      • Source: Frequently Asked Questions — Xero Developer
    3. Are there rate limits for the Xero API?
      • Answer: Yes, Xero enforces rate limits to ensure fair usage:some text
        • Minute Limit: 60 calls per minute.
        • Daily Limit: 5,000 calls per day.
        • Concurrent Requests: A maximum of 5 concurrent requests.
      • Source: Frequently Asked Questions — Xero Developer
    4. Can I retrieve invoices using the Xero API?
      • Answer: Yes, you can retrieve invoices by making a GET request to the /Invoices endpoint of the Accounting API. You can filter and sort invoices using various parameters to suit your needs.
      • Source: Accounting API Overview — Xero Developer
    5. Does the Xero API support webhooks?
      • Answer: Yes, Xero supports webhooks, allowing your application to receive real-time notifications about specific events, such as changes to invoices or contacts.
      • Source: Frequently Asked Questions — Xero Developer

    Get Started with Xero API Integration

    1. Create a Xero Account: If you don't have one, sign up for a Xero account.
    2. Register Your Application: Access the Xero Developer Center to create a new application, which will provide you with a Client ID and Client Secret necessary for authentication. Xero Developer
    3. Authenticate Using OAuth 2.0: Implement the OAuth 2.0 flow to obtain an access token, allowing your application to interact with the Xero API on behalf of users. Xero Developer
    4. Utilize SDKs and Libraries: Leverage available SDKs and libraries to simplify API integration within your application. GitHub GitHub
    5. Explore API Endpoints: Familiarize yourself with various API endpoints to perform operations such as creating invoices, managing contacts, and retrieving financial reports. Xero Developer

    Additional Resources:

    • API Explorer: Xero offers an API Explorer to facilitate testing and understanding of API endpoints. Xero Developer
    • Developer Community: Engage with the Xero developer community for support, insights, and updates related to the API. Xero Developer

    About Knit

    For quick and seamless integration with Xero API, Knit API offers a convenient solution. It’s AI powered integration platform allows you to build any Xero API Integration use case. By integrating with Knit just once, you can integrate with multiple other CRMs, HRIS, Accounting, and other systems in one go with a unified approach. Knit takes care of all the authentication, authorization, and ongoing integration maintenance. This approach not only saves time but also ensures a smooth and reliable connection to Xero API.‍

    To sign up for free, click here. To check the pricing, see our pricing page.

    #1 in Ease of Integrations

    Trusted by businesses to streamline and simplify integrations seamlessly with GetKnit.