APIHub
Back to Explore

Xero Accounting API

The Xero Accounting API gives programmatic access to core accounting resources in Xero – contacts, accounts, bank transactions, bank transfers, batch payments, purchase orders, credit notes, branding themes and contact groups – allowing you to retrieve, create, update, delete, and manage attachments and history records for these entities.

Finance
OAuth
HTTPS
CORS: Unknown
Description enriched
Visit official documentation

Latency

1313ms p95

Uptime

100.0% 30d

Playground

Verified

live

Endpoints

REST · JSON
PUT

/BankTransfers/{BankTransferID}/History

Creates a history record for a specific bank transfer

  • BankTransferID (path, required) — Xero generated unique identifier for a bank transfer
GET

/Contacts/{ContactID}/Attachments/{AttachmentID}

Retrieves a specific attachment from a specific contact using a unique attachment Id

  • ContactID (path, required) — Unique identifier for a Contact
  • AttachmentID (path, required) — Unique identifier for a Attachment
  • contentType (header, required) — The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
GET

/Contacts/{ContactID}/Attachments/{FileName}

Retrieves a specific attachment from a specific contact by file name

  • ContactID (path, required) — Unique identifier for a Contact
  • FileName (path, required) — Name for the file you are attaching
  • contentType (header, required) — The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
POST

/Contacts/{ContactID}/Attachments/{FileName}

  • ContactID (path, required) — Unique identifier for a Contact
  • FileName (path, required) — Name for the file you are attaching
GET

/Accounts

Retrieves the full chart of accounts

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • where (query) — Filter by an any element
  • order (query) — Order by an any element
PUT

/Accounts

Creates a new chart of accounts

GET

/CreditNotes/{CreditNoteID}/Attachments/{AttachmentID}

Retrieves a specific attachment from a specific credit note using a unique attachment Id

  • CreditNoteID (path, required) — Unique identifier for a Credit Note
  • AttachmentID (path, required) — Unique identifier for a Attachment
  • contentType (header, required) — The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
DELETE

/Accounts/{AccountID}

Deletes a chart of accounts

  • AccountID (path, required) — Unique identifier for retrieving single object
GET

/Accounts/{AccountID}

Retrieves a single chart of accounts by using a unique account Id

  • AccountID (path, required) — Unique identifier for retrieving single object
POST

/Accounts/{AccountID}

Updates a chart of accounts

  • AccountID (path, required) — Unique identifier for retrieving single object
GET

/Accounts/{AccountID}/Attachments

Retrieves attachments for a specific accounts by using a unique account Id

  • AccountID (path, required) — Unique identifier for Account object
GET

/Accounts/{AccountID}/Attachments/{AttachmentID}

Retrieves a specific attachment from a specific account using a unique attachment Id

  • AccountID (path, required) — Unique identifier for Account object
  • AttachmentID (path, required) — Unique identifier for Attachment object
  • contentType (header, required) — The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
GET

/Accounts/{AccountID}/Attachments/{FileName}

Retrieves an attachment for a specific account by filename

  • AccountID (path, required) — Unique identifier for Account object
  • FileName (path, required) — Name of the attachment
  • contentType (header, required) — The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
POST

/Accounts/{AccountID}/Attachments/{FileName}

Updates attachment on a specific account by filename

  • AccountID (path, required) — Unique identifier for Account object
  • FileName (path, required) — Name of the attachment
PUT

/Accounts/{AccountID}/Attachments/{FileName}

Creates an attachment on a specific account

  • AccountID (path, required) — Unique identifier for Account object
  • FileName (path, required) — Name of the attachment
GET

/CreditNotes/{CreditNoteID}/Attachments/{FileName}

Retrieves a specific attachment on a specific credit note by file name

  • CreditNoteID (path, required) — Unique identifier for a Credit Note
  • FileName (path, required) — Name of the file you are attaching to Credit Note
  • contentType (header, required) — The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
GET

/BankTransactions

Retrieves any spent or received money transactions

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • where (query) — Filter by an any element
  • order (query) — Order by an any element
  • page (query, page) — Up to 100 bank transactions will be returned in a single API call with line items details
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
POST

/BankTransactions

Updates or creates one or more spent or received money transaction

  • summarizeErrors (query) — If false return 200 OK and mix of successfully created objects and any with validation errors
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
PUT

/BankTransactions

Creates one or more spent or received money transaction

  • summarizeErrors (query) — If false return 200 OK and mix of successfully created objects and any with validation errors
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
GET

/BankTransactions/{BankTransactionID}

Retrieves a single spent or received money transaction by using a unique bank transaction Id

  • BankTransactionID (path, required) — Xero generated unique identifier for a bank transaction
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
POST

/BankTransactions/{BankTransactionID}

Updates a single spent or received money transaction

  • BankTransactionID (path, required) — Xero generated unique identifier for a bank transaction
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
GET

/BankTransactions/{BankTransactionID}/Attachments

Retrieves any attachments from a specific bank transactions

  • BankTransactionID (path, required) — Xero generated unique identifier for a bank transaction
GET

/BankTransactions/{BankTransactionID}/Attachments/{AttachmentID}

Retrieves specific attachments from a specific BankTransaction using a unique attachment Id

  • BankTransactionID (path, required) — Xero generated unique identifier for a bank transaction
  • AttachmentID (path, required) — Xero generated unique identifier for an attachment
  • contentType (header, required) — The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
GET

/BankTransactions/{BankTransactionID}/Attachments/{FileName}

Retrieves a specific attachment from a specific bank transaction by filename

  • BankTransactionID (path, required) — Xero generated unique identifier for a bank transaction
  • FileName (path, required) — The name of the file being attached
  • contentType (header, required) — The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
POST

/BankTransactions/{BankTransactionID}/Attachments/{FileName}

Updates a specific attachment from a specific bank transaction by filename

  • BankTransactionID (path, required) — Xero generated unique identifier for a bank transaction
  • FileName (path, required) — The name of the file being attached
PUT

/BankTransactions/{BankTransactionID}/Attachments/{FileName}

Creates an attachment for a specific bank transaction by filename

  • BankTransactionID (path, required) — Xero generated unique identifier for a bank transaction
  • FileName (path, required) — The name of the file being attached
GET

/BankTransactions/{BankTransactionID}/History

Retrieves history from a specific bank transaction using a unique bank transaction Id

  • BankTransactionID (path, required) — Xero generated unique identifier for a bank transaction
PUT

/BankTransactions/{BankTransactionID}/History

Creates a history record for a specific bank transactions

  • BankTransactionID (path, required) — Xero generated unique identifier for a bank transaction
POST

/BankTransfers/{BankTransferID}/Attachments/{FileName}

  • BankTransferID (path, required) — Xero generated unique identifier for a bank transfer
  • FileName (path, required) — The name of the file being attached to a Bank Transfer
PUT

/BankTransfers/{BankTransferID}/Attachments/{FileName}

  • BankTransferID (path, required) — Xero generated unique identifier for a bank transfer
  • FileName (path, required) — The name of the file being attached to a Bank Transfer
GET

/BankTransfers

Retrieves all bank transfers

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • where (query) — Filter by an any element
  • order (query) — Order by an any element
PUT

/BankTransfers

Creates a bank transfer

GET

/BankTransfers/{BankTransferID}

Retrieves specific bank transfers by using a unique bank transfer Id

  • BankTransferID (path, required) — Xero generated unique identifier for a bank transfer
GET

/BankTransfers/{BankTransferID}/Attachments

Retrieves attachments from a specific bank transfer

  • BankTransferID (path, required) — Xero generated unique identifier for a bank transfer
GET

/BankTransfers/{BankTransferID}/Attachments/{AttachmentID}

Retrieves a specific attachment from a specific bank transfer using a unique attachment ID

  • BankTransferID (path, required) — Xero generated unique identifier for a bank transfer
  • AttachmentID (path, required) — Xero generated unique identifier for an Attachment to a bank transfer
  • contentType (header, required) — The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
GET

/BankTransfers/{BankTransferID}/Attachments/{FileName}

Retrieves a specific attachment on a specific bank transfer by file name

  • BankTransferID (path, required) — Xero generated unique identifier for a bank transfer
  • FileName (path, required) — The name of the file being attached to a Bank Transfer
  • contentType (header, required) — The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
GET

/BankTransfers/{BankTransferID}/History

Retrieves history from a specific bank transfer using a unique bank transfer Id

  • BankTransferID (path, required) — Xero generated unique identifier for a bank transfer
GET

/BatchPayments

Retrieves either one or many batch payments for invoices

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • where (query) — Filter by an any element
  • order (query) — Order by an any element
PUT

/BatchPayments

Creates one or many batch payments for invoices

  • summarizeErrors (query) — If false return 200 OK and mix of successfully created objects and any with validation errors
GET

/BatchPayments/{BatchPaymentID}/History

Retrieves history from a specific batch payment

  • BatchPaymentID (path, required) — Unique identifier for BatchPayment
PUT

/BatchPayments/{BatchPaymentID}/History

Creates a history record for a specific batch payment

  • BatchPaymentID (path, required) — Unique identifier for BatchPayment
GET

/BrandingThemes

Retrieves all the branding themes

GET

/BrandingThemes/{BrandingThemeID}

Retrieves a specific branding theme using a unique branding theme Id

  • BrandingThemeID (path, required) — Unique identifier for a Branding Theme
GET

/BrandingThemes/{BrandingThemeID}/PaymentServices

Retrieves the payment services for a specific branding theme

  • BrandingThemeID (path, required) — Unique identifier for a Branding Theme
POST

/BrandingThemes/{BrandingThemeID}/PaymentServices

Creates a new custom payment service for a specific branding theme

  • BrandingThemeID (path, required) — Unique identifier for a Branding Theme
GET

/PurchaseOrders/{PurchaseOrderNumber}

Retrieves a specific purchase order using purchase order number

  • PurchaseOrderNumber (path, required) — Unique identifier for a PurchaseOrder
GET

/ContactGroups

Retrieves the contact Id and name of all the contacts in a contact group

  • where (query) — Filter by an any element
  • order (query) — Order by an any element
PUT

/ContactGroups

Creates a contact group

GET

/ContactGroups/{ContactGroupID}

Retrieves a specific contact group by using a unique contact group Id

  • ContactGroupID (path, required) — Unique identifier for a Contact Group
POST

/ContactGroups/{ContactGroupID}

Updates a specific contact group

  • ContactGroupID (path, required) — Unique identifier for a Contact Group
DELETE

/ContactGroups/{ContactGroupID}/Contacts

Deletes all contacts from a specific contact group

  • ContactGroupID (path, required) — Unique identifier for a Contact Group
PUT

/ContactGroups/{ContactGroupID}/Contacts

Creates contacts to a specific contact group

  • ContactGroupID (path, required) — Unique identifier for a Contact Group
DELETE

/ContactGroups/{ContactGroupID}/Contacts/{ContactID}

Deletes a specific contact from a contact group using a unique contact Id

  • ContactGroupID (path, required) — Unique identifier for a Contact Group
  • ContactID (path, required) — Unique identifier for a Contact
GET

/Contacts

Retrieves all contacts in a Xero organisation

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • where (query) — Filter by an any element
  • order (query) — Order by an any element
  • IDs (query) — Filter by a comma separated list of ContactIDs. Allows you to retrieve a specific set of contacts in a single call.
  • page (query, page) — e.g. page=1 - Up to 100 contacts will be returned in a single API call.
  • includeArchived (query) — e.g. includeArchived=true - Contacts with a status of ARCHIVED will be included in the response
GET

/Quotes/{QuoteID}/Attachments

Retrieves attachments for a specific quote

  • QuoteID (path, required) — Unique identifier for Quote object
POST

/Contacts

Updates or creates one or more contacts in a Xero organisation

  • summarizeErrors (query) — If false return 200 OK and mix of successfully created objects and any with validation errors
PUT

/Contacts

Creates multiple contacts (bulk) in a Xero organisation

  • summarizeErrors (query) — If false return 200 OK and mix of successfully created objects and any with validation errors
GET

/Contacts/{ContactID}

Retrieves a specific contacts in a Xero organisation using a unique contact Id

  • ContactID (path, required) — Unique identifier for a Contact
POST

/Contacts/{ContactID}

Updates a specific contact in a Xero organisation

  • ContactID (path, required) — Unique identifier for a Contact
GET

/Contacts/{ContactID}/Attachments

Retrieves attachments for a specific contact in a Xero organisation

  • ContactID (path, required) — Unique identifier for a Contact
PUT

/Contacts/{ContactID}/Attachments/{FileName}

  • ContactID (path, required) — Unique identifier for a Contact
  • FileName (path, required) — Name for the file you are attaching
GET

/Contacts/{ContactID}/CISSettings

Retrieves CIS settings for a specific contact in a Xero organisation

  • ContactID (path, required) — Unique identifier for a Contact
GET

/Contacts/{ContactID}/History

Retrieves history records for a specific contact

  • ContactID (path, required) — Unique identifier for a Contact
PUT

/Contacts/{ContactID}/History

Creates a new history record for a specific contact

  • ContactID (path, required) — Unique identifier for a Contact
GET

/Contacts/{ContactNumber}

Retrieves a specific contact by contact number in a Xero organisation

  • ContactNumber (path, required) — This field is read only on the Xero contact screen, used to identify contacts in external systems (max length = 50).
GET

/CreditNotes

Retrieves any credit notes

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • where (query) — Filter by an any element
  • order (query) — Order by an any element
  • page (query, page) — e.g. page=1 – Up to 100 credit notes will be returned in a single API call with line items shown for each credit note
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
POST

/CreditNotes

Updates or creates one or more credit notes

  • summarizeErrors (query) — If false return 200 OK and mix of successfully created objects and any with validation errors
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
GET

/Quotes/{QuoteID}/Attachments/{AttachmentID}

Retrieves a specific attachment from a specific quote using a unique attachment Id

  • QuoteID (path, required) — Unique identifier for Quote object
  • AttachmentID (path, required) — Unique identifier for Attachment object
  • contentType (header, required) — The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
PUT

/CreditNotes

Creates a new credit note

  • summarizeErrors (query) — If false return 200 OK and mix of successfully created objects and any with validation errors
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
GET

/CreditNotes/{CreditNoteID}

Retrieves a specific credit note using a unique credit note Id

  • CreditNoteID (path, required) — Unique identifier for a Credit Note
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
POST

/CreditNotes/{CreditNoteID}

Updates a specific credit note

  • CreditNoteID (path, required) — Unique identifier for a Credit Note
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
PUT

/CreditNotes/{CreditNoteID}/Allocations

Creates allocation for a specific credit note

  • CreditNoteID (path, required) — Unique identifier for a Credit Note
  • summarizeErrors (query) — If false return 200 OK and mix of successfully created objects and any with validation errors
GET

/CreditNotes/{CreditNoteID}/Attachments

Retrieves attachments for a specific credit notes

  • CreditNoteID (path, required) — Unique identifier for a Credit Note
POST

/CreditNotes/{CreditNoteID}/Attachments/{FileName}

Updates attachments on a specific credit note by file name

  • CreditNoteID (path, required) — Unique identifier for a Credit Note
  • FileName (path, required) — Name of the file you are attaching to Credit Note
PUT

/CreditNotes/{CreditNoteID}/Attachments/{FileName}

Creates an attachment for a specific credit note

  • CreditNoteID (path, required) — Unique identifier for a Credit Note
  • FileName (path, required) — Name of the file you are attaching to Credit Note
  • IncludeOnline (query) — Allows an attachment to be seen by the end customer within their online invoice
GET

/CreditNotes/{CreditNoteID}/History

Retrieves history records of a specific credit note

  • CreditNoteID (path, required) — Unique identifier for a Credit Note
PUT

/CreditNotes/{CreditNoteID}/History

Retrieves history records of a specific credit note

  • CreditNoteID (path, required) — Unique identifier for a Credit Note
GET

/CreditNotes/{CreditNoteID}/pdf

Retrieves credit notes as PDF files

  • CreditNoteID (path, required) — Unique identifier for a Credit Note
GET

/Currencies

Retrieves currencies for your Xero organisation

  • where (query) — Filter by an any element
  • order (query) — Order by an any element
PUT

/Currencies

Create a new currency for a Xero organisation

GET

/Employees

Retrieves employees used in Xero payrun

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • where (query) — Filter by an any element
  • order (query) — Order by an any element
POST

/Employees

Creates a single new employees used in Xero payrun

  • summarizeErrors (query) — If false return 200 OK and mix of successfully created objects and any with validation errors
PUT

/Employees

Creates new employees used in Xero payrun

  • summarizeErrors (query) — If false return 200 OK and mix of successfully created objects and any with validation errors
GET

/Employees/{EmployeeID}

Retrieves a specific employee used in Xero payrun using a unique employee Id

  • EmployeeID (path, required) — Unique identifier for a Employee
GET

/ExpenseClaims

Retrieves expense claims

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • where (query) — Filter by an any element
  • order (query) — Order by an any element
PUT

/ExpenseClaims

Creates expense claims

GET

/ExpenseClaims/{ExpenseClaimID}

Retrieves a specific expense claim using a unique expense claim Id

  • ExpenseClaimID (path, required) — Unique identifier for a ExpenseClaim
POST

/ExpenseClaims/{ExpenseClaimID}

Updates a specific expense claims

  • ExpenseClaimID (path, required) — Unique identifier for a ExpenseClaim
GET

/ExpenseClaims/{ExpenseClaimID}/History

Retrieves history records of a specific expense claim

  • ExpenseClaimID (path, required) — Unique identifier for a ExpenseClaim
PUT

/ExpenseClaims/{ExpenseClaimID}/History

Creates a history record for a specific expense claim

  • ExpenseClaimID (path, required) — Unique identifier for a ExpenseClaim
GET

/InvoiceReminders/Settings

Retrieves invoice reminder settings

GET

/Invoices

Retrieves sales invoices or purchase bills

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • where (query) — Filter by an any element
  • order (query) — Order by an any element
  • IDs (query) — Filter by a comma-separated list of InvoicesIDs.
  • InvoiceNumbers (query) — Filter by a comma-separated list of InvoiceNumbers.
  • ContactIDs (query) — Filter by a comma-separated list of ContactIDs.
  • Statuses (query) — Filter by a comma-separated list Statuses. For faster response times we recommend using these explicit parameters instead of passing OR conditions into the Where filter.
  • page (query, page) — e.g. page=1 – Up to 100 invoices will be returned in a single API call with line items shown for each invoice
  • includeArchived (query) — e.g. includeArchived=true - Contacts with a status of ARCHIVED will be included in the response
  • createdByMyApp (query) — When set to true you'll only retrieve Invoices created by your app
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
POST

/Invoices

Updates or creates one or more sales invoices or purchase bills

  • summarizeErrors (query) — If false return 200 OK and mix of successfully created objects and any with validation errors
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
PUT

/Invoices

Creates one or more sales invoices or purchase bills

  • summarizeErrors (query) — If false return 200 OK and mix of successfully created objects and any with validation errors
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
GET

/Invoices/{InvoiceID}

Retrieves a specific sales invoice or purchase bill using a unique invoice Id

  • InvoiceID (path, required) — Unique identifier for an Invoice
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
POST

/Invoices/{InvoiceID}

Updates a specific sales invoices or purchase bills

  • InvoiceID (path, required) — Unique identifier for an Invoice
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
GET

/Invoices/{InvoiceID}/Attachments

Retrieves attachments for a specific invoice or purchase bill

  • InvoiceID (path, required) — Unique identifier for an Invoice
GET

/Invoices/{InvoiceID}/Attachments/{AttachmentID}

Retrieves a specific attachment from a specific invoices or purchase bills by using a unique attachment Id

  • InvoiceID (path, required) — Unique identifier for an Invoice
  • AttachmentID (path, required) — Unique identifier for an Attachment
  • contentType (header, required) — The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
GET

/Invoices/{InvoiceID}/Attachments/{FileName}

Retrieves an attachment from a specific invoice or purchase bill by filename

  • InvoiceID (path, required) — Unique identifier for an Invoice
  • FileName (path, required) — Name of the file you are attaching
  • contentType (header, required) — The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
POST

/Invoices/{InvoiceID}/Attachments/{FileName}

Updates an attachment from a specific invoices or purchase bill by filename

  • InvoiceID (path, required) — Unique identifier for an Invoice
  • FileName (path, required) — Name of the file you are attaching
PUT

/Invoices/{InvoiceID}/Attachments/{FileName}

Creates an attachment for a specific invoice or purchase bill by filename

  • InvoiceID (path, required) — Unique identifier for an Invoice
  • FileName (path, required) — Name of the file you are attaching
  • IncludeOnline (query) — Allows an attachment to be seen by the end customer within their online invoice
POST

/Invoices/{InvoiceID}/Email

Sends a copy of a specific invoice to related contact via email

  • InvoiceID (path, required) — Unique identifier for an Invoice
GET

/Invoices/{InvoiceID}/History

Retrieves history records for a specific invoice

  • InvoiceID (path, required) — Unique identifier for an Invoice
PUT

/Invoices/{InvoiceID}/History

Creates a history record for a specific invoice

  • InvoiceID (path, required) — Unique identifier for an Invoice
GET

/Invoices/{InvoiceID}/OnlineInvoice

Retrieves a URL to an online invoice

  • InvoiceID (path, required) — Unique identifier for an Invoice
GET

/Invoices/{InvoiceID}/pdf

Retrieves invoices or purchase bills as PDF files

  • InvoiceID (path, required) — Unique identifier for an Invoice
GET

/Items

Retrieves items

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • where (query) — Filter by an any element
  • order (query) — Order by an any element
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
POST

/Items

Updates or creates one or more items

  • summarizeErrors (query) — If false return 200 OK and mix of successfully created objects and any with validation errors
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
PUT

/Items

Creates one or more items

  • summarizeErrors (query) — If false return 200 OK and mix of successfully created objects and any with validation errors
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
DELETE

/Items/{ItemID}

Deletes a specific item

  • ItemID (path, required) — Unique identifier for an Item
GET

/Items/{ItemID}

Retrieves a specific item using a unique item Id

  • ItemID (path, required) — Unique identifier for an Item
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
POST

/Items/{ItemID}

Updates a specific item

  • ItemID (path, required) — Unique identifier for an Item
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
GET

/Items/{ItemID}/History

Retrieves history for a specific item

  • ItemID (path, required) — Unique identifier for an Item
PUT

/Items/{ItemID}/History

Creates a history record for a specific item

  • ItemID (path, required) — Unique identifier for an Item
GET

/Journals

Retrieves journals

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • offset (query, offset) — Offset by a specified journal number. e.g. journals with a JournalNumber greater than the offset will be returned
  • paymentsOnly (query) — Filter to retrieve journals on a cash basis. Journals are returned on an accrual basis by default.
GET

/Journals/{JournalID}

Retrieves a specific journal using a unique journal Id.

  • JournalID (path, required) — Unique identifier for a Journal
GET

/LinkedTransactions

Retrieves linked transactions (billable expenses)

  • page (query, page) — Up to 100 linked transactions will be returned in a single API call. Use the page parameter to specify the page to be returned e.g. page=1.
  • LinkedTransactionID (query) — The Xero identifier for an Linked Transaction
  • SourceTransactionID (query) — Filter by the SourceTransactionID. Get the linked transactions created from a particular ACCPAY invoice
  • ContactID (query) — Filter by the ContactID. Get all the linked transactions that have been assigned to a particular customer.
  • Status (query) — Filter by the combination of ContactID and Status. Get the linked transactions associated to a customer and with a status
  • TargetTransactionID (query) — Filter by the TargetTransactionID. Get all the linked transactions allocated to a particular ACCREC invoice
PUT

/LinkedTransactions

Creates linked transactions (billable expenses)

DELETE

/LinkedTransactions/{LinkedTransactionID}

Deletes a specific linked transactions (billable expenses)

  • LinkedTransactionID (path, required) — Unique identifier for a LinkedTransaction
GET

/LinkedTransactions/{LinkedTransactionID}

Retrieves a specific linked transaction (billable expenses) using a unique linked transaction Id

  • LinkedTransactionID (path, required) — Unique identifier for a LinkedTransaction
POST

/LinkedTransactions/{LinkedTransactionID}

Updates a specific linked transactions (billable expenses)

  • LinkedTransactionID (path, required) — Unique identifier for a LinkedTransaction
GET

/ManualJournals

Retrieves manual journals

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • where (query) — Filter by an any element
  • order (query) — Order by an any element
  • page (query, page) — e.g. page=1 – Up to 100 manual journals will be returned in a single API call with line items shown for each overpayment
POST

/ManualJournals

Updates or creates a single manual journal

  • summarizeErrors (query) — If false return 200 OK and mix of successfully created objects and any with validation errors
POST

/ManualJournals/{ManualJournalID}/Attachments/{FileName}

Updates a specific attachment from a specific manual journal by file name

  • ManualJournalID (path, required) — Unique identifier for a ManualJournal
  • FileName (path, required) — The name of the file being attached to a ManualJournal
PUT

/ManualJournals

Creates one or more manual journals

  • summarizeErrors (query) — If false return 200 OK and mix of successfully created objects and any with validation errors
GET

/ManualJournals/{ManualJournalID}

Retrieves a specific manual journal

  • ManualJournalID (path, required) — Unique identifier for a ManualJournal
POST

/ManualJournals/{ManualJournalID}

Updates a specific manual journal

  • ManualJournalID (path, required) — Unique identifier for a ManualJournal
GET

/ManualJournals/{ManualJournalID}/Attachments

Retrieves attachment for a specific manual journal

  • ManualJournalID (path, required) — Unique identifier for a ManualJournal
GET

/ManualJournals/{ManualJournalID}/Attachments/{AttachmentID}

Allows you to retrieve a specific attachment from a specific manual journal using a unique attachment Id

  • ManualJournalID (path, required) — Unique identifier for a ManualJournal
  • AttachmentID (path, required) — Unique identifier for a Attachment
  • contentType (header, required) — The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
GET

/ManualJournals/{ManualJournalID}/Attachments/{FileName}

Retrieves a specific attachment from a specific manual journal by file name

  • ManualJournalID (path, required) — Unique identifier for a ManualJournal
  • FileName (path, required) — The name of the file being attached to a ManualJournal
  • contentType (header, required) — The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
GET

/Quotes/{QuoteID}/Attachments/{FileName}

Retrieves a specific attachment from a specific quote by filename

  • QuoteID (path, required) — Unique identifier for Quote object
  • FileName (path, required) — Name of the attachment
  • contentType (header, required) — The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
PUT

/ManualJournals/{ManualJournalID}/Attachments/{FileName}

Creates a specific attachment for a specific manual journal by file name

  • ManualJournalID (path, required) — Unique identifier for a ManualJournal
  • FileName (path, required) — The name of the file being attached to a ManualJournal
GET

/ManualJournals/{ManualJournalID}/History

Retrieves history for a specific manual journal

  • ManualJournalID (path, required) — Xero generated unique identifier for a manual journal
PUT

/ManualJournals/{ManualJournalID}/History

Creates a history record for a specific manual journal

  • ManualJournalID (path, required) — Xero generated unique identifier for a manual journal
GET

/Organisation

Retrieves Xero organisation details

GET

/Organisation/Actions

Retrieves a list of the key actions your app has permission to perform in the connected Xero organisation.

GET

/Organisation/{OrganisationID}/CISSettings

Retrieves the CIS settings for the Xero organistaion.

  • OrganisationID (path, required) — The unique Xero identifier for an organisation
GET

/Overpayments

Retrieves overpayments

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • where (query) — Filter by an any element
  • order (query) — Order by an any element
  • page (query, page) — e.g. page=1 – Up to 100 overpayments will be returned in a single API call with line items shown for each overpayment
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
GET

/Overpayments/{OverpaymentID}

Retrieves a specific overpayment using a unique overpayment Id

  • OverpaymentID (path, required) — Unique identifier for a Overpayment
PUT

/Overpayments/{OverpaymentID}/Allocations

Creates a single allocation for a specific overpayment

  • OverpaymentID (path, required) — Unique identifier for a Overpayment
  • summarizeErrors (query) — If false return 200 OK and mix of successfully created objects and any with validation errors
GET

/Overpayments/{OverpaymentID}/History

Retrieves history records of a specific overpayment

  • OverpaymentID (path, required) — Unique identifier for a Overpayment
PUT

/Overpayments/{OverpaymentID}/History

Creates a history record for a specific overpayment

  • OverpaymentID (path, required) — Unique identifier for a Overpayment
GET

/PaymentServices

Retrieves payment services

PUT

/PaymentServices

Creates a payment service

GET

/Payments

Retrieves payments for invoices and credit notes

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • where (query) — Filter by an any element
  • order (query) — Order by an any element
  • page (query, page) — Up to 100 payments will be returned in a single API call
POST

/Payments

Creates a single payment for invoice or credit notes

PUT

/PurchaseOrders/{PurchaseOrderID}/Attachments/{FileName}

Creates attachment for a specific purchase order

  • PurchaseOrderID (path, required) — Unique identifier for Purchase Order object
  • FileName (path, required) — Name of the attachment
PUT

/Payments

Creates multiple payments for invoices or credit notes

  • summarizeErrors (query) — If false return 200 OK and mix of successfully created objects and any with validation errors
GET

/Payments/{PaymentID}

Retrieves a specific payment for invoices and credit notes using a unique payment Id

  • PaymentID (path, required) — Unique identifier for a Payment
POST

/Payments/{PaymentID}

Updates a specific payment for invoices and credit notes

  • PaymentID (path, required) — Unique identifier for a Payment
GET

/Payments/{PaymentID}/History

Retrieves history records of a specific payment

  • PaymentID (path, required) — Unique identifier for a Payment
PUT

/Payments/{PaymentID}/History

Creates a history record for a specific payment

  • PaymentID (path, required) — Unique identifier for a Payment
GET

/Prepayments

Retrieves prepayments

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • where (query) — Filter by an any element
  • order (query) — Order by an any element
  • page (query, page) — e.g. page=1 – Up to 100 prepayments will be returned in a single API call with line items shown for each overpayment
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
GET

/Prepayments/{PrepaymentID}

Allows you to retrieve a specified prepayments

  • PrepaymentID (path, required) — Unique identifier for a PrePayment
PUT

/Prepayments/{PrepaymentID}/Allocations

Allows you to create an Allocation for prepayments

  • PrepaymentID (path, required) — Unique identifier for Prepayment
  • summarizeErrors (query) — If false return 200 OK and mix of successfully created objects and any with validation errors
GET

/Prepayments/{PrepaymentID}/History

Retrieves history record for a specific prepayment

  • PrepaymentID (path, required) — Unique identifier for a PrePayment
PUT

/Prepayments/{PrepaymentID}/History

Creates a history record for a specific prepayment

  • PrepaymentID (path, required) — Unique identifier for a PrePayment
GET

/PurchaseOrders

Retrieves purchase orders

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • Status (query) — Filter by purchase order status
  • DateFrom (query) — Filter by purchase order date (e.g. GET https://.../PurchaseOrders?DateFrom=2015-12-01&DateTo=2015-12-31
  • DateTo (query) — Filter by purchase order date (e.g. GET https://.../PurchaseOrders?DateFrom=2015-12-01&DateTo=2015-12-31
  • order (query) — Order by an any element
  • page (query, page) — To specify a page, append the page parameter to the URL e.g. ?page=1. If there are 100 records in the response you will need to check if there is any more data by fetching the next page e.g ?page=2 and continuing this process until no more results are returned.
POST

/PurchaseOrders

Updates or creates one or more purchase orders

  • summarizeErrors (query) — If false return 200 OK and mix of successfully created objects and any with validation errors
GET

/PurchaseOrders/{PurchaseOrderID}/History

Retrieves history for a specific purchase order

  • PurchaseOrderID (path, required) — Unique identifier for a PurchaseOrder
PUT

/PurchaseOrders

Creates one or more purchase orders

  • summarizeErrors (query) — If false return 200 OK and mix of successfully created objects and any with validation errors
GET

/PurchaseOrders/{PurchaseOrderID}

Retrieves a specific purchase order using a unique purchase order Id

  • PurchaseOrderID (path, required) — Unique identifier for a PurchaseOrder
POST

/PurchaseOrders/{PurchaseOrderID}

Updates a specific purchase order

  • PurchaseOrderID (path, required) — Unique identifier for a PurchaseOrder
GET

/PurchaseOrders/{PurchaseOrderID}/Attachments

Retrieves attachments for a specific purchase order

  • PurchaseOrderID (path, required) — Unique identifier for Purchase Orders object
GET

/PurchaseOrders/{PurchaseOrderID}/Attachments/{AttachmentID}

Retrieves specific attachment for a specific purchase order using a unique attachment Id

  • PurchaseOrderID (path, required) — Unique identifier for Purchase Order object
  • AttachmentID (path, required) — Unique identifier for Attachment object
  • contentType (header, required) — The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
GET

/PurchaseOrders/{PurchaseOrderID}/Attachments/{FileName}

Retrieves a specific attachment for a specific purchase order by filename

  • PurchaseOrderID (path, required) — Unique identifier for Purchase Order object
  • FileName (path, required) — Name of the attachment
  • contentType (header, required) — The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
POST

/PurchaseOrders/{PurchaseOrderID}/Attachments/{FileName}

Updates a specific attachment for a specific purchase order by filename

  • PurchaseOrderID (path, required) — Unique identifier for Purchase Order object
  • FileName (path, required) — Name of the attachment
PUT

/PurchaseOrders/{PurchaseOrderID}/History

Creates a history record for a specific purchase orders

  • PurchaseOrderID (path, required) — Unique identifier for a PurchaseOrder
GET

/PurchaseOrders/{PurchaseOrderID}/pdf

Retrieves specific purchase order as PDF files using a unique purchase order Id

  • PurchaseOrderID (path, required) — Unique identifier for an Purchase Order
GET

/Quotes

Retrieves sales quotes

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • DateFrom (query) — Filter for quotes after a particular date
  • DateTo (query) — Filter for quotes before a particular date
  • ExpiryDateFrom (query) — Filter for quotes expiring after a particular date
  • ExpiryDateTo (query) — Filter for quotes before a particular date
  • ContactID (query) — Filter for quotes belonging to a particular contact
  • Status (query) — Filter for quotes of a particular Status
  • page (query, page) — e.g. page=1 – Up to 100 Quotes will be returned in a single API call with line items shown for each quote
  • order (query) — Order by an any element
  • QuoteNumber (query) — Filter by quote number (e.g. GET https://.../Quotes?QuoteNumber=QU-0001)
POST

/Quotes

Updates or creates one or more quotes

  • summarizeErrors (query) — If false return 200 OK and mix of successfully created objects and any with validation errors
PUT

/Quotes

Create one or more quotes

  • summarizeErrors (query) — If false return 200 OK and mix of successfully created objects and any with validation errors
GET

/Quotes/{QuoteID}

Retrieves a specific quote using a unique quote Id

  • QuoteID (path, required) — Unique identifier for an Quote
POST

/Quotes/{QuoteID}

Updates a specific quote

  • QuoteID (path, required) — Unique identifier for an Quote
POST

/Quotes/{QuoteID}/Attachments/{FileName}

Updates a specific attachment from a specific quote by filename

  • QuoteID (path, required) — Unique identifier for Quote object
  • FileName (path, required) — Name of the attachment
PUT

/Quotes/{QuoteID}/Attachments/{FileName}

Creates attachment for a specific quote

  • QuoteID (path, required) — Unique identifier for Quote object
  • FileName (path, required) — Name of the attachment
GET

/Quotes/{QuoteID}/History

Retrieves history records of a specific quote

  • QuoteID (path, required) — Unique identifier for an Quote
PUT

/Quotes/{QuoteID}/History

Creates a history record for a specific quote

  • QuoteID (path, required) — Unique identifier for an Quote
GET

/Quotes/{QuoteID}/pdf

Retrieves a specific quote as a PDF file using a unique quote Id

  • QuoteID (path, required) — Unique identifier for an Quote
GET

/Receipts

Retrieves draft expense claim receipts for any user

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • where (query) — Filter by an any element
  • order (query) — Order by an any element
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
PUT

/Receipts

Creates draft expense claim receipts for any user

  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
GET

/Receipts/{ReceiptID}

Retrieves a specific draft expense claim receipt by using a unique receipt Id

  • ReceiptID (path, required) — Unique identifier for a Receipt
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
POST

/Receipts/{ReceiptID}

Updates a specific draft expense claim receipts

  • ReceiptID (path, required) — Unique identifier for a Receipt
  • unitdp (query) — e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts
GET

/Receipts/{ReceiptID}/Attachments

Retrieves attachments for a specific expense claim receipt

  • ReceiptID (path, required) — Unique identifier for a Receipt
GET

/Receipts/{ReceiptID}/Attachments/{AttachmentID}

Retrieves a specific attachments from a specific expense claim receipts by using a unique attachment Id

  • ReceiptID (path, required) — Unique identifier for a Receipt
  • AttachmentID (path, required) — Unique identifier for a Attachment
  • contentType (header, required) — The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
GET

/Receipts/{ReceiptID}/Attachments/{FileName}

Retrieves a specific attachment from a specific expense claim receipts by file name

  • ReceiptID (path, required) — Unique identifier for a Receipt
  • FileName (path, required) — The name of the file being attached to the Receipt
  • contentType (header, required) — The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
POST

/Receipts/{ReceiptID}/Attachments/{FileName}

Updates a specific attachment on a specific expense claim receipts by file name

  • ReceiptID (path, required) — Unique identifier for a Receipt
  • FileName (path, required) — The name of the file being attached to the Receipt
PUT

/Receipts/{ReceiptID}/Attachments/{FileName}

Creates an attachment on a specific expense claim receipts by file name

  • ReceiptID (path, required) — Unique identifier for a Receipt
  • FileName (path, required) — The name of the file being attached to the Receipt
GET

/Receipts/{ReceiptID}/History

Retrieves a history record for a specific receipt

  • ReceiptID (path, required) — Unique identifier for a Receipt
PUT

/Receipts/{ReceiptID}/History

Creates a history record for a specific receipt

  • ReceiptID (path, required) — Unique identifier for a Receipt
PUT

/RepeatingInvoices/{RepeatingInvoiceID}/History

Creates a history record for a specific repeating invoice

  • RepeatingInvoiceID (path, required) — Unique identifier for a Repeating Invoice
GET

/Reports

Retrieves report for BAS (only valid for AU orgs)

PUT

/TaxRates

Creates one or more tax rates

GET

/RepeatingInvoices

Retrieves repeating invoices

  • where (query) — Filter by an any element
  • order (query) — Order by an any element
GET

/RepeatingInvoices/{RepeatingInvoiceID}

Retrieves a specific repeating invoice by using a unique repeating invoice Id

  • RepeatingInvoiceID (path, required) — Unique identifier for a Repeating Invoice
GET

/RepeatingInvoices/{RepeatingInvoiceID}/Attachments

Retrieves attachments from a specific repeating invoice

  • RepeatingInvoiceID (path, required) — Unique identifier for a Repeating Invoice
GET

/RepeatingInvoices/{RepeatingInvoiceID}/Attachments/{AttachmentID}

Retrieves a specific attachment from a specific repeating invoice

  • RepeatingInvoiceID (path, required) — Unique identifier for a Repeating Invoice
  • AttachmentID (path, required) — Unique identifier for a Attachment
  • contentType (header, required) — The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
GET

/RepeatingInvoices/{RepeatingInvoiceID}/Attachments/{FileName}

Retrieves a specific attachment from a specific repeating invoices by file name

  • RepeatingInvoiceID (path, required) — Unique identifier for a Repeating Invoice
  • FileName (path, required) — The name of the file being attached to a Repeating Invoice
  • contentType (header, required) — The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
POST

/RepeatingInvoices/{RepeatingInvoiceID}/Attachments/{FileName}

Updates a specific attachment from a specific repeating invoices by file name

  • RepeatingInvoiceID (path, required) — Unique identifier for a Repeating Invoice
  • FileName (path, required) — The name of the file being attached to a Repeating Invoice
PUT

/RepeatingInvoices/{RepeatingInvoiceID}/Attachments/{FileName}

Creates an attachment from a specific repeating invoices by file name

  • RepeatingInvoiceID (path, required) — Unique identifier for a Repeating Invoice
  • FileName (path, required) — The name of the file being attached to a Repeating Invoice
GET

/RepeatingInvoices/{RepeatingInvoiceID}/History

Retrieves history record for a specific repeating invoice

  • RepeatingInvoiceID (path, required) — Unique identifier for a Repeating Invoice
GET

/Reports/AgedPayablesByContact

Retrieves report for aged payables by contact

  • contactId (query, required) — Unique identifier for a Contact
  • date (query) — The date of the Aged Payables By Contact report
  • fromDate (query) — The from date of the Aged Payables By Contact report
  • toDate (query) — The to date of the Aged Payables By Contact report
GET

/Reports/AgedReceivablesByContact

Retrieves report for aged receivables by contact

  • contactId (query, required) — Unique identifier for a Contact
  • date (query) — The date of the Aged Receivables By Contact report
  • fromDate (query) — The from date of the Aged Receivables By Contact report
  • toDate (query) — The to date of the Aged Receivables By Contact report
GET

/Reports/BalanceSheet

Retrieves report for balancesheet

  • date (query) — The date of the Balance Sheet report
  • periods (query) — The number of periods for the Balance Sheet report
  • timeframe (query) — The period size to compare to (MONTH, QUARTER, YEAR)
  • trackingOptionID1 (query) — The tracking option 1 for the Balance Sheet report
  • trackingOptionID2 (query) — The tracking option 2 for the Balance Sheet report
  • standardLayout (query) — The standard layout boolean for the Balance Sheet report
  • paymentsOnly (query) — return a cash basis for the Balance Sheet report
GET

/Reports/BankSummary

Retrieves report for bank summary

  • fromDate (query) — The from date for the Bank Summary report e.g. 2018-03-31
  • toDate (query) — The to date for the Bank Summary report e.g. 2018-03-31
GET

/Reports/BudgetSummary

Retrieves report for budget summary

  • date (query) — The date for the Bank Summary report e.g. 2018-03-31
  • period (query) — The number of periods to compare (integer between 1 and 12)
  • timeframe (query) — The period size to compare to (1=month, 3=quarter, 12=year)
GET

/Reports/ExecutiveSummary

Retrieves report for executive summary

  • date (query) — The date for the Bank Summary report e.g. 2018-03-31
GET

/Reports/ProfitAndLoss

Retrieves report for profit and loss

  • fromDate (query) — The from date for the ProfitAndLoss report e.g. 2018-03-31
  • toDate (query) — The to date for the ProfitAndLoss report e.g. 2018-03-31
  • periods (query) — The number of periods to compare (integer between 1 and 12)
  • timeframe (query) — The period size to compare to (MONTH, QUARTER, YEAR)
  • trackingCategoryID (query) — The trackingCategory 1 for the ProfitAndLoss report
  • trackingCategoryID2 (query) — The trackingCategory 2 for the ProfitAndLoss report
  • trackingOptionID (query) — The tracking option 1 for the ProfitAndLoss report
  • trackingOptionID2 (query) — The tracking option 2 for the ProfitAndLoss report
  • standardLayout (query) — Return the standard layout for the ProfitAndLoss report
  • paymentsOnly (query) — Return cash only basis for the ProfitAndLoss report
GET

/Reports/TenNinetyNine

Retrieve reports for 1099

  • reportYear (query) — The year of the 1099 report
GET

/Reports/TrialBalance

Retrieves report for trial balance

  • date (query) — The date for the Trial Balance report e.g. 2018-03-31
  • paymentsOnly (query) — Return cash only basis for the Trial Balance report
GET

/Reports/{ReportID}

Retrieves a specific report for BAS using a unique report Id (only valid for AU orgs)

  • ReportID (path, required) — Unique identifier for a Report
POST

/Setup

Sets the chart of accounts, the conversion date and conversion balances

GET

/TaxRates

Retrieves tax rates

  • where (query) — Filter by an any element
  • order (query) — Order by an any element
  • TaxType (query) — Filter by tax type
POST

/TaxRates

Updates tax rates

GET

/TrackingCategories

Retrieves tracking categories and options

  • where (query) — Filter by an any element
  • order (query) — Order by an any element
  • includeArchived (query) — e.g. includeArchived=true - Categories and options with a status of ARCHIVED will be included in the response
PUT

/TrackingCategories

Create tracking categories

DELETE

/TrackingCategories/{TrackingCategoryID}

Deletes a specific tracking category

  • TrackingCategoryID (path, required) — Unique identifier for a TrackingCategory
GET

/TrackingCategories/{TrackingCategoryID}

Retrieves specific tracking categories and options using a unique tracking category Id

  • TrackingCategoryID (path, required) — Unique identifier for a TrackingCategory
POST

/TrackingCategories/{TrackingCategoryID}

Updates a specific tracking category

  • TrackingCategoryID (path, required) — Unique identifier for a TrackingCategory
PUT

/TrackingCategories/{TrackingCategoryID}/Options

Creates options for a specific tracking category

  • TrackingCategoryID (path, required) — Unique identifier for a TrackingCategory
DELETE

/TrackingCategories/{TrackingCategoryID}/Options/{TrackingOptionID}

Deletes a specific option for a specific tracking category

  • TrackingCategoryID (path, required) — Unique identifier for a TrackingCategory
  • TrackingOptionID (path, required) — Unique identifier for a Tracking Option
POST

/TrackingCategories/{TrackingCategoryID}/Options/{TrackingOptionID}

Updates a specific option for a specific tracking category

  • TrackingCategoryID (path, required) — Unique identifier for a TrackingCategory
  • TrackingOptionID (path, required) — Unique identifier for a Tracking Option
GET

/Users

Retrieves users

  • If-Modified-Since (header) — Only records created or modified since this timestamp will be returned
  • where (query) — Filter by an any element
  • order (query) — Order by an any element
GET

/Users/{UserID}

Retrieves a specific user

  • UserID (path, required) — Unique identifier for a User

224 endpoints auto-detected

Authentication

This API requires authentication: OAuth.

curl -X PUT \
  "https://api.xero.com/api.xro/2.0/BankTransfers/{BankTransferID}/History"

api.xero.com · HTTPS only