Xero · JSON Structure

Xero Structure

Structural overview of the Xero API surface; extracted from openapi/.

Type: Properties: 0
AccountingBank FeedsFinanceFinancial ServicesInvoicingPayrollSmall Business

Xero Structure is a JSON Structure definition published by Xero.

Meta-schema:

JSON Structure

Raw ↑
{
  "provider": "Xero",
  "providerId": "xero",
  "kind": "json-structure",
  "description": "Structural overview of the Xero API surface; extracted from openapi/.",
  "schemaCount": 136,
  "operationCount": 237,
  "schemas": [
    {
      "name": "AddressForOrganisation",
      "type": "object",
      "propertyCount": 10,
      "required": []
    },
    {
      "name": "Address",
      "type": "object",
      "propertyCount": 10,
      "required": []
    },
    {
      "name": "Phone",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "Accounts",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "Account",
      "type": "object",
      "propertyCount": 20,
      "required": []
    },
    {
      "name": "AccountType",
      "type": "string",
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "Attachments",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "Attachment",
      "type": "object",
      "propertyCount": 6,
      "required": []
    },
    {
      "name": "BankTransactions",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "BankTransaction",
      "type": "object",
      "propertyCount": 22,
      "required": [
        "Type",
        "LineItems",
        "BankAccount"
      ]
    },
    {
      "name": "LineAmountTypes",
      "type": "string",
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "LineItem",
      "type": "object",
      "propertyCount": 18,
      "required": []
    },
    {
      "name": "LineItemItem",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "LineItemTracking",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "BankTransfers",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "BankTransfer",
      "type": "object",
      "propertyCount": 14,
      "required": [
        "FromBankAccount",
        "ToBankAccount",
        "Amount"
      ]
    },
    {
      "name": "BatchPayments",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "BatchPayment",
      "type": "object",
      "propertyCount": 17,
      "required": []
    },
    {
      "name": "BatchPaymentDetails",
      "type": "object",
      "propertyCount": 5,
      "required": []
    },
    {
      "name": "BatchPaymentDelete",
      "type": "object",
      "propertyCount": 2,
      "required": [
        "Status",
        "BatchPaymentID"
      ]
    },
    {
      "name": "BatchPaymentDeleteByUrlParam",
      "type": "object",
      "propertyCount": 1,
      "required": [
        "Status"
      ]
    },
    {
      "name": "BrandingThemes",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "BrandingTheme",
      "type": "object",
      "propertyCount": 6,
      "required": []
    },
    {
      "name": "PaymentServices",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "PaymentService",
      "type": "object",
      "propertyCount": 6,
      "required": []
    },
    {
      "name": "Contacts",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "Contact",
      "type": "object",
      "propertyCount": 43,
      "required": []
    },
    {
      "name": "Budgets",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "Budget",
      "type": "object",
      "propertyCount": 6,
      "required": []
    },
    {
      "name": "BudgetLine",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "BudgetBalance",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "Balances",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "AccountsReceivable",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "AccountsPayable",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "CISSettings",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "CISSetting",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "CISOrgSettings",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "CISOrgSetting",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "ContactPerson",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "ContactGroups",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "ContactGroup",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "RequestEmpty",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "CreditNotes",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "CreditNote",
      "type": "object",
      "propertyCount": 31,
      "required": []
    },
    {
      "name": "Allocations",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "Allocation",
      "type": "object",
      "propertyCount": 10,
      "required": [
        "Amount",
        "Invoice",
        "Date"
      ]
    },
    {
      "name": "Currencies",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "Currency",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "CurrencyCode",
      "type": "string",
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "Employees",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "Employee",
      "type": "object",
      "propertyCount": 8,
      "required": []
    },
    {
      "name": "ExpenseClaims",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "ExpenseClaim",
      "type": "object",
      "propertyCount": 12,
      "required": []
    },
    {
      "name": "HistoryRecords",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "HistoryRecord",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "Invoices",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "Invoice",
      "type": "object",
      "propertyCount": 41,
      "required": []
    },
    {
      "name": "OnlineInvoices",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "OnlineInvoice",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "InvoiceReminders",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "InvoiceReminder",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "Items",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "Item",
      "type": "object",
      "propertyCount": 16,
      "required": [
        "Code"
      ]
    },
    {
      "name": "Purchase",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "Journals",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "Journal",
      "type": "object",
      "propertyCount": 8,
      "required": []
    },
    {
      "name": "JournalLine",
      "type": "object",
      "propertyCount": 12,
      "required": []
    },
    {
      "name": "LinkedTransactions",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "LinkedTransaction",
      "type": "object",
      "propertyCount": 11,
      "required": []
    },
    {
      "name": "ManualJournals",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "ManualJournal",
      "type": "object",
      "propertyCount": 14,
      "required": [
        "Narration"
      ]
    },
    {
      "name": "ManualJournalLine",
      "type": "object",
      "propertyCount": 8,
      "required": []
    },
    {
      "name": "Actions",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "Action",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "Organisations",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "Organisation",
      "type": "object",
      "propertyCount": 33,
      "required": []
    },
    {
      "name": "CountryCode",
      "type": "string",
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "TimeZone",
      "type": "string",
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "PaymentTerm",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "PaymentTermType",
      "type": "string",
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "ExternalLink",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "Bill",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "Overpayments",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "Overpayment",
      "type": "object",
      "propertyCount": 20,
      "required": []
    },
    {
      "name": "Payments",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "PaymentDelete",
      "type": "object",
      "propertyCount": 1,
      "required": [
        "Status"
      ]
    },
    {
      "name": "Payment",
      "type": "object",
      "propertyCount": 28,
      "required": []
    },
    {
      "name": "Prepayments",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "Prepayment",
      "type": "object",
      "propertyCount": 21,
      "required": []
    },
    {
      "name": "PurchaseOrders",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "PurchaseOrder",
      "type": "object",
      "propertyCount": 28,
      "required": []
    },
    {
      "name": "Pagination",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "Quotes",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "Quote",
      "type": "object",
      "propertyCount": 24,
      "required": []
    },
    {
      "name": "QuoteLineAmountTypes",
      "type": "string",
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "QuoteStatusCodes",
      "type": "string",
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "Receipts",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "Receipt",
      "type": "object",
      "propertyCount": 18,
      "required": []
    },
    {
      "name": "RepeatingInvoices",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "RepeatingInvoice",
      "type": "object",
      "propertyCount": 20,
      "required": []
    },
    {
      "name": "ReportWithRows",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "ReportWithRow",
      "type": "object",
      "propertyCount": 9,
      "required": []
    },
    {
      "name": "ReportRows",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "RowType",
      "type": "string",
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "ReportRow",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "ReportCell",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "ReportAttribute",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "ReportFields",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "Reports",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "Report",
      "type": "object",
      "propertyCount": 6,
      "required": []
    },
    {
      "name": "TenNinetyNineContact",
      "type": "object",
      "propertyCount": 25,
      "required": []
    },
    {
      "name": "Schedule",
      "type": "object",
      "propertyCount": 7,
      "required": []
    },
    {
      "name": "TaxRates",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "TaxType",
      "type": "string",
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "Setup",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "ConversionDate",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "ConversionBalances",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "BalanceDetails",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "ImportSummaryObject",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "ImportSummary",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "ImportSummaryAccounts",
      "type": "object",
      "propertyCount": 9,
      "required": []
    },
    {
      "name": "ImportSummaryOrganisation",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "TaxRate",
      "type": "object",
      "propertyCount": 12,
      "required": []
    },
    {
      "name": "TaxComponent",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "TrackingCategories",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "TrackingCategory",
      "type": "object",
      "propertyCount": 6,
      "required": []
    },
    {
      "name": "TrackingOptions",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "TrackingOption",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "SalesTrackingCategory",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "Users",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "User",
      "type": "object",
      "propertyCount": 7,
      "required": []
    },
    {
      "name": "Error",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "Element",
      "type": "object",
      "propertyCount": 8,
      "required": []
    },
    {
      "name": "ValidationError",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "InvoiceAddress",
      "type": "object",
      "propertyCount": 9,
      "required": []
    },
    {
      "name": "TaxBreakdownComponent",
      "type": "object",
      "propertyCount": 10,
      "required": []
    }
  ],
  "operations": [
    {
      "method": "GET",
      "path": "/Accounts",
      "operationId": "getAccounts",
      "summary": "Xero Retrieves the full chart of accounts",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "PUT",
      "path": "/Accounts",
      "operationId": "createAccount",
      "summary": "Xero Creates a new chart of accounts",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/Accounts/{AccountID}",
      "operationId": "getAccount",
      "summary": "Xero Retrieves a single chart of accounts by using a unique account Id",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "POST",
      "path": "/Accounts/{AccountID}",
      "operationId": "updateAccount",
      "summary": "Xero Updates a chart of accounts",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "DELETE",
      "path": "/Accounts/{AccountID}",
      "operationId": "deleteAccount",
      "summary": "Xero Deletes a chart of accounts",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/Accounts/{AccountID}/Attachments",
      "operationId": "getAccountAttachments",
      "summary": "Xero Retrieves attachments for a specific accounts by using a unique account Id",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/Accounts/{AccountID}/Attachments/{AttachmentID}",
      "operationId": "getAccountAttachmentById",
      "summary": "Xero Retrieves a specific attachment from a specific account using a unique attachment Id",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/Accounts/{AccountID}/Attachments/{FileName}",
      "operationId": "getAccountAttachmentByFileName",
      "summary": "Xero Retrieves an attachment for a specific account by filename",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "POST",
      "path": "/Accounts/{AccountID}/Attachments/{FileName}",
      "operationId": "updateAccountAttachmentByFileName",
      "summary": "Xero Updates attachment on a specific account by filename",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "PUT",
      "path": "/Accounts/{AccountID}/Attachments/{FileName}",
      "operationId": "createAccountAttachmentByFileName",
      "summary": "Xero Creates an attachment on a specific account",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/BatchPayments",
      "operationId": "getBatchPayments",
      "summary": "Xero Retrieves either one or many batch payments for invoices",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "POST",
      "path": "/BatchPayments",
      "operationId": "deleteBatchPayment",
      "summary": "Xero Updates a specific batch payment for invoices and credit notes",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "PUT",
      "path": "/BatchPayments",
      "operationId": "createBatchPayment",
      "summary": "Xero Creates one or many batch payments for invoices",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/BatchPayments/{BatchPaymentID}",
      "operationId": "getBatchPayment",
      "summary": "Xero Retrieves a specific batch payment using a unique batch payment Id",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "POST",
      "path": "/BatchPayments/{BatchPaymentID}",
      "operationId": "deleteBatchPaymentByUrlParam",
      "summary": "Xero Updates a specific batch payment for invoices and credit notes",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/BatchPayments/{BatchPaymentID}/History",
      "operationId": "getBatchPaymentHistory",
      "summary": "Xero Retrieves history from a specific batch payment",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "PUT",
      "path": "/BatchPayments/{BatchPaymentID}/History",
      "operationId": "createBatchPaymentHistoryRecord",
      "summary": "Xero Creates a history record for a specific batch payment",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/BankTransactions",
      "operationId": "getBankTransactions",
      "summary": "Xero Retrieves any spent or received money transactions",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "POST",
      "path": "/BankTransactions",
      "operationId": "updateOrCreateBankTransactions",
      "summary": "Xero Updates or creates one or more spent or received money transaction",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "PUT",
      "path": "/BankTransactions",
      "operationId": "createBankTransactions",
      "summary": "Xero Creates one or more spent or received money transaction",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/BankTransactions/{BankTransactionID}",
      "operationId": "getBankTransaction",
      "summary": "Xero Retrieves a single spent or received money transaction by using a unique bank transaction Id",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "POST",
      "path": "/BankTransactions/{BankTransactionID}",
      "operationId": "updateBankTransaction",
      "summary": "Xero Updates a single spent or received money transaction",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/BankTransactions/{BankTransactionID}/Attachments",
      "operationId": "getBankTransactionAttachments",
      "summary": "Xero Retrieves any attachments from a specific bank transactions",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/BankTransactions/{BankTransactionID}/Attachments/{AttachmentID}",
      "operationId": "getBankTransactionAttachmentById",
      "summary": "Xero Retrieves specific attachments from a specific BankTransaction using a unique attachment Id",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/BankTransactions/{BankTransactionID}/Attachments/{FileName}",
      "operationId": "getBankTransactionAttachmentByFileName",
      "summary": "Xero Retrieves a specific attachment from a specific bank transaction by filename",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "POST",
      "path": "/BankTransactions/{BankTransactionID}/Attachments/{FileName}",
      "operationId": "updateBankTransactionAttachmentByFileName",
      "summary": "Xero Updates a specific attachment from a specific bank transaction by filename",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "PUT",
      "path": "/BankTransactions/{BankTransactionID}/Attachments/{FileName}",
      "operationId": "createBankTransactionAttachmentByFileName",
      "summary": "Xero Creates an attachment for a specific bank transaction by filename",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/BankTransactions/{BankTransactionID}/History",
      "operationId": "getBankTransactionsHistory",
      "summary": "Xero Retrieves history from a specific bank transaction using a unique bank transaction Id",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "PUT",
      "path": "/BankTransactions/{BankTransactionID}/History",
      "operationId": "createBankTransactionHistoryRecord",
      "summary": "Xero Creates a history record for a specific bank transactions",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/BankTransfers",
      "operationId": "getBankTransfers",
      "summary": "Xero Retrieves all bank transfers",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "PUT",
      "path": "/BankTransfers",
      "operationId": "createBankTransfer",
      "summary": "Xero Creates a bank transfer",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/BankTransfers/{BankTransferID}",
      "operationId": "getBankTransfer",
      "summary": "Xero Retrieves specific bank transfers by using a unique bank transfer Id",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/BankTransfers/{BankTransferID}/Attachments",
      "operationId": "getBankTransferAttachments",
      "summary": "Xero Retrieves attachments from a specific bank transfer",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/BankTransfers/{BankTransferID}/Attachments/{AttachmentID}",
      "operationId": "getBankTransferAttachmentById",
      "summary": "Xero Retrieves a specific attachment from a specific bank transfer using a unique attachment ID",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/BankTransfers/{BankTransferID}/Attachments/{FileName}",
      "operationId": "getBankTransferAttachmentByFileName",
      "summary": "Xero Retrieves a specific attachment on a specific bank transfer by file name",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "POST",
      "path": "/BankTransfers/{BankTransferID}/Attachments/{FileName}",
      "operationId": "updateBankTransferAttachmentByFileName",
      "summary": null,
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "PUT",
      "path": "/BankTransfers/{BankTransferID}/Attachments/{FileName}",
      "operationId": "createBankTransferAttachmentByFileName",
      "summary": null,
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/BankTransfers/{BankTransferID}/History",
      "operationId": "getBankTransferHistory",
      "summary": "Xero Retrieves history from a specific bank transfer using a unique bank transfer Id",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "PUT",
      "path": "/BankTransfers/{BankTransferID}/History",
      "operationId": "createBankTransferHistoryRecord",
      "summary": "Xero Creates a history record for a specific bank transfer",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/BrandingThemes",
      "operationId": "getBrandingThemes",
      "summary": "Xero Retrieves all the branding themes",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/BrandingThemes/{BrandingThemeID}",
      "operationId": "getBrandingTheme",
      "summary": "Xero Retrieves a specific branding theme using a unique branding theme Id",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/BrandingThemes/{BrandingThemeID}/PaymentServices",
      "operationId": "getBrandingThemePaymentServices",
      "summary": "Xero Retrieves the payment services for a specific branding theme",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "POST",
      "path": "/BrandingThemes/{BrandingThemeID}/PaymentServices",
      "operationId": "createBrandingThemePaymentServices",
      "summary": "Xero Creates a new custom payment service for a specific branding theme",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/Budgets",
      "operationId": "getBudgets",
      "summary": "Xero Retrieve a list of budgets",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/Budgets/{BudgetID}",
      "operationId": "getBudget",
      "summary": "Xero Retrieves a specific budget, which includes budget lines",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/Contacts",
      "operationId": "getContacts",
      "summary": "Retrieves all contacts in a Xero organisation",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "POST",
      "path": "/Contacts",
      "operationId": "updateOrCreateContacts",
      "summary": "Updates or creates one or more contacts in a Xero organisation",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "PUT",
      "path": "/Contacts",
      "operationId": "createContacts",
      "summary": "Creates multiple contacts (bulk) in a Xero organisation",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/Contacts/{ContactNumber}",
      "operationId": "getContactByContactNumber",
      "summary": "Retrieves a specific contact by contact number in a Xero organisation",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/Contacts/{ContactID}",
      "operationId": "getContact",
      "summary": "Retrieves a specific contacts in a Xero organisation using a unique contact Id",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "POST",
      "path": "/Contacts/{ContactID}",
      "operationId": "updateContact",
      "summary": "Updates a specific contact in a Xero organisation",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/Contacts/{ContactID}/Attachments",
      "operationId": "getContactAttachments",
      "summary": "Retrieves attachments for a specific contact in a Xero organisation",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/Contacts/{ContactID}/Attachments/{AttachmentID}",
      "operationId": "getContactAttachmentById",
      "summary": "Xero Retrieves a specific attachment from a specific contact using a unique attachment Id",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/Contacts/{ContactID}/Attachments/{FileName}",
      "operationId": "getContactAttachmentByFileName",
      "summary": "Xero Retrieves a specific attachment from a specific contact by file name",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "POST",
      "path": "/Contacts/{ContactID}/Attachments/{FileName}",
      "operationId": "updateContactAttachmentByFileName",
      "summary": null,
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "PUT",
      "path": "/Contacts/{ContactID}/Attachments/{FileName}",
      "operationId": "createContactAttachmentByFileName",
      "summary": null,
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/Contacts/{ContactID}/CISSettings",
      "operationId": "getContactCISSettings",
      "summary": "Retrieves CIS settings for a specific contact in a Xero organisation",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/Contacts/{ContactID}/History",
      "operationId": "getContactHistory",
      "summary": "Xero Retrieves history records for a specific contact",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "PUT",
      "path": "/Contacts/{ContactID}/History",
      "operationId": "createContactHistory",
      "summary": "Xero Creates a new history record for a specific contact",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/ContactGroups",
      "operationId": "getContactGroups",
      "summary": "Xero Retrieves the contact Id and name of each contact group",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "PUT",
      "path": "/ContactGroups",
      "operationId": "createContactGroup",
      "summary": "Xero Creates a contact group",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "GET",
      "path": "/ContactGroups/{ContactGroupID}",
      "operationId": "getContactGroup",
      "summary": "Xero Retrieves a specific contact group by using a unique contact group Id",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "POST",
      "path": "/ContactGroups/{ContactGroupID}",
      "operationId": "updateContactGroup",
      "summary": "Xero Updates a specific contact group",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "PUT",
      "path": "/ContactGroups/{ContactGroupID}/Contacts",
      "operationId": "createContactGroupContacts",
      "summary": "Xero Creates contacts to a specific contact group",
      "tags": [
        "Accounting"
      ]
    },
    {
      "method": "DELETE",
      "path": "/ContactGroups/{ContactGroupID}/Contact

# --- truncated at 32 KB (74 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/xero/refs/heads/main/json-structure/xero-structure.json