Xero API Integration
These are the list of integration use cases supported by Knit for Xero API as part of the ACCOUNTING category
Create accounts payable invoice
ID
: create_accounts_payable_invoiceOperation
: writeEntities
: invoice, line item, contactSummary
: This API endpoint allows you to create or update invoices in the Xero accounting system. You can specify various details about the invoice, such as the type (ACCREC or ACCPAY), contact information, dates, line items, and more. The API supports optional parameters for currency, branding, and tracking categories. You can also specify the status of the invoice, such as DRAFT, SUBMITTED, or AUTHORISED. The response includes the status of each invoice and any validation errors that may have occurred. This API is useful for managing invoices programmatically, including creating new invoices, updating existing ones, and handling invoice status changes.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create bank account
ID
: create_bank_accountOperation
: writeEntities
: bank account, accountSummary
: This API is used to create or update accounts in the Xero system. It requires the 'Code', 'Name', and 'Type' fields for creating new accounts. Additional optional fields include 'Status', 'Description', 'BankAccountNumber', 'BankAccountType', 'CurrencyCode', 'TaxType', 'EnablePaymentsToAccount', 'ShowInExpenseClaims', and 'AddToWatchlist'. The API returns details of the created or updated account, including its unique 'AccountID', 'Code', 'Name', 'Type', and other optional fields if provided.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create vendor contact
ID
: create_vendor_contactOperation
: writeEntities
: contact person, address, contactSummary
: This API allows you to create or update one or more contact records in Xero. When updating a contact, you don't need to specify every element; existing values will be preserved if elements are excluded. The required field for creating a contact is 'Name'. Optional fields include 'ContactID', 'ContactNumber', 'AccountNumber', 'ContactStatus', 'FirstName', 'LastName', 'CompanyNumber', 'EmailAddress', 'BankAccountDetails', 'TaxNumber', 'AccountsReceivableTaxType', 'AccountsPayableTaxType', 'Addresses', 'Phones', 'DefaultCurrency', 'XeroNetworkKey', 'SalesDefaultAccountCode', 'PurchasesDefaultAccountCode', 'SalesTrackingCategories', 'PurchasesTrackingCategories', 'TrackingCategoryName', 'TrackingOptionName', and 'PaymentTerms'. The API returns the created or updated contact details, including 'ContactID', 'Name', and 'ContactStatus'.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create vendor payment
ID
: create_vendor_paymentOperation
: writeEntities
: payment, invoice, credit noteSummary
: This API is used to apply payments to approved AR and AP invoices or refund AR or AP credit notes. It allows you to specify the invoice, credit note, prepayment, or overpayment to which the payment is being applied, along with the account details, date, amount, and optional reference. The API supports multiple payment applications and can handle different scenarios such as credit note refunds, prepayment refunds, and overpayment refunds. It also allows for the creation of reconciled payments. The response includes the payment ID and status after processing.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete Accounts
ID
: delete_accountsOperation
: writeEntities
: accountSummary
: The Delete Accounts API allows for the deletion of non-system accounts and accounts not used in transactions. If an account cannot be deleted, its status can be updated to ARCHIVED. The API requires the AccountID as a path parameter and uses OAuth 2.0 for authentication. The response includes the status and a message indicating the result of the delete operation.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete accounts payable invoice
ID
: delete_accounts_payable_invoiceOperation
: writeEntities
: accounts, invoiceSummary
: The Delete accounts receivable invoice API allows you to delete an invoice by specifying its invoice number. The request requires an OAuth 2.0 token for authorization and the content type must be 'application/json'. The body of the request must include the 'InvoiceNumber' of the invoice to be deleted and optionally the 'Status', which defaults to 'DELETED'. The response will return the 'InvoiceNumber' and 'Status' of the deleted invoice.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete accounts receivable invoice
ID
: delete_accounts_receivable_invoiceOperation
: writeEntities
: accounts, invoiceSummary
: The Delete accounts receivable invoice API allows you to delete an invoice by specifying its invoice number. The request requires an OAuth 2.0 token for authorization and the content type must be 'application/json'. The body of the request must include the 'InvoiceNumber' of the invoice to be deleted and optionally the 'Status', which defaults to 'DELETED'. The response will return the 'InvoiceNumber' and 'Status' of the deleted invoice.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete delete account
ID
: delete_bank_accountOperation
: writeEntities
: accountSummary
: The Delete Accounts API allows for the deletion of non-system accounts and accounts not used in transactions. If an account cannot be deleted, its status can be updated to ARCHIVED. The API requires the AccountID as a path parameter and uses OAuth 2.0 for authentication. The response includes the status and a message indicating the result of the delete operation.Input Fields
: Input FieldsOutput Fields
: Output Fields
DELETE ContactGroups
ID
: delete_contactgroupsOperation
: writeEntities
: contact group, contactSummary
: The DELETE ContactGroups API is used to remove a contact from a contact group or remove all contacts from a contact group. To remove a specific contact, provide both the ContactGroupID and ContactID in the URL. To remove all contacts from a contact group, only the ContactGroupID is required. The request must include an Authorization header with a valid OAuth2 token and a Content-Type header set to application/json. The response will indicate the success of the operation with a status and message.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete CreditNotes Allocations
ID
: delete_creditnotes_allocationsOperation
: writeEntities
: invoice, allocation, credit noteSummary
: The Delete CreditNotes Allocations API allows users to delete specific allocations associated with a CreditNote. The request requires the CreditNoteID and AllocationID as path parameters to identify the specific allocation to be deleted. Upon successful deletion, the response includes the AllocationID, the date of deletion, the associated InvoiceID, and a boolean indicating the deletion status.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete Items
ID
: delete_itemsOperation
: writeEntities
: itemSummary
: The Delete Items API allows users to delete an item from the Xero system using the DELETE method. The request requires the unique identifier of the item (ItemID) to be specified in the URL path. Upon successful deletion, the API returns a response indicating the status of the operation and a message providing additional information.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete Linked Transaction
ID
: delete_linked_transactionOperation
: writeEntities
: linked transactionSummary
: The DELETE LinkedTransactions API is used to delete a specific linked transaction identified by its LinkedTransactionID. The request requires an OAuth2 token for authentication and the Content-Type header set to application/json. The LinkedTransactionID is a required path parameter that specifies which linked transaction to delete. Upon successful deletion, the response body is empty.Input Fields
: Input FieldsOutput Fields
: Output Fields
Deleting Overpayments Allocations
ID
: delete_overpayments_allocationsOperation
: writeEntities
: allocation, invoice, overpaymentSummary
: The 'Deleting Overpayments Allocations' API allows users to delete specific overpayment allocations using the DELETE method. The request URL requires both the OverpaymentID and AllocationID as path parameters. Upon successful deletion, the response includes the AllocationID, the date of deletion, the associated InvoiceID, and a boolean indicating the deletion status.Input Fields
: Input FieldsOutput Fields
: Output Fields
Deleting Prepayments Allocations
ID
: delete_prepayments_allocationsOperation
: writeEntities
: allocation, invoice, prepaymentSummary
: The DELETE Prepayments Allocations API is used to delete a specific prepayment allocation in the Xero system. The request URL must include both the PrepaymentID and the AllocationID as path parameters. Upon successful deletion, the response will include the AllocationID, the date of deletion, the associated InvoiceID, and a boolean indicating the deletion status.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete purchase order
ID
: delete_purchase_orderOperation
: writeEntities
: purchase order, statusSummary
: This API endpoint allows you to set the status of purchase order as DELETED.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete Tracking Categories or Options
ID
: delete_tracking_categories_or_optionsOperation
: writeEntities
: tracking category, tracking optionSummary
: This API allows you to delete a tracking category or a specific tracking option within a category in Xero. To delete a tracking category, provide the TrackingCategoryID in the path parameters. To delete a specific tracking option, provide both the TrackingCategoryID and TrackingOptionID in the path parameters. The request must include an Authorization header with a valid OAuth 2.0 Bearer Token. The response will indicate the status of the delete operation and return the IDs of the deleted entities.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete vendor payment
ID
: delete_vendor_paymentOperation
: writeEntities
: payment, invoice, credit noteSummary
: This API is used to delete (reverse) payments associated with invoices, credit notes, prepayments, and overpayments in Xero. It does not support payments created via batch payments and receipts. To delete a payment, you must POST to the specific PaymentID endpoint with a body containing the status 'DELETED'. The required path parameter is 'PaymentID', which is the unique identifier for the payment. The response body is typically empty upon successful deletion.Input Fields
: Input FieldsOutput Fields
: Output Fields
1099 Report Retrieval
ID
: get_1099_report_retrievalOperation
: readEntities
: report, form, contactSummary
: The 1099 Report Retrieval API allows users to retrieve the 1099 report for all years from 2012, as configured by the rules in the Xero app. The report includes both the 1099-NEC and 1099-MISC forms for reports from 2020 onward, and only the 1099-MISC form for reports from 2019 and prior. This API is available to US organizations only, and the user must have the advisor user role in the organization to access the report. The API supports an optional query parameter 'reportYear' to specify the year of the report. The response includes details such as the report ID, status, provider name, and a list of reports with contact details and amounts in various boxes.Input Fields
: Input FieldsOutput Fields
: Output Fields
GET Accounts
ID
: get_accountsOperation
: readEntities
: accountSummary
: The GET Accounts API retrieves a list of accounts from Xero. It supports optional filtering by account ID, modification date, and other criteria. The response includes details such as account code, name, type, tax type, and other attributes. The API can return both individual accounts and lists of accounts, with optional ordering and filtering capabilities.Input Fields
: Input FieldsOutput Fields
: Output Fields
Aged Payables By Contact
ID
: get_aged_payables_by_contactOperation
: readEntities
: report, invoice, contactSummary
: The Aged Payables By Contact API returns aged payables up to the end of the current month by default. It requires a 'contactID' as a mandatory query parameter to identify the contact. Optional query parameters include 'date' to show payments up to a specific date, 'fromDate' to show all payable invoices from a specific date, and 'toDate' to show all payable invoices to a specific date. The response includes a detailed report with information such as report ID, name, type, titles, date, and rows containing invoice details like date, reference, due date, total, paid, credited, and due amounts.Input Fields
: Input FieldsOutput Fields
: Output Fields
Aged Receivables By Contact
ID
: get_aged_receivables_by_contactOperation
: readEntities
: payment, aged receivable, contactSummary
: The Aged Receivables By Contact API returns aged receivables up to the end of the current month by default. It requires the 'contactID' as a mandatory query parameter to specify the contact for which the aged receivables are to be retrieved. Optional query parameters include 'date' to show payments up to a specific date, 'fromDate' to show all receivable invoices from a specific date, and 'toDate' to show all receivable invoices to a specific date. The response includes a report with details such as ReportID, ReportName, ReportDate, and a list of Contacts with their respective AgedReceivables, including InvoiceID, InvoiceDate, DueDate, and AmountDue.Input Fields
: Input FieldsOutput Fields
: Output Fields
GET Attachment Content
ID
: get_attachment_contentOperation
: readEntities
: file, attachment, receiptSummary
: The GET Attachment Content API retrieves the raw content of an attachment from a specified endpoint. The request requires an Authorization header with a Bearer token and path parameters including the Endpoint, Guid, and Filename. The response returns the raw file content with headers indicating the content type and disposition.Input Fields
: Input FieldsOutput Fields
: Output Fields
GET Attachments
ID
: get_attachmentsOperation
: readEntities
: invoice, attachment, documentSummary
: The GET Attachments API allows users to retrieve a list of attachments associated with a specific document by providing the GUID of the parent object, such as an Invoice or Receipt. The request requires an Authorization header with a Bearer token and an Accept header specifying the desired response format (either JSON or XML). The response includes details about each attachment, such as its ID, file name, URL, MIME type, and content length.Input Fields
: Input FieldsOutput Fields
: Output Fields
Balance Sheet Report API
ID
: get_balance_sheet_reportOperation
: readEntities
: balance sheet, bank, assetSummary
: The Balance Sheet Report API provides a balance sheet for the end of the month of the specified date, along with the value at the end of the same month for the previous year. It supports optional query parameters such as 'date', 'periods', 'timeframe', 'trackingOptionID1', 'trackingOptionID2', 'standardLayout', and 'paymentsOnly' to customize the report. The response includes detailed report data with sections, rows, and cells containing financial information. The API is accessed via a GET request to the specified URL.Input Fields
: Input FieldsOutput Fields
: Output Fields
Bank Summary Report
ID
: get_bank_summary_reportOperation
: readEntities
: cash movement, bank account, balanceSummary
: The Bank Summary Report API returns the balances and cash movements for each bank account within a specified date range. The optional query parameters 'fromDate' and 'toDate' can be used to filter the report by date. The response includes a list of bank accounts, each with its name, current balance, and total cash movements.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Bank Transactions
ID
: get_bank_transactionsOperation
: readEntities
: contact, bank transaction, bank accountSummary
: The Retrieve Bank Transactions API allows users to fetch one or many bank transactions from the Xero platform. This endpoint does not return payments applied to invoices, expense claims, or transfers between bank accounts. Users can filter transactions using various parameters such as Type, Status, Date, and more. The response includes detailed information about each transaction, including contact details, line items, bank account information, and batch payment details. Optional parameters include filtering by a specific BankTransactionID, using the If-Modified-Since header for date filtering, and pagination for large datasets. The API supports ordering and filtering to optimize performance across organizations of all sizes.Input Fields
: Input FieldsOutput Fields
: Output Fields
GET BankTransfers
ID
: get_bank_transfersOperation
: readEntities
: bank transaction, bank account, bank transferSummary
: The GET BankTransfers API retrieves bank transfer records. It allows filtering by a specific BankTransferID, and supports optional parameters such as 'If-Modified-Since' for filtering by modification date, 'where' for filtering by any element, and 'order' for ordering the results. The response includes details such as the BankTransferID, creation date, transfer date, source and destination bank account details, amount, transaction IDs, reconciliation status, reference, currency rate, and attachment status.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get BAS Reports
ID
: get_bas_reportsOperation
: readEntities
: report, attribute, fieldSummary
: The Get BAS Reports API retrieves a list of published BAS (Business Activity Statement) reports for Australia-based organizations. It supports the GET method and allows for an optional path parameter 'ReportID' to fetch details of a specific BAS report. The response includes details such as ReportID, ReportName, ReportType, ReportDate, UpdatedDateUTC, and various attributes and fields related to the report.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Batch Payments
ID
: get_batch_paymentsOperation
: readEntities
: payment, invoice, batch paymentSummary
: The Retrieve Batch Payments API allows users to fetch batch payment details from Xero. Users can filter results using various parameters such as Type, Account.AccountId, and Status. The API returns detailed information about each batch payment, including account details, payment references, payment amounts, and status. Optional headers and query parameters can be used to refine the results, and the response includes comprehensive details about each payment within the batch.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Branding Themes
ID
: get_branding_themesOperation
: readEntities
: logo, branding theme, documentSummary
: The Get Branding Themes API retrieves a list of branding themes available in the Xero account. Each branding theme includes details such as the unique BrandingThemeID, the name of the theme, the URL of the logo used, the type of document the theme can be applied to, the sort order which indicates the ranked order of the theme, and the UTC timestamp of when the theme was created. The API does not require any specific headers, path parameters, query parameters, or request body. The response includes an array of branding themes with their respective details.Input Fields
: Input FieldsOutput Fields
: Output Fields
Budget Summary
ID
: get_budget_summaryOperation
: readEntities
: budget, report, periodSummary
: The Budget Summary API returns a summary of your monthly budget. It supports the GET method and allows optional query parameters such as 'date' to specify the date for the budget summary, 'periods' to define the number of periods to compare (between 1 and 12), and 'timeframe' to set the period size for comparison (1 for month, 3 for quarter, 12 for year). The response includes a 'BudgetSummary' array with details for each period, including the period and the budget amount.Input Fields
: Input FieldsOutput Fields
: Output Fields
GET Budgets
ID
: get_budgetsOperation
: readEntities
: budget, budget line, tracking categorySummary
: The GET Budgets API is used to retrieve one or many Budgets from Xero. It allows users to specify optional parameters such as BudgetID, DateTo, and DateFrom to filter the budgets retrieved. The response includes details such as BudgetID, Type, Description, UpdatedDateUTC, Tracking categories, and BudgetLines. Tracking categories include fields like Name, Option, and TrackingCategoryID. BudgetLines include AccountID, AccountCode, and BudgetBalances, which detail the Period and Amount for each budget line.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve CIS Settings for an Organisation
ID
: get_cis_settings_for_an_organisationOperation
: readEntities
: CIS setting, organisationSummary
: This API retrieves the Construction Industry Scheme (CIS) settings for a specified organisation. To use this API, perform a GET request with the OrganisationID in the URL path and specify 'CISSettings'. The response includes two boolean properties: 'CISContractorEnabled' and 'CISSubContractorEnabled', indicating whether the organisation is a CIS Contractor or SubContractor, respectively.Input Fields
: Input FieldsOutput Fields
: Output Fields
GET ContactGroups
ID
: get_contact_groupsOperation
: readEntities
: contact group, contactSummary
: The GET ContactGroups API retrieves contact groups from Xero. It returns the Name, Status, and ContactGroupID of each contact group. Only contact groups with a status of ACTIVE are returned. If a specific ContactGroupID is provided in the URL, it also returns the ContactID and Name of Contacts in that group. Optional query parameters include 'Where' for filtering and 'order' for sorting the results.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieving Contact History
ID
: get_contact_historyOperation
: readEntities
: history record, contact, userSummary
: The 'Retrieving Contact History' API allows users to view a summary of actions made by all users to a specific contact. The API requires the unique identifier (Guid) of the contact as a path parameter. It returns a list of history records, each containing details such as the changes made, the date and time of the change in both string and UTC formats, the user who made the change, and additional details about the change.Input Fields
: Input FieldsOutput Fields
: Output Fields
GET Contacts
ID
: get_contactsOperation
: readEntities
: contact person, address, contactSummary
: The GET Contacts API retrieves contact information from Xero. It supports filtering by various parameters such as ContactID, ContactNumber, and modified date. The response includes detailed contact information such as ContactID, Name, EmailAddress, and more. Optional query parameters allow for pagination, ordering, and filtering of results. The API can return a lightweight response using the 'summaryOnly' parameter, which excludes computation-heavy fields. This API is useful for retrieving contact details for integration with external systems or for managing contacts within Xero.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieving Credit Note History
ID
: get_credit_note_historyOperation
: readEntities
: history record, credit note, userSummary
: The 'Retrieving Credit Note History' API allows users to view a summary of actions made by all users to a specific credit note. The API requires a GET request to the endpoint with the unique identifier (Guid) of the credit note as a path parameter. The response includes a list of history records detailing changes made to the credit note, the date and time of each change, the user who made the change, and additional details about the change.Input Fields
: Input FieldsOutput Fields
: Output Fields
GET Credit Notes
ID
: get_credit_notesOperation
: readEntities
: allocation, credit note, contactSummary
: The GET Credit Notes API retrieves credit notes from the Xero accounting system. It allows filtering by various parameters such as status, date, and contact details. The response includes detailed information about each credit note, including contact information, date issued, status, line items, totals, currency, and allocations. Optional query parameters allow for filtering, ordering, and pagination of results. The API also supports retrieving individual credit notes by their unique identifier.Input Fields
: Input FieldsOutput Fields
: Output Fields
GET Currencies
ID
: get_currenciesOperation
: readEntities
: currencySummary
: The GET Currencies API retrieves a list of currencies with their 3-letter alpha codes and descriptions. It supports optional query parameters 'Where' to filter results by any element and 'order' to sort the results by any returned element. The response includes an array of currency objects, each containing a 'Code' and 'Description'.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Document History
ID
: get_document_historyOperation
: readEntities
: history record, user, documentSummary
: The Get Document History API retrieves the history of changes made to a specific document identified by its GUID within a specified endpoint. The response includes an array of history records, each detailing the type of change, the UTC date of the change, the user responsible, and a description of the change event or transaction. The API requires the endpoint and GUID as path parameters.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Employees
ID
: get_employeesOperation
: readEntities
: record, link, employeeSummary
: The Retrieve Employees API allows users to fetch details of one or many employees from the Xero system. Users can filter the records by appending the EmployeeID to the endpoint or using the If-Modified-Since header to get employees created or modified after a specific timestamp. Additional query parameters include 'where' for filtering by any element and 'order' for sorting the results. The response includes details such as EmployeeID, Status, FirstName, LastName, ExternalLink, and UpdatedDateUTC.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Executive Summary Report
ID
: get_executive_summary_reportOperation
: readEntities
: report, monthly total, business ratioSummary
: The Get Executive Summary Report API provides a summary including monthly totals and some common business ratios. It supports the GET method and requires an OAuth2 token for authentication. The API accepts an optional query parameter 'date' to specify the date for which the executive summary is requested. The response includes a summary object with monthly totals and business ratios such as current and quick ratios.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieving Expense Claim History
ID
: get_expense_claim_historyOperation
: readEntities
: expense claim, history record, userSummary
: The 'Retrieving Expense Claim History' API allows users to view a summary of actions made by all users on a specific expense claim. The API requires a unique identifier (Guid) for the expense claim as a path parameter. It returns a list of history records, each containing details such as the type of change made, the date and time of the change, the user who made the change, and additional details about the change.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Expense Claims
ID
: get_expense_claimsOperation
: readEntities
: expense claim, receipt, userSummary
: The Retrieve Expense Claims API allows users to fetch one or multiple expense claims from the Xero system. Users can specify an individual expense claim by appending the ExpenseClaimID to the endpoint. The API supports optional filtering through HTTP headers and query parameters, such as 'If-Modified-Since' for filtering by modification date, 'where' for filtering by any element, and 'order' for sorting the results. The response includes detailed information about each expense claim, including its ID, status, user details, receipts, payments, and financial details like total amount, amount due, and amount paid.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get GST Report
ID
: get_gst_reportOperation
: readEntities
: report, field, organizationSummary
: The Get GST Report API returns a list of finalized GST reports for New Zealand based organizations. It supports the GET method and allows optional path parameter 'ReportID' to retrieve details of a specific published GST Report. The response includes details such as ReportID, ReportName, ReportType, ReportDate, UpdatedDateUTC, and various fields with their descriptions and values. This API also returns published GST Reports before 11 Nov 2013.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Invoice History
ID
: get_invoice_historyOperation
: readEntities
: invoice, history record, userSummary
: The Retrieve Invoice History API allows users to view a summary of actions made by all users to a specific invoice. The API requires the unique identifier (Guid) of the invoice as a path parameter. It returns a list of history records, each containing details about the changes made, the date and time of the change, the user who made the change, and additional details about the change.Input Fields
: Input FieldsOutput Fields
: Output Fields
Check Invoice Reminders Settings
ID
: get_invoice_reminders_settingsOperation
: readEntities
: setting, contact, invoice reminderSummary
: This API endpoint allows users to check if invoice reminders are enabled for a Xero organisation. It does not require any input parameters and returns a boolean value indicating the status of invoice reminders. The response includes an 'InvoiceReminders' array with an 'Enabled' field that is true if reminders are enabled and false otherwise. Currently, the API does not support additional functionalities such as exposing more settings, rules, or templates related to invoice reminders.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Invoices
ID
: get_invoicesOperation
: readEntities
: invoice, line item, contactSummary
: The Retrieve Invoices API allows users to fetch one or many invoices from the Xero platform. Users can filter invoices by various parameters such as InvoiceID, InvoiceNumber, ContactIDs, Statuses, and more. The API supports pagination and can return a lightweight response using the summaryOnly parameter. The response includes detailed information about each invoice, such as type, contact details, dates, status, amounts, and currency. Optional query parameters allow for extensive filtering and ordering of the results.Input Fields
: Input FieldsOutput Fields
: Output Fields
GET Items
ID
: get_itemsOperation
: readEntities
: item, purchase detail, sales detailSummary
: The GET Items API is used to retrieve one or many items from the Xero system. It returns detailed information about each item, including its ID, code, name, sales and purchase details, inventory tracking status, and more. Optional parameters allow filtering by item ID or code, and ordering or filtering by other item attributes. The response includes detailed information about each item, such as its sales and purchase descriptions, unit prices, account codes, tax types, and inventory details.Input Fields
: Input FieldsOutput Fields
: Output Fields
GET Journals
ID
: get_journalsOperation
: readEntities
: account, journal, journal lineSummary
: The GET Journals API is used to retrieve one or many journals from Xero. It returns a maximum of 100 journals per response, ordered from oldest to newest. Optional parameters include specifying an individual journal by JournalID or JournalNumber, using the 'If-Modified-Since' header to filter by modification date, and using query parameters such as 'offset' and 'paymentsOnly'. The response includes details such as JournalID, JournalDate, JournalNumber, CreatedDateUTC, and JournalLines, which contain information like AccountID, AccountCode, NetAmount, and TaxAmount.Input Fields
: Input FieldsOutput Fields
: Output Fields
GET Linked Transactions
ID
: get_linked_transactionsOperation
: readEntities
: linked transaction, source transaction, target transactionSummary
: The GET Linked Transactions API retrieves linked transactions from Xero. It returns details such as LinkedTransactionID, Status, Type, SourceTransactionID, SourceLineItemID, ContactID, TargetTransactionID, TargetLineItemID, UpdatedDateUTC, and SourceTransactionTypeCode. Optional query parameters include LinkedTransactionID, Page, SourceTransactionID, ContactID, Status, and TargetTransactionID, allowing for filtering and pagination of results. The response includes an array of linked transactions with detailed information about each transaction.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Manual Journals
ID
: get_manual_journalsOperation
: readEntities
: account, manual journal, journal lineSummary
: The Retrieve Manual Journals API allows users to fetch one or multiple manual journals from the Xero accounting system. Users can filter results by various parameters such as narration, date, and status. The API supports pagination, allowing up to 100 journals per call. Optional parameters include 'ManualJournalID' for fetching a specific journal, 'If-Modified-Since' for filtering by modification date, and 'where' for custom filters. The response includes details such as the date, status, line amount types, and journal lines, which contain descriptions, tax types, and amounts.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Online Invoice URL
ID
: get_online_invoice_urlOperation
: readEntities
: application, invoice, urlSummary
: This API endpoint retrieves the online invoice URL for a specific sales (ACCREC) invoice in Xero. It requires the invoice ID as a path parameter and an OAuth 2.0 Bearer token for authentication in the headers. The response includes the URL of the online invoice, which can be used to view the invoice online. Note that this endpoint does not support retrieving URLs for DRAFT invoices.Input Fields
: Input FieldsOutput Fields
: Output Fields
GET Organisation Actions
ID
: get_organisation_actionsOperation
: readEntities
: action, feature, organisationSummary
: The GET Organisation Actions API retrieves a list of key actions that your app has permission to perform in the connected organisation. The actions are determined by the organisation's plan and the permissions of the user who made the connection. The response includes a list of actions with their names and statuses, indicating whether each action is ALLOWED or NOT-ALLOWED. This API helps in understanding which actions are available based on the Xero plan and user permissions.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Organisation Details
ID
: get_organisation_detailsOperation
: readEntities
: payment term, organisation, external linkSummary
: The Get Organisation Details API retrieves detailed information about an organisation in Xero. It returns a variety of details including the organisation's API key, display name, legal name, tax registration status, version, type, base currency, country code, demo status, organisation status, tax number, financial year end details, sales tax basis and period, lock dates, creation timestamp, timezone, entity type, short code, organisation ID, edition, class, line of business, addresses, phone details, external links, and payment terms. The response includes nested objects for addresses, external links, and payment terms, providing comprehensive information about the organisation's settings and configurations.Input Fields
: Input FieldsOutput Fields
: Output Fields
GET Overpayments
ID
: get_overpaymentsOperation
: readEntities
: allocation, contact, overpaymentSummary
: The GET Overpayments API is used to retrieve overpayment records from Xero. It allows filtering by various parameters such as OverpaymentID, modification date, and more. The response includes detailed information about each overpayment, including contact details, date, status, amounts, currency, allocations, and attachment status. Optional query parameters allow for pagination and ordering of results.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Payment History
ID
: get_payment_historyOperation
: readEntities
: paymentSummary
: The Retrieve Payment History API allows users to view a summary of actions made by all users to a specific payment. The API requires a unique identifier (Guid) for the payment as a path parameter. It returns a list of history records, each containing details about changes made, the date and time of the change, the user who made the change, and additional details about the change.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Payment Services
ID
: get_payment_servicesOperation
: readEntities
: payment, invoice, payment serviceSummary
: The Get Payment Services API retrieves a list of payment services configured in a Xero organisation. Each payment service includes a unique identifier (PaymentServiceID), a name (PaymentServiceName), a custom payment URL (PaymentServiceUrl) with placeholders for invoice data, the text displayed on the Pay Now button (PayNowText), and the type of payment service (PaymentServiceType), which is always 'CUSTOM' for services created via the API. The response contains an array of payment services.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Payment Services for Branding Theme
ID
: get_payment_services_for_branding_themeOperation
: readEntities
: invoice, payment service, branding themeSummary
: This API retrieves the payment services applied to a specific branding theme in Xero. The request requires the BrandingThemeID as a path parameter. The response includes details of each payment service such as PaymentServiceID, PaymentServiceName, PaymentServiceUrl, PayNowText, and PaymentServiceType. The PaymentServiceUrl contains placeholders for invoice data, and the PaymentServiceType is always 'CUSTOM' for services created via the API.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Payments for Invoices and Credit Notes
ID
: get_payments_for_invoices_and_credit_notesOperation
: readEntities
: payment, invoice, credit noteSummary
: The 'Retrieve Payments for Invoices and Credit Notes' API allows users to fetch details of payments made against invoices and credit notes. Users can filter payments by various parameters such as PaymentType, Status, Date, and more using the 'where' query parameter. The API supports pagination with the 'page' parameter, returning up to 100 payments per call. Users can also order the results using the 'order' parameter. The response includes detailed information about each payment, including PaymentID, BatchPayment details, Date, Amount, Reference, CurrencyRate, PaymentType, Status, and associated Account and Invoice details.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieving Prepayment History
ID
: get_prepayment_historyOperation
: readEntities
: prepayment, history record, userSummary
: The 'Retrieving Prepayment History' API allows users to view a summary of actions made by all users to a specific prepayment. The API requires a GET request to the endpoint with the unique identifier (Guid) of the prepayment as a path parameter. The response includes an array of history records, each containing details such as the type of change made, the date and time of the change, the user who made the change, and additional details about the change.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Prepayments
ID
: get_prepaymentsOperation
: readEntities
: payment, prepayment, contactSummary
: The Retrieve Prepayments API allows users to fetch details of prepayments. It supports filtering by various parameters such as PrepaymentID, modification date, and more. The response includes detailed information about each prepayment, including contact details, status, amounts, currency, and allocations. Optional query parameters allow for pagination and ordering of results.Input Fields
: Input FieldsOutput Fields
: Output Fields
Profit and Loss Report
ID
: get_profit_and_loss_reportOperation
: readEntities
: report, category, parameterSummary
: The Profit and Loss Report API returns a profit and loss statement for the current month by default. Users can specify an alternate date range using optional parameters such as fromDate, toDate, periods, timeframe, trackingCategoryID, trackingOptionID, trackingCategoryID2, trackingOptionID2, standardLayout, and paymentsOnly. The response includes detailed report data with sections, rows, and cells containing financial figures and attributes. The API supports multi-currency system accounts, grouping them into a single line with FXGROUPID for most regions, except for US organizations and Australian demo companies.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Purchase Order History
ID
: get_purchase_order_historyOperation
: readEntities
: purchase order, history record, userSummary
: This API retrieves the history of a specific purchase order identified by its GUID. It provides a summary of actions made by all users on the purchase order. The request requires the GUID of the purchase order as a path parameter. The response includes an array of history records, each containing details such as the type of change, the date and time of the change, the user who made the change, and additional details about the change.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Purchase Orders
ID
: get_purchase_ordersOperation
: readEntities
: purchase order, line item, contactSummary
: The Retrieve Purchase Orders API allows users to fetch one or many purchase orders from the Xero system. Users can filter the results by various parameters such as status, date range, and specific purchase order identifiers. The API returns detailed information about each purchase order, including its ID, number, dates, delivery details, contact information, currency, status, line items, and financial totals. Optional parameters include filtering by modified date, status, and pagination for large result sets.Input Fields
: Input FieldsOutput Fields
: Output Fields
GET Quotes
ID
: get_quotesOperation
: readEntities
: line item, quote, contactSummary
: The GET Quotes API is used to retrieve one or many quotes from the Xero system. It allows filtering by various parameters such as QuoteID, QuoteNumber, Status, DateFrom, DateTo, ExpiryDateFrom, ExpiryDateTo, ContactID, and ordering by any element returned. The response includes detailed information about each quote, including contact details, line items, currency information, and totals. Optional parameters include filtering by modified date using the 'If-Modified-Since' header and pagination using the 'page' query parameter. The API returns a collection of quotes with detailed information about each quote, including line items and tracking categories.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieving Receipt History
ID
: get_receipt_historyOperation
: readEntities
: history record, user, receiptSummary
: The Retrieving Receipt History API allows users to view a summary of actions made by all users on a specific receipt. The API requires a GET request to the endpoint with the receipt's unique identifier (Guid) as a path parameter. The response includes an array of history records, each containing details such as the changes made, the date and time of the change in both string and UTC formats, the user who made the change, and additional details about the change.Input Fields
: Input FieldsOutput Fields
: Output Fields
GET Receipts
ID
: get_receiptsOperation
: readEntities
: line item, receipt, contactSummary
: The GET Receipts API method is used to retrieve one or many draft receipts from Xero. It allows filtering by various parameters such as ReceiptID, modification date, and more. The response includes detailed information about each receipt, including its ID, number, status, user details, contact information, date, line items, and financial totals. Optional query parameters allow for customization of the response, such as specifying the number of decimal places for unit amounts or ordering the results by a specific element.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieving Repeating Invoice History
ID
: get_repeating_invoice_historyOperation
: readEntities
: history record, repeating invoice, userSummary
: This API retrieves the history of actions made by all users on a specific repeating invoice in Xero. The request requires the unique identifier (Guid) of the repeating invoice as a path parameter. The response includes an array of history records, each detailing the changes made, the date and time of the change, the user who made the change, and additional details about the change.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Repeating Invoices
ID
: get_repeating_invoicesOperation
: readEntities
: line item, contact, repeating invoiceSummary
: The Retrieve Repeating Invoices API allows users to fetch one or multiple repeating invoices from the Xero system. Users can specify a RepeatingInvoiceID to retrieve a specific invoice or use optional query parameters such as 'Where' to filter results and 'order' to sort them. The response includes detailed information about each repeating invoice, including schedule details, contact information, line items, and financial totals. The API supports filtering and ordering of results based on various invoice attributes.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieving Bank Transaction History
ID
: get_retrieving_bank_transaction_historyOperation
: readEntities
: bank transaction, history record, userSummary
: The Retrieving Bank Transaction History API allows users to view a summary of actions made by all users on a specific bank transaction. The API requires a unique identifier (Guid) for the bank transaction as a path parameter. It returns a list of history records, each containing details such as the type of change made, the date and time of the change in both string and UTC formats, the user who made the change, and additional details about the change.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieving History of Bank Transactions
ID
: get_retrieving_history_of_bank_transactionsOperation
: readEntities
: bank transfer, user, historySummary
: The 'Retrieving History of Bank Transactions' API endpoint allows users to view a summary of actions made by all users on a specific bank transaction. The endpoint requires a GET request to the URL 'https://api.xero.com/api.xro/2.0/BankTransactions/{Guid}/History', where '{Guid}' is the unique identifier for the bank transaction. The request must include an 'Authorization' header with a valid OAuth2 token and a 'Content-Type' header set to 'application/json'. The response includes a list of history records, each containing details such as the changes made, the date and time of the change, the user who made the change, and additional details about the change.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieving Item History
ID
: get_retrieving_item_historyOperation
: readEntities
: item, history record, userSummary
: The 'Retrieving Item History' API allows users to view a summary of actions made by all users to a specific item. The API requires a GET request to the endpoint with the item's unique identifier (Guid) as a path parameter. The response includes an array of history records, each containing details such as the changes made, the date and time of the change in both string and UTC formats, the user who made the change, and additional details about the change.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieving Overpayment History
ID
: get_retrieving_overpayment_historyOperation
: readEntities
: history record, overpayment, userSummary
: The 'Retrieving Overpayment History' API allows users to view a summary of actions made by all users to a specific overpayment. The API requires a GET request to the endpoint with a unique 'Guid' path parameter representing the overpayment. The response includes a list of history records, each containing details such as the type of change, the date and time of the change, the user who made the change, and additional details about the change.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Tax Rates
ID
: get_tax_ratesOperation
: readEntities
: tax type, tax component, tax rateSummary
: The Get Tax Rates API retrieves a list of tax rates available in the system. It allows filtering and ordering of tax rates based on various elements such as Name, TaxType, and Status. The response includes details about each tax rate, including its applicability to different account types (assets, equity, expenses, liabilities, revenue), its display and effective rates, and its status. Each tax rate may also have multiple tax components, each with its own name, rate, and properties indicating whether it is compounded or non-recoverable.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Tracking Categories
ID
: get_tracking_categoriesOperation
: readEntities
: tracking category, tracking optionSummary
: The Get Tracking Categories API retrieves a list of tracking categories from Xero. It allows filtering by TrackingCategoryID, ordering the results, and including archived categories and options. The response includes details such as the name, status, and ID of each tracking category, along with its associated tracking options.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Tracking Categories
ID
: get_tracking_categories_listOperation
: readEntities
: tracking category, tracking optionSummary
: The Get Tracking Categories API retrieves a list of tracking categories from Xero. It allows filtering by TrackingCategoryID, ordering the results, and including archived categories and options. The response includes details such as the name, status, and ID of each tracking category, along with its associated tracking options.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Trial Balance Report
ID
: get_trial_balance_reportOperation
: readEntities
: transaction, account, trial balanceSummary
: The Get Trial Balance Report API returns a trial balance for the current month up to the specified date. It includes year-to-date (YTD) values as well. The API supports optional query parameters such as 'date' to specify the 'as at' date and 'paymentsOnly' to filter for cash transactions only. The response includes detailed report data with sections, rows, and cells containing account information, debit and credit values, and YTD figures. The report is structured with headers, sections, and summary rows, providing a comprehensive view of the trial balance.Input Fields
: Input FieldsOutput Fields
: Output Fields
GET Users
ID
: get_usersOperation
: readEntities
: email address, organization role, userSummary
: The GET Users API retrieves a list of users from the Xero system. It allows filtering by UserID, modification date, and other elements using query parameters. The response includes details such as UserID, EmailAddress, FirstName, LastName, UpdatedDateUTC, IsSubscriber status, and OrganisationRole. Optional parameters include UserID as a path parameter, and 'If-Modified-Since' as a header to filter users modified after a specific date.Input Fields
: Input FieldsOutput Fields
: Output Fields
List accounts payable invoices
ID
: list_accounts_payable_invoicesOperation
: readEntities
: invoice, line item, contactSummary
: The Retrieve Invoices API allows users to fetch one or many invoices from the Xero platform. Users can filter invoices by various parameters such as InvoiceID, InvoiceNumber, ContactIDs, Statuses, and more. The API supports pagination and can return a lightweight response using the summaryOnly parameter. The response includes detailed information about each invoice, such as type, contact details, dates, status, amounts, and currency. Optional query parameters allow for extensive filtering and ordering of the results.Input Fields
: Input FieldsOutput Fields
: Output Fields
List general ledger accounts
ID
: list_general_ledger_accountsOperation
: readEntities
: accountSummary
: The GET Accounts API retrieves a list of accounts from Xero. It supports optional filtering by account ID, modification date, and other criteria. The response includes details such as account code, name, type, tax type, and other attributes. The API can return both individual accounts and lists of accounts, with optional ordering and filtering capabilities.Input Fields
: Input FieldsOutput Fields
: Output Fields
List vendor contacts
ID
: list_vendor_contactsOperation
: readEntities
: contact person, address, contactSummary
: The GET Contacts API retrieves contact information from Xero. It supports filtering by various parameters such as ContactID, ContactNumber, and modified date. The response includes detailed contact information such as ContactID, Name, EmailAddress, and more. Optional query parameters allow for pagination, ordering, and filtering of results. The API can return a lightweight response using the 'summaryOnly' parameter, which excludes computation-heavy fields. This API is useful for retrieving contact details for integration with external systems or for managing contacts within Xero.Input Fields
: Input FieldsOutput Fields
: Output Fields
List vendor payments
ID
: list_vendor_paymentsOperation
: readEntities
: payment, invoice, credit noteSummary
: The 'Retrieve Payments for Invoices and Credit Notes' API allows users to fetch details of payments made against invoices and credit notes. Users can filter payments by various parameters such as PaymentType, Status, Date, and more using the 'where' query parameter. The API supports pagination with the 'page' parameter, returning up to 100 payments per call. Users can also order the results using the 'order' parameter. The response includes detailed information about each payment, including PaymentID, BatchPayment details, Date, Amount, Reference, CurrencyRate, PaymentType, Status, and associated Account and Invoice details.Input Fields
: Input FieldsOutput Fields
: Output Fields
Apply Payment Service to Branding Theme
ID
: post_apply_payment_service_to_branding_themeOperation
: writeEntities
: invoice, payment service, branding themeSummary
: This API allows you to apply a payment service to a branding theme in Xero. To use this API, you need to provide the BrandingThemeID as a path parameter and a list of PaymentServices in the request body. Each PaymentService must include a PaymentServiceID. The API requires an OAuth2 token for authentication. The response includes the status of the request, the BrandingThemeID, and the list of PaymentServices applied.Input Fields
: Input FieldsOutput Fields
: Output Fields
Archive Accounts
ID
: post_archive_accountsOperation
: writeEntities
: accountSummary
: The Archive Accounts API allows users to update the status of a specified account to 'ARCHIVED' using the POST method. The request requires the AccountID as a path parameter and in the request body, along with the Status set to 'ARCHIVED'. The response confirms the account's ID and its updated status.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create or Delete Repeating Invoice Templates
ID
: post_create_or_delete_repeating_invoice_templatesOperation
: writeEntities
: line item, contact, repeating invoiceSummary
: This API allows you to create or delete repeating invoice templates in Xero. To create a repeating invoice, you must provide details such as Type (must be ACCREC), Contact information, Schedule, LineItems, LineAmountTypes, CurrencyCode, and Status. Optional parameters include Reference, BrandingThemeID, ApprovedForSending, SendCopy, MarkAsSent, and IncludePDF. To delete a repeating invoice, set the Status to DELETED. The API returns the RepeatingInvoiceID, Status, SubTotal, TotalTax, and Total of the invoice.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create or Update Bank Transactions
ID
: post_create_or_update_bank_transactionsOperation
: writeEntities
: bank transaction, line item, bank accountSummary
: This API endpoint allows for the creation or updating of bank transactions such as spend money, receive money, spend prepayment, receive prepayment, spend overpayment, or receive overpayment transactions. It requires mandatory fields such as Type, Contact, LineItems, and BankAccount. Optional fields include IsReconciled, Date, Reference, CurrencyCode, CurrencyRate, Url, Status, and LineAmountTypes. The API supports bulk transaction entries with error summarization and allows for detailed line item specifications including tracking categories. The response includes a unique BankTransactionID, status, and details of the line items.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create or Update Contact Groups
ID
: post_create_or_update_contact_groupsOperation
: writeEntities
: contact group, contactSummary
: This API allows you to create or update contact groups in the Xero system. You can create a new contact group by providing a name, update an existing group by specifying the ContactGroupID and new name, or delete a group by setting its status to 'DELETED'. The API supports adding contacts to a group using the PUT method. Note that you cannot create more than 100 contact groups. The request requires authorization and content type headers, and the response includes the contact group details.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create or Update Contacts
ID
: post_create_or_update_contactsOperation
: writeEntities
: contact person, address, contactSummary
: This API allows you to create or update one or more contact records in Xero. When updating a contact, you don't need to specify every element; existing values will be preserved if elements are excluded. The required field for creating a contact is 'Name'. Optional fields include 'ContactID', 'ContactNumber', 'AccountNumber', 'ContactStatus', 'FirstName', 'LastName', 'CompanyNumber', 'EmailAddress', 'BankAccountDetails', 'TaxNumber', 'AccountsReceivableTaxType', 'AccountsPayableTaxType', 'Addresses', 'Phones', 'DefaultCurrency', 'XeroNetworkKey', 'SalesDefaultAccountCode', 'PurchasesDefaultAccountCode', 'SalesTrackingCategories', 'PurchasesTrackingCategories', 'TrackingCategoryName', 'TrackingOptionName', and 'PaymentTerms'. The API returns the created or updated contact details, including 'ContactID', 'Name', and 'ContactStatus'.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create or Update Credit Note
ID
: post_create_or_update_credit_noteOperation
: writeEntities
: line item, credit note, contactSummary
: This API endpoint allows users to create or update a credit note in the Xero system. Users can specify various details such as the type of credit note, contact information, date of issue, status, line items, currency code, and more. The API also supports bulk operations with error summarization. The response includes details of the created or updated credit notes, including their unique identifiers, status, and line items.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create or Update DRAFT Receipts
ID
: post_create_or_update_draft_receiptsOperation
: writeEntities
: line item, receipt, contactSummary
: This API endpoint allows users to create or update DRAFT receipts in the Xero system. The request requires a date, user information, contact details, and at least one line item with a description and account code. Optional fields include reference number, line amount types, subtotal, total tax, and total. The response includes the receipt ID, status, and user information. The API supports specifying unit amounts with up to four decimal places using the 'unitdp' query parameter.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create or Update Invoices
ID
: post_create_or_update_invoicesOperation
: writeEntities
: invoice, line item, contactSummary
: This API endpoint allows you to create or update invoices in the Xero accounting system. You can specify various details about the invoice, such as the type (ACCREC or ACCPAY), contact information, dates, line items, and more. The API supports optional parameters for currency, branding, and tracking categories. You can also specify the status of the invoice, such as DRAFT, SUBMITTED, or AUTHORISED. The response includes the status of each invoice and any validation errors that may have occurred. This API is useful for managing invoices programmatically, including creating new invoices, updating existing ones, and handling invoice status changes.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create or Update Items
ID
: post_create_or_update_itemsOperation
: writeEntities
: item, purchase detail, sale detailSummary
: This API endpoint allows users to create or update items in batches of up to 500, though batches of 50-100 are recommended for efficiency. The request body must include a user-defined item code, and for tracked inventory items, an InventoryAssetAccountCode is required. Optional fields include item name, sales and purchase descriptions, and details such as unit price and account codes for both sales and purchases. The response returns a list of items that were created or updated, including their codes, names, descriptions, and inventory asset account codes.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create or Update Manual Journal
ID
: post_create_or_update_manual_journalOperation
: writeEntities
: tracking category, manual journal, journal lineSummary
: This API is used to create or update a manual journal in Xero. The request body must include a 'Narration' and 'JournalLines', with at least two journal line sub-elements. Optional parameters include 'Date', 'LineAmountTypes', 'Status', 'Url', and 'ShowOnCashBasisReports'. The 'JournalLines' can include 'Description', 'TaxType', and 'Tracking'. The response will contain the details of the created or updated manual journal.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create or Update Purchase Orders
ID
: post_create_or_update_purchase_ordersOperation
: writeEntities
: purchase order, line item, contactSummary
: This API endpoint allows you to create or update purchase orders in the Xero system. To create a purchase order, you must provide a ContactID or ContactNumber of an existing contact and at least one LineItem. Optional fields include Date, DeliveryDate, LineAmountTypes, PurchaseOrderNumber, Reference, BrandingThemeID, CurrencyCode, Status, SentToContact, DeliveryAddress, AttentionTo, Telephone, DeliveryInstructions, and ExpectedArrivalDate. The API returns a response with the PurchaseOrderID, Status, and SentToContact status. The endpoint supports creating new purchase orders, updating existing ones, and marking them as sent.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create or Update Quotes
ID
: post_create_or_update_quotesOperation
: writeEntities
: line item, quote, contactSummary
: This API endpoint allows users to create or update one or many quotes. To create a draft quote, the required fields are 'Contact', 'Date', and 'LineItems'. When updating quotes, 'QuoteID' is required. Optional fields include 'LineAmountTypes', 'Status', 'ExpiryDate', 'CurrencyCode', 'QuoteNumber', 'Reference', 'BrandingThemeID', 'Title', 'Summary', and 'Terms'. The 'LineItems' can include details such as 'Description', 'Quantity', 'UnitAmount', 'ItemCode', 'AccountCode', 'TaxType', 'DiscountRate', 'DiscountAmount', and 'Tracking'. The API returns the 'QuoteID', 'Status', 'Date', 'ExpiryDate', 'CurrencyCode', 'QuoteNumber', 'Reference', 'Title', 'Summary', 'Terms', and 'LineItems' in the response.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create or Update Tax Rate
ID
: post_create_or_update_tax_rateOperation
: writeEntities
: tax rate, tax component, status codeSummary
: This API endpoint allows users to create or update a tax rate. Only one tax rate can be created or updated per request. System-defined tax rates cannot be updated. When updating a tax rate, all existing tax components must be supplied. Tax components cannot be renamed, but new components can be added. The request body must include the 'Name' of the tax rate and may include 'TaxType', 'TaxComponents', 'Status', and 'ReportTaxType'. The 'TaxComponents' array includes details such as 'Name', 'Rate', 'IsCompound', and 'IsNonRecoverable'. The response includes the 'TaxRateID', 'Name', 'TaxComponents', and 'Status'.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete accounts receivable invoice
ID
: post_delete_accounts_receivable_invoiceOperation
:Entities
:Summary
: The Delete accounts receivable invoice API allows you to delete an invoice by specifying its invoice number. The request requires an OAuth 2.0 token for authorization and the content type must be 'application/json'. The body of the request must include the 'InvoiceNumber' of the invoice to be deleted and optionally the 'Status', which defaults to 'DELETED'. The response will return the 'InvoiceNumber' and 'Status' of the deleted invoice.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete Payment
ID
: post_delete_paymentOperation
: writeEntities
: payment, invoice, credit noteSummary
: This API is used to delete (reverse) payments associated with invoices, credit notes, prepayments, and overpayments in Xero. It does not support payments created via batch payments and receipts. To delete a payment, you must POST to the specific PaymentID endpoint with a body containing the status 'DELETED'. The required path parameter is 'PaymentID', which is the unique identifier for the payment. The response body is typically empty upon successful deletion.Input Fields
: Input FieldsOutput Fields
: Output Fields
Deleting Spend and Receive Money Transactions
ID
: post_deleting_spend_and_receive_money_transactionsOperation
: writeEntities
: spend money transaction, bank transaction, receive money transactionSummary
: This API allows you to delete a spend money or receive money transaction by updating its status to 'DELETED'. It is important to note that deletes are not supported for spend prepayment, receive prepayment, spend overpayment, or receive overpayment transactions. To delete a transaction, you must provide the unique BankTransactionID in the path and body, and set the Status to 'DELETED'. The response will confirm the deletion by returning the BankTransactionID and the updated Status.Input Fields
: Input FieldsOutput Fields
: Output Fields
Email an Invoice via Xero API
ID
: post_email_invoice_via_xeroOperation
: writeEntities
: invoice, contact, emailSummary
: This API endpoint is used to trigger the email of a sales invoice from Xero. The invoice must be of type ACCREC and have a valid status for sending, which includes SUBMITTED, AUTHORISED, or PAID. The email is sent to the primary email address of the contact on the invoice and any additional contact persons with the IncludeInEmails flag set to true. The sender is the user who authorized the app connection. The subject and body of the email are generated from the organization's default template. The API has a daily limit per Xero organization for sending invoices, and Xero monitors emails to detect potential spam. A successful request returns a 204 status code with no content, while a bad request, including rate limit hits, returns a 400 status code.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create or Update Employee Records
ID
: post_employeesOperation
: writeEntities
: employee, external linkSummary
: This API endpoint allows you to create or update one or more employee records in the Xero system. You can specify the first name, last name, and an optional external link for each employee. When updating an employee, you do not need to specify every element; any omitted fields will retain their existing values. The request body must include an array of employee objects, each with at least a first name and last name. The response will include the unique identifier for each employee, along with the details provided in the request.Input Fields
: Input FieldsOutput Fields
: Output Fields
Submit or Update Expense Claims
ID
: post_expense_claimsOperation
: writeEntities
: expense claim, receipt, userSummary
: This API allows you to submit or update expense claims in Xero. You can submit one or many expense claims by providing the User ID and one or more Receipt IDs. The status of an expense claim can also be updated. Note that payment of an expense claim cannot be done via the API and must be completed in the Xero app. The request requires a valid OAuth2 token for authorization and the content type must be set to application/json. The response will include the Expense Claim ID and its status.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create or Update Linked Transactions
ID
: post_linked_transactionsOperation
: writeEntities
: linked transaction, source transaction, target transactionSummary
: This API allows you to create or update linked transactions in Xero. A linked transaction connects a source transaction (such as a billable expense) to a target transaction (such as an invoice). The API requires the SourceTransactionID and SourceLineItemID to create a linked transaction. Optionally, you can specify ContactID, TargetTransactionID, and TargetLineItemID to further define the linkage. When updating a linked transaction, you can provide the LinkedTransactionID along with other optional parameters to modify the existing linkage.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update Account Details
ID
: post_update_account_detailsOperation
: writeEntities
: accountSummary
: This API is used to update the details of an existing account in the Xero system. The request requires an OAuth2 token for authentication and must include the account's unique identifier (AccountID) in the path. The request body should contain the account details such as Code, Name, Type, TaxType, and optional fields like Description, EnablePaymentsToAccount, and ShowInExpenseClaims. The response returns the updated account details.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update Batch Payment Status to DELETED
ID
: post_update_batch_payment_statusOperation
: writeEntities
: status, batch paymentSummary
: This API is used to update the status of a single batch payment to DELETED in Xero. The request can be made by including the BatchPaymentID in the request body or as a path parameter in the URL. The request body must include the BatchPaymentID and the Status, which should be set to DELETED. The response details are not specified in the documentation.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update Tracking Categories and Options
ID
: post_update_tracking_categories_and_optionsOperation
: writeEntities
: tracking category, tracking optionSummary
: This API allows updating of tracking categories and options in Xero. The request can update the name or status of a tracking category or option. The endpoint requires the TrackingCategoryID and optionally the TrackingOptionID in the path. The request body can include a new 'Name' or 'Status' for the category or option. The response returns the updated details of the tracking category and option.Input Fields
: Input FieldsOutput Fields
: Output Fields
Upload Attachments to Xero
ID
: post_upload_attachments_to_xeroOperation
: writeEntities
: invoice, attachment, receiptSummary
: This API allows users to upload attachments to Xero documents such as Receipts and Invoices. The attachments are uploaded via a POST request to a specific URL that includes the endpoint, document GUID, and filename. The request headers must include authorization, content type, content length, and accept type. The raw content of the attachment is sent in the body of the request. Optionally, the attachment can be included with the online invoice by setting the IncludeOnline query parameter to true. The response contains details of the uploaded attachment, including its ID, filename, URL, MIME type, content length, and whether it is included online.Input Fields
: Input FieldsOutput Fields
: Output Fields
Uploading a Receipt Image
ID
: post_uploading_a_receipt_imageOperation
: writeEntities
: image, attachment, receiptSummary
: This API allows users to upload an image as an attachment to a receipt that has been entered as a draft. Users can upload up to 10 attachments per receipt, with each attachment being up to 3MB in size. The API requires the receipt ID and the file name to be included in the URL path. The request must include headers for authorization, content type, and content length, and the body must contain the raw byte stream of the image. The response will indicate the success or failure of the upload operation.Input Fields
: Input FieldsOutput Fields
: Output Fields
Uploading an Attachment to a Bank Transaction
ID
: post_uploading_an_attachment_to_a_bank_transactionOperation
: writeEntities
: file, bank transaction, attachmentSummary
: This API allows you to upload an attachment to a specific bank transaction in Xero. You can upload up to 10 attachments per transaction, with each attachment being up to 3MB in size. To use this API, you need to know the ID of the bank transaction and the file name of the attachment. The request requires an Authorization header with a Bearer token, a ContentType header specifying the MIME type of the file, and a Content-Length header indicating the size of the file. The body of the request should contain the raw byte stream of the attachment. The response includes the ID of the uploaded attachment, the file name, and the URL where the attachment can be accessed.Input Fields
: Input FieldsOutput Fields
: Output Fields
Uploading an Attachment to a Bank Transfer
ID
: post_uploading_an_attachment_to_a_bank_transferOperation
: writeEntities
: bank transfer, attachmentSummary
: This API allows you to upload an attachment to a specific bank transfer in Xero. You can upload up to 10 attachments per bank transfer, with each attachment being up to 3MB in size. To upload an attachment, you need to know the ID of the bank transfer and construct the URL using this ID and the file name. The request requires authorization via a Bearer token and the content type of the file. The body of the request should contain the raw byte stream of the attachment file. The response includes details of the uploaded attachment such as its ID, file name, MIME type, and content length.Input Fields
: Input FieldsOutput Fields
: Output Fields
Uploading an Attachment to a Credit Note
ID
: post_uploading_an_attachment_to_a_credit_noteOperation
: writeEntities
: credit note, file, attachmentSummary
: This API allows you to upload an attachment to a specific credit note in Xero. You can upload up to 10 attachments per credit note, with each attachment being up to 3MB in size. To upload an attachment, you need to know the ID of the credit note and construct the URL using this ID and the file name. The request requires an Authorization header with a Bearer token, a ContentType header specifying the MIME type of the file, and a Content-Length header indicating the size of the file. The body of the request should contain the raw byte stream of the file. The response includes details about the uploaded attachment, such as its ID, file name, MIME type, and URL.Input Fields
: Input FieldsOutput Fields
: Output Fields
Uploading an Attachment to a Manual Journal
ID
: post_uploading_an_attachment_to_a_manual_journalOperation
: writeEntities
: attachment, manual journalSummary
: This API allows you to upload an attachment to a specific manual journal in Xero. You can upload up to 10 attachments per manual journal, with each attachment being up to 3MB in size. To upload an attachment, you need to know the ID of the manual journal and construct the URL accordingly. The request requires an Authorization header with a Bearer token, a ContentType header specifying the MIME type of the file, and a Content-Length header indicating the size of the file. The body of the request should contain the raw byte stream of the attachment file. The response includes details about the uploaded attachment, such as its ID, file name, MIME type, and content length.Input Fields
: Input FieldsOutput Fields
: Output Fields
Uploading an Attachment to an Invoice
ID
: post_uploading_an_attachment_to_an_invoiceOperation
: writeEntities
: invoice, attachmentSummary
: This API allows you to upload an attachment to an existing invoice in Xero. You can upload up to 10 attachments per invoice, with each attachment being up to 3MB in size. To upload an attachment, you need to know the ID of the invoice and construct the URL using the invoice ID and the file name. The request requires authorization via a Bearer token and the content type of the attachment. The body of the request should contain the raw byte stream of the attachment file. The response includes details of the uploaded attachment such as its ID, file name, MIME type, and content length.Input Fields
: Input FieldsOutput Fields
: Output Fields
Uploading an Attachment to a Contact in Xero
ID
: post_uploading_attachment_to_contactOperation
: writeEntities
: attachment, contactSummary
: This API allows you to upload an attachment to a contact in Xero. You can upload up to 10 attachments per contact, with each attachment being up to 3MB in size. To upload an attachment, you need to know the contact's ID and construct the URL using this ID and the file name. The request requires an Authorization header with a Bearer token, a ContentType header specifying the MIME type of the file, and a Content-Length header indicating the size of the file in bytes. The body of the request should contain the raw byte stream of the attachment file. The response includes the AttachmentID, FileName, and a URL to access the uploaded attachment.Input Fields
: Input FieldsOutput Fields
: Output Fields
PUT Employees API
ID
: put-employees-apiOperation
: writeEntities
: employeeSummary
: The PUT Employees API allows updating the details of an existing employee in the system. It requires the employee's ID and updated information such as name, position, department, and salary.Input Fields
: Input FieldsOutput Fields
: Output Fields
PUT Quotes API
ID
: put-quotes-apiOperation
: writeEntities
: quote, product, customerSummary
: The PUT Quotes API allows users to update an existing quote by providing the quote ID and the new text. The API returns a success status and the updated quote details.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add Notes to a Bank Transaction
ID
: put_add_notes_to_a_bank_transactionOperation
: writeEntities
: bank transaction, note, historySummary
: This API allows you to add a note to a bank transaction in Xero. The note will appear in the transaction's history. To use this API, you need to provide the unique identifier (Guid) of the bank transaction in the path parameters. The request body must include an array of history records, each containing the 'Details' of the note to be added. The API requires an OAuth2 token for authentication, which should be included in the headers. Upon successful execution, the API returns the added history records, including the details of the note, the user who added it, and the date and time it was added in UTC format.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add Notes to a Bank Transfer
ID
: put_add_notes_to_a_bank_transferOperation
: writeEntities
: note, bank transfer, history recordSummary
: This API allows you to add a note to a bank transfer via the bank transactions endpoint. The note will appear in the history against the specified bank transaction. The request requires a PUT method to the endpoint with the bank transaction's unique identifier (Guid) in the path. The request body must include an array of history records, each containing the 'Details' of the note to be added. The response will confirm the addition of the note with the same details provided in the request.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add Notes to a Contact
ID
: put_add_notes_to_a_contactOperation
: writeEntities
: note, contact, historySummary
: The 'Add Notes to a Contact' API allows you to add a note to a contact's history in the Xero system. You must provide the unique identifier (Guid) of the contact in the path parameters. The request body should contain a list of history records, each with a 'Details' field specifying the note content. The API returns the added history records, including the note details, the date and time it was added, and the user who added it.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add Notes to a Payment
ID
: put_add_notes_to_a_paymentOperation
: writeEntities
: note, history record, paymentSummary
: The 'Add Notes to a Payment' API allows users to add a note to a payment's history. This is done by sending a PUT request to the specified endpoint with the payment's unique identifier (Guid) in the path. The request body must include an array of history records, each containing the 'Details' of the note to be added. The request requires authorization and must specify the content type as 'application/json'. Upon successful execution, the API returns the added history records in the response.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add Notes to an Item
ID
: put_add_notes_to_an_itemOperation
: writeEntities
: item, invoice, noteSummary
: The 'Add Notes to an Item' API allows users to add a note to the history of an item, such as an invoice, in the Xero system. The API requires the unique identifier (Guid) of the invoice as a path parameter. The request body must include a 'HistoryRecords' array containing objects with a 'Details' field, which is the note to be added. The response includes the added note details, the date and time it was added in UTC format, and the user who added the note.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add Notes to an Overpayment
ID
: put_add_notes_to_an_overpaymentOperation
: writeEntities
: note, overpayment, historySummary
: This API allows you to add a note to an overpayment in Xero. The note will appear in the history against the specified overpayment. To use this API, you need to provide the unique identifier (Guid) of the overpayment in the path parameters. The request body must include a list of history records, each containing the 'Details' of the note to be added. The API requires an OAuth2 token for authentication, which should be included in the request headers. The response will confirm the addition of the note by returning the details of the history records added.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add Notes to a Batch Payment
ID
: put_add_notes_to_batch_paymentOperation
: writeEntities
: note, history, batch paymentSummary
: This API allows you to add a note to a batch payment in Xero. The note will appear in the history against the specified payment. To use this API, you need to provide the unique identifier (Guid) of the payment in the path parameters. The request body must include an array of history records, each containing the 'Details' of the note to be added. The API requires an OAuth2 token for authentication, which should be included in the request headers. The response will confirm the addition of the note by returning the history records added.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add Notes to a Credit Note
ID
: put_add_notes_to_credit_noteOperation
: writeEntities
: note, history record, credit noteSummary
: This API endpoint allows you to add notes to a credit note in Xero. The note will appear in the history against the specified credit note. To use this API, you need to provide the unique identifier (Guid) of the credit note in the path parameters. The request body must include an array of history records, each containing the 'Details' of the note to be added. The request must be authenticated using an OAuth token. The response will include the history records that were added.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add Notes to Document History
ID
: put_add_notes_to_document_historyOperation
: writeEntities
: note, change, documentSummary
: This API allows users to add notes to the history of a specific document in the Xero system. The notes are the only type of change that can be manually created, while other changes are automatically generated by the system. The API requires the document's endpoint and GUID as path parameters, and the notes to be added are specified in the request body. Each note can be up to 2500 characters long. The response includes the notes added, along with the date of creation and 'System Generated' as the user who created the note.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add Notes to an Expense Claim
ID
: put_add_notes_to_expense_claimOperation
: writeEntities
: expense claim, note, historySummary
: This API allows you to add notes to the history of an expense claim in Xero. You need to provide the unique identifier (Guid) of the expense claim in the path parameters. The request body must contain an array of history records, each with a 'Details' field that contains the note to be added. The API requires an OAuth2 token for authentication, which should be included in the headers. The response will include the history records that were added.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add Notes to an Invoice
ID
: put_add_notes_to_invoiceOperation
: writeEntities
: note, invoice, history recordSummary
: This API allows you to add a note to an invoice's history in Xero. The request requires the invoice's unique identifier (Guid) as a path parameter and an array of history records in the request body. Each history record must contain a 'Details' field with the note to be added. The request must be authenticated using an OAuth2 token. The response includes the history records that were added to the invoice.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add Notes to a Prepayment
ID
: put_add_notes_to_prepaymentOperation
: writeEntities
: prepayment, note, historySummary
: This API allows you to add notes to a prepayment in Xero. The note will appear in the history against the specified prepayment. To use this API, you need to provide the unique identifier (Guid) of the prepayment in the path parameters. The request body must include an array of history records, each containing the 'Details' of the note to be added. The API requires an OAuth2 token for authentication, which should be included in the request headers. Upon successful execution, the API returns the added history records in the response body.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add Notes to a Purchase Order
ID
: put_add_notes_to_purchase_orderOperation
: writeEntities
: purchase order, note, historySummary
: This API allows you to add a note to a purchase order in Xero. The note will appear in the history against the specified purchase order. To use this API, you need to provide the unique identifier (Guid) of the purchase order in the path parameters. The request body must include an array of history records, each containing the 'Details' of the note to be added. The API requires an OAuth2 token for authentication, which should be included in the request headers. Upon successful execution, the API returns the added history records with their details and the date they were added.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add Notes to a Receipt
ID
: put_add_notes_to_receiptOperation
: writeEntities
: note, history record, receiptSummary
: The 'Add Notes to a Receipt' API allows users to add a note to the history of a specific receipt identified by its GUID. The request requires an OAuth2 token for authentication and a JSON body containing the details of the note to be added. The response includes the details of the note added, the date and time it was added in UTC, and the user who added the note.Input Fields
: Input FieldsOutput Fields
: Output Fields
Allocate Overpayment to Outstanding Invoices
ID
: put_allocate_overpayment_to_outstanding_invoicesOperation
: writeEntities
: allocation, invoice, overpaymentSummary
: This API endpoint is used to allocate part or full amounts of an overpayment to outstanding invoices. The request requires the OverpaymentID as a path parameter and a JSON body containing the Amount to be allocated and the InvoiceID of the invoice to which the overpayment is being applied. The response includes details of the allocation made, such as the AllocationID, the allocated Amount, the InvoiceID, and the Date the overpayment was applied.Input Fields
: Input FieldsOutput Fields
: Output Fields
Allocate Prepayment to Outstanding Invoices
ID
: put_allocate_prepayment_to_outstanding_invoicesOperation
: writeEntities
: allocation, invoice, prepaymentSummary
: This API endpoint is used to allocate part or full amounts of a prepayment to outstanding invoices. The request requires the unique identifier of the prepayment (PrepaymentID) as a path parameter. The body of the request must include the amount being applied to the invoice and the unique identifier of the invoice (InvoiceID). The response includes the date the prepayment is applied, which is read-only and will be the latter of the invoice date and the prepayment date, along with the applied amount and invoice details.Input Fields
: Input FieldsOutput Fields
: Output Fields
Apply Payments to Invoices, Credit Notes, Prepayments, or Overpayments
ID
: put_apply_paymentsOperation
: writeEntities
: payment, invoice, credit noteSummary
: This API is used to apply payments to approved AR and AP invoices or refund AR or AP credit notes. It allows you to specify the invoice, credit note, prepayment, or overpayment to which the payment is being applied, along with the account details, date, amount, and optional reference. The API supports multiple payment applications and can handle different scenarios such as credit note refunds, prepayment refunds, and overpayment refunds. It also allows for the creation of reconciled payments. The response includes the payment ID and status after processing.Input Fields
: Input FieldsOutput Fields
: Output Fields
PUT Attachments
ID
: put_attachmentsOperation
: writeEntities
: file, attachment, documentSummary
: The PUT Attachments API allows users to upload an attachment to a specified document. If an attachment with the same name already exists, it will be overwritten. The API requires the document ID and the attachment name as path parameters. The attachment file's binary data is sent in the request body, and the Content-Type header must specify the MIME type of the file. Authentication is handled via a Bearer token in the Authorization header. Special characters in the attachment name should not be encoded, except for brackets, which must be encoded. The response indicates whether the upload was successful and provides a message with additional information.Input Fields
: Input FieldsOutput Fields
: Output Fields
PUT ContactGroups
ID
: put_contact_groupsOperation
: writeEntities
: contact group, contactSummary
: The PUT ContactGroups API allows you to add contacts to an existing contact group. You must specify the ContactGroupID in the URL path to identify the contact group. The request body should contain an array of contacts, each identified by a unique ContactID, to be added to the contact group. The response includes the ContactGroupID and the list of contacts with their addition status.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create a Bank Transfer
ID
: put_create_a_bank_transferOperation
: writeEntities
: amount, bank transfer, bank accountSummary
: This API is used to create a bank transfer between two bank accounts. It requires the 'FromBankAccount' and 'ToBankAccount' details, which can be specified using either 'Code' or 'AccountID'. The 'Amount' to be transferred is also required. Optional parameters include 'Date' for the transfer date, 'FromIsReconciled' and 'ToIsReconciled' to indicate if the transactions are reconciled, and 'Reference' for transaction reference. The API returns the details of the created bank transfer.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create Batch Payments
ID
: put_create_batch_paymentsOperation
: writeEntities
: payment, invoice, batch paymentSummary
: The Create Batch Payments API allows users to create batch payments in Xero. The request requires the date of the payment, account details, and a collection of payments. Each payment includes details such as the invoice ID, bank account number, and amount. Optional fields include particulars, code, and reference for NZ, details for non-NZ, and narrative for UK. The response includes the batch payment ID, status, and details of each payment.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create Contact Records
ID
: put_create_contact_recordsOperation
: writeEntities
: contactSummary
: The PUT Contacts API is used to create one or more contact records. It requires a list of contacts with each contact having a ContactName and ContactNumber. If a contact with the same ContactName or ContactNumber already exists, an error will be returned. The request must include authentication headers. The response will indicate success or failure and provide details on any errors encountered.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create New Manual Journals
ID
: put_create_new_manual_journalsOperation
: writeEntities
: tracking category, manual journal, journal lineSummary
: This API is used to create or update a manual journal in Xero. The request body must include a 'Narration' and 'JournalLines', with at least two journal line sub-elements. Optional parameters include 'Date', 'LineAmountTypes', 'Status', 'Url', and 'ShowOnCashBasisReports'. The 'JournalLines' can include 'Description', 'TaxType', and 'Tracking'. The response will contain the details of the created or updated manual journal.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create New Payment Services
ID
: put_create_new_payment_servicesOperation
: writeEntities
: Xero Organisation, invoice, payment serviceSummary
: This API method is used to create new payment services in a Xero Organisation. It requires the 'PaymentServiceName', which must be unique, and the 'PaymentServiceUrl', which is a custom URL containing placeholders for invoice data. Optionally, 'PayNowText' can be provided to customize the text on the Pay Now button in Xero Online Invoicing. The response includes the unique identifier of the created payment service along with the details provided in the request.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create New Purchase Orders
ID
: put_create_new_purchase_ordersOperation
: writeEntities
: status, purchase order, validation errorSummary
: The PUT PurchaseOrders API allows the creation of new purchase orders. It accepts a list of purchase orders in the request body and returns their status. The API supports a query parameter 'SummarizeErrors' which, when set to true, provides a detailed response format showing validation errors for each purchase order. Each purchase order in the response contains a 'StatusAttributeString' indicating 'OK' or 'ERROR'. If 'ERROR', a list of 'ValidationErrors' is provided with messages detailing the issues.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create or Update Accounts
ID
: put_create_or_update_accountsOperation
: writeEntities
: bank account, accountSummary
: This API is used to create or update accounts in the Xero system. It requires the 'Code', 'Name', and 'Type' fields for creating new accounts. Additional optional fields include 'Status', 'Description', 'BankAccountNumber', 'BankAccountType', 'CurrencyCode', 'TaxType', 'EnablePaymentsToAccount', 'ShowInExpenseClaims', and 'AddToWatchlist'. The API returns details of the created or updated account, including its unique 'AccountID', 'Code', 'Name', 'Type', and other optional fields if provided.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create Tracking Categories and Options
ID
: put_create_tracking_categories_and_optionsOperation
: writeEntities
: tracking category, Xero organisation, tracking optionSummary
: This API allows you to create tracking categories and options in Xero. A tracking category can have a name and status, and each category can have multiple tracking options, each with its own name and status. The API endpoint for creating a tracking category is 'https://api.xero.com/api.xro/2.0/TrackingCategories', and for creating tracking options, it is 'https://api.xero.com/api.xro/2.0/TrackingCategories/{TrackingCategoryID}/Options'. The request body must include the 'Name' of the category or option, and optionally the 'Status'. The response includes the identifiers and details of the created tracking category and options.Input Fields
: Input FieldsOutput Fields
: Output Fields
Creating and Allocating CreditNotes
ID
: put_creating_and_allocating_creditnotesOperation
: writeEntities
: invoice, allocation, credit noteSummary
: This API allows for the creation and allocation of CreditNotes using the PUT method. To allocate a CreditNote to an outstanding Invoice, the request must include the CreditNoteID in the URL path, and the body must contain the amount to be allocated and the InvoiceID of the invoice. The CreditNote must have a status of AUTHORISED to be eligible for allocation. The response will include details of the allocation, such as AllocationID, Amount, Date, and Invoice details. Note that creation and allocation must be done in separate calls.Input Fields
: Input FieldsOutput Fields
: Output Fields
PUT ExpenseClaims
ID
: put_expense_claimsOperation
: writeEntities
: validation error, expense claim, receiptSummary
: The PUT ExpenseClaims API allows users to create multiple expense claims in a single API call. It accepts an array of expense claims in the request body and returns the status of each claim. The API supports a query parameter 'SummarizeErrors' which, when set to false, provides detailed validation errors for each receipt. The response includes the status of each expense claim, which can be OK, WARNING, or ERROR, along with any warnings or validation errors.Input Fields
: Input FieldsOutput Fields
: Output Fields
PUT Receipts
ID
: put_receiptsOperation
: writeEntities
: validation error, receiptSummary
: The PUT Receipts API allows for the creation of new receipts. It supports batch processing of multiple receipts in a single API call. The API provides an option to receive detailed validation errors for each receipt by using the 'SummarizeErrors=false' query parameter. The request requires an OAuth2 token for authentication and a JSON body containing an array of receipt objects. The response includes the status of each receipt, indicating whether it was processed successfully (OK), with warnings (WARNING), or with errors (ERROR), along with any associated messages.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update Currencies
ID
: put_update_currenciesOperation
: writeEntities
: currency, organisationSummary
: The Update Currencies API allows you to add currencies to an organization. Once a currency is added, it cannot be removed. The request requires a 3-letter alpha code for each currency, and optionally a description. The API uses a PUT method and requires authentication via OAuth2. The response includes the list of currencies added with their codes and descriptions.Input Fields
: Input FieldsOutput Fields
: Output Fields
Uploading an Attachment to an Account in Xero
ID
: put_uploading_attachment_to_accountOperation
: writeEntities
: attachment, accountSummary
: This API allows you to upload an attachment to a specific account in Xero. You can upload up to 10 attachments per account, with each attachment being up to 3MB in size. To upload an attachment, you need to know the account ID and construct the URL accordingly. The request requires an Authorization header with a Bearer token, a ContentType header specifying the MIME type of the file, and a Content-Length header indicating the size of the file in bytes. The body of the request should contain the raw byte stream of the file. The response will confirm the status of the upload and provide an AttachmentID for the uploaded file.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve accounts payable invoice details
ID
: retrieve_accounts_payable_invoice_detailsOperation
: readEntities
: invoice, line item, contactSummary
: The Retrieve Invoices API allows users to fetch one or many invoices from the Xero platform. Users can filter invoices by various parameters such as InvoiceID, InvoiceNumber, ContactIDs, Statuses, and more. The API supports pagination and can return a lightweight response using the summaryOnly parameter. The response includes detailed information about each invoice, such as type, contact details, dates, status, amounts, and currency. Optional query parameters allow for extensive filtering and ordering of the results.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve accounts receivable invoice details
ID
: retrieve_accounts_receivable_invoice_detailsOperation
: readEntities
: invoice, line item, contactSummary
: The Retrieve Invoices API allows users to fetch one or many invoices from the Xero platform. Users can filter invoices by various parameters such as InvoiceID, InvoiceNumber, ContactIDs, Statuses, and more. The API supports pagination and can return a lightweight response using the summaryOnly parameter. The response includes detailed information about each invoice, such as type, contact details, dates, status, amounts, and currency. Optional query parameters allow for extensive filtering and ordering of the results.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve bank account account details
ID
: retrieve_bank_account_detailsOperation
: readEntities
: bank accountSummary
: The GET Accounts API retrieves a bank account by it's id from Xero. It supports optional filtering by account ID, modification date, and other criteria. The response includes details such as account code, name, type, tax type, and other attributes. The API can return both individual accounts and lists of accounts, with optional ordering and filtering capabilities.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve customer contact details
ID
: retrieve_customer_contact_detailsOperation
: readEntities
: contact person, address, contactSummary
: The GET Contacts API retrieves contact information from Xero. It supports filtering by various parameters such as ContactID, ContactNumber, and modified date. The response includes detailed contact information such as ContactID, Name, EmailAddress, and more. Optional query parameters allow for pagination, ordering, and filtering of results. The API can return a lightweight response using the 'summaryOnly' parameter, which excludes computation-heavy fields. This API is useful for retrieving contact details for integration with external systems or for managing contacts within Xero.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve customer payment details
ID
: retrieve_customer_payment_detailsOperation
: readEntities
: payment, invoice, credit noteSummary
: The 'Retrieve Payments for Invoices and Credit Notes' API allows users to fetch details of payments made against invoices and credit notes. Users can filter payments by various parameters such as PaymentType, Status, Date, and more using the 'where' query parameter. The API supports pagination with the 'page' parameter, returning up to 100 payments per call. Users can also order the results using the 'order' parameter. The response includes detailed information about each payment, including PaymentID, BatchPayment details, Date, Amount, Reference, CurrencyRate, PaymentType, Status, and associated Account and Invoice details.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve general ledger account details
ID
: retrieve_general_ledger_account_detailsOperation
: readEntities
: accountSummary
: The GET Accounts API retrieves a account by it's id from Xero. It supports optional filtering by account ID, modification date, and other criteria. The response includes details such as account code, name, type, tax type, and other attributes. The API can return both individual accounts and lists of accounts, with optional ordering and filtering capabilities.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrive journal entry details
ID
: retrieve_journal_entry_detailsOperation
: readEntities
: account, journal, journal lineSummary
: The GET Journals API is used to retrieve one journal from Xero. It returns a maximum of 100 journals per response, ordered from oldest to newest. Optional parameters include specifying an individual journal by JournalID or JournalNumber, using the 'If-Modified-Since' header to filter by modification date, and using query parameters such as 'offset' and 'paymentsOnly'. The response includes details such as JournalID, JournalDate, JournalNumber, CreatedDateUTC, and JournalLines, which contain information like AccountID, AccountCode, NetAmount, and TaxAmount.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve purchase order details
ID
: retrieve_purchase_order_detailsOperation
: readEntities
: purchase order, line item, contactSummary
: The Retrieve Purchase Orders API allows users to fetch one or many purchase orders from the Xero system. Users can filter the results by various parameters such as status, date range, and specific purchase order identifiers. The API returns detailed information about each purchase order, including its ID, number, dates, delivery details, contact information, currency, status, line items, and financial totals. Optional parameters include filtering by modified date, status, and pagination for large result sets.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve vendor contact details
ID
: retrieve_vendor_contact_detailsOperation
: readEntities
: contact person, address, contactSummary
: The GET Contacts API retrieves contact information from Xero. It supports filtering by various parameters such as ContactID, ContactNumber, and modified date. The response includes detailed contact information such as ContactID, Name, EmailAddress, and more. Optional query parameters allow for pagination, ordering, and filtering of results. The API can return a lightweight response using the 'summaryOnly' parameter, which excludes computation-heavy fields. This API is useful for retrieving contact details for integration with external systems or for managing contacts within Xero.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve vendor payment details
ID
: retrieve_vendor_payment_detailsOperation
: readEntities
: payment, invoice, credit noteSummary
: The 'Retrieve Payments for Invoices and Credit Notes' API allows users to fetch details of payments made against invoices and credit notes. Users can filter payments by various parameters such as PaymentType, Status, Date, and more using the 'where' query parameter. The API supports pagination with the 'page' parameter, returning up to 100 payments per call. Users can also order the results using the 'order' parameter. The response includes detailed information about each payment, including PaymentID, BatchPayment details, Date, Amount, Reference, CurrencyRate, PaymentType, Status, and associated Account and Invoice details.Input Fields
: Input FieldsOutput Fields
: Output Fields
Sample API Documentation
ID
: sample-api-docOperation
: writeEntities
: invoiceSummary
: This API endpoint retrieves a list of resources based on a search query. It supports pagination through the 'limit' parameter.Input Fields
: Input FieldsOutput Fields
: Output Fields
Sample API
ID
: sample_api_001Operation
: writeEntities
: subscription, event, contactSummary
: This API endpoint processes user data and returns a status message.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update accounts payable invoice information
ID
: update_accounts_payable_invoice_informationOperation
: writeEntities
: invoice, line item, contactSummary
: This API endpoint allows you to create or update invoices in the Xero accounting system. You can specify various details about the invoice, such as the type (ACCREC or ACCPAY), contact information, dates, line items, and more. The API supports optional parameters for currency, branding, and tracking categories. You can also specify the status of the invoice, such as DRAFT, SUBMITTED, or AUTHORISED. The response includes the status of each invoice and any validation errors that may have occurred. This API is useful for managing invoices programmatically, including creating new invoices, updating existing ones, and handling invoice status changes.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update accounts receivable invoice information
ID
: update_accounts_receivable_invoice_informationOperation
: writeEntities
: invoice, line item, contactSummary
: This API endpoint allows you to create or update invoices in the Xero accounting system. You can specify various details about the invoice, such as the type (ACCREC or ACCPAY), contact information, dates, line items, and more. The API supports optional parameters for currency, branding, and tracking categories. You can also specify the status of the invoice, such as DRAFT, SUBMITTED, or AUTHORISED. The response includes the status of each invoice and any validation errors that may have occurred. This API is useful for managing invoices programmatically, including creating new invoices, updating existing ones, and handling invoice status changes.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update bank account information
ID
: update_bank_account_informationOperation
: writeEntities
: accountSummary
: This API is used to update the details of an existing account in the Xero system. The request requires an OAuth2 token for authentication and must include the account's unique identifier (AccountID) in the path. The request body should contain the account details such as Code, Name, Type, TaxType, and optional fields like Description, EnablePaymentsToAccount, and ShowInExpenseClaims. The response returns the updated account details.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update customer contact information
ID
: update_customer_contact_informationOperation
: writeEntities
: contact person, address, contactSummary
: This API allows you to create or update one or more contact records in Xero. When updating a contact, you don't need to specify every element; existing values will be preserved if elements are excluded. The required field for creating a contact is 'Name'. Optional fields include 'ContactID', 'ContactNumber', 'AccountNumber', 'ContactStatus', 'FirstName', 'LastName', 'CompanyNumber', 'EmailAddress', 'BankAccountDetails', 'TaxNumber', 'AccountsReceivableTaxType', 'AccountsPayableTaxType', 'Addresses', 'Phones', 'DefaultCurrency', 'XeroNetworkKey', 'SalesDefaultAccountCode', 'PurchasesDefaultAccountCode', 'SalesTrackingCategories', 'PurchasesTrackingCategories', 'TrackingCategoryName', 'TrackingOptionName', and 'PaymentTerms'. The API returns the created or updated contact details, including 'ContactID', 'Name', and 'ContactStatus'.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update purchase order information
ID
: update_purchase_order_informationOperation
: writeEntities
: purchase order, line item, contactSummary
: This API endpoint allows you to create or update purchase orders in the Xero system. To create a purchase order, you must provide a ContactID or ContactNumber of an existing contact and at least one LineItem. Optional fields include Date, DeliveryDate, LineAmountTypes, PurchaseOrderNumber, Reference, BrandingThemeID, CurrencyCode, Status, SentToContact, DeliveryAddress, AttentionTo, Telephone, DeliveryInstructions, and ExpectedArrivalDate. The API returns a response with the PurchaseOrderID, Status, and SentToContact status. The endpoint supports creating new purchase orders, updating existing ones, and marking them as sent.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update vendor contact information
ID
: update_vendor_contact_informationOperation
: writeEntities
: contact person, address, contactSummary
: This API allows you to create or update one or more contact records in Xero. When updating a contact, you don't need to specify every element; existing values will be preserved if elements are excluded. The required field for creating a contact is 'Name'. Optional fields include 'ContactID', 'ContactNumber', 'AccountNumber', 'ContactStatus', 'FirstName', 'LastName', 'CompanyNumber', 'EmailAddress', 'BankAccountDetails', 'TaxNumber', 'AccountsReceivableTaxType', 'AccountsPayableTaxType', 'Addresses', 'Phones', 'DefaultCurrency', 'XeroNetworkKey', 'SalesDefaultAccountCode', 'PurchasesDefaultAccountCode', 'SalesTrackingCategories', 'PurchasesTrackingCategories', 'TrackingCategoryName', 'TrackingOptionName', and 'PaymentTerms'. The API returns the created or updated contact details, including 'ContactID', 'Name', and 'ContactStatus'.Input Fields
: Input FieldsOutput Fields
: Output Fields
Updated 22 days ago