Xero Accounting API

Cloud accounting software API

developer.xero.com/documentation ↗
Version
3.0.1
OpenAPI
3.0.0
Endpoints
237
Schemas
171
69
Quality
Updated
3 days ago
Finance accounting finance invoicing
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://api.xero.com/api.xro/2.0

Endpoints

Clear filters

Accounting 54 endpoints

PUT /Accounts
operationId: Accounting_createChartOfAccounts

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

Account object in body of request

application/json
schema Account
Property Type Required
Code string optional
Name string optional
Type string optional
Class string optional
Status string optional
TaxType string optional
AccountID string optional
Description string optional
CurrencyCode string optional
ReportingCode string optional
SystemAccount string optional
AddToWatchlist boolean optional
HasAttachments boolean optional
UpdatedDateUTC string optional
BankAccountType string optional
ValidationErrors array optional
Message string optional
BankAccountNumber string optional
ReportingCodeName string optional
ShowInExpenseClaims boolean optional
EnablePaymentsToAccount boolean optional

Responses

200

Success - created new Account and return response of type Accounts array with new Account

400

Validation Error - some data was incorrect returns response of type Error

PUT /Accounts
PUT /Accounts/{AccountID}/Attachments/{FileName}
operationId: Accounting_createAttachment

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

AccountID path optional string

Unique identifier for Account object

FileName path optional string

Name of the attachment

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

Byte array of file in body of request

application/octet-stream
schema AccountingCreateAttachmentRequest
string

Responses

200

Success - return response of type Attachments array of Attachment

400

A failed request due to validation error

PUT /Accounts/{AccountID}/Attachments/{FileName}
PUT /BankTransactions
operationId: Accounting_createBankTransactions

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

summarizeErrors query optional boolean

If false return 200 OK and mix of successfully created objects and any with validation errors

unitdp query optional integer

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

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

BankTransactions with an array of BankTransaction objects in body of request

application/json
schema BankTransactions
Property Type Required
BankTransactions array optional
Url string optional
Date string optional
Type string required
Total number optional
Status string optional
Contact object optional
Name string optional
Phones array optional
PhoneType string optional
PhoneNumber string optional
PhoneAreaCode string optional
PhoneCountryCode string optional
Website string optional
Balances object optional
AccountsPayable object optional
AccountsReceivable object optional
Discount number optional
LastName string optional
Addresses array optional
City string optional
Region string optional
Country string optional
PostalCode string optional
AddressType string optional
AttentionTo string optional
AddressLine1 string optional
AddressLine2 string optional
AddressLine3 string optional
AddressLine4 string optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
EmailAddress string optional
PaymentTerms object optional
Bills object optional
Sales object optional
AccountNumber string optional
BatchPayments object optional
Code string optional
Details string optional
Reference string optional
BankAccountName string optional
BankAccountNumber string optional
BrandingTheme object optional
Name string optional
Type string optional
LogoUrl string optional
SortOrder integer optional
CreatedDateUTC string optional
BrandingThemeID string optional
CompanyNumber string optional
ContactGroups array optional
Name string optional
Status string optional
Contacts array optional
ContactGroupID string optional
…22 more object optional
SubTotal number optional
TotalTax number optional
LineItems array required
Item object optional
Code string optional
Name string optional
ItemID string optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
Name string optional
Option string optional
TrackingOptionID string optional
TrackingCategoryID string optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
BankAccount object required
Code string optional
Name string optional
Type string optional
Class string optional
Status string optional
TaxType string optional
AccountID string optional
Description string optional
CurrencyCode string optional
ReportingCode string optional
SystemAccount string optional
AddToWatchlist boolean optional
HasAttachments boolean optional
UpdatedDateUTC string optional
BankAccountType string optional
ValidationErrors array optional
Message string optional
BankAccountNumber string optional
ReportingCodeName string optional
ShowInExpenseClaims boolean optional
EnablePaymentsToAccount boolean optional
CurrencyCode string optional
CurrencyRate number optional
IsReconciled boolean optional
PrepaymentID string optional
OverpaymentID string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
ValidationErrors array optional
Message string optional
…2 more object optional

Responses

200

Success - return response of type BankTransactions array with new BankTransaction

400

A failed request due to validation error

PUT /BankTransactions
PUT /BankTransactions/{BankTransactionID}/Attachments/{FileName}
operationId: Accounting_createBankTransactionAttachmentByFilename

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

BankTransactionID path optional string

Xero generated unique identifier for a bank transaction

FileName path optional string

Name of the attachment

Request Body

required

Byte array of file in body of request

application/octet-stream
schema AccountingCreateBankTransactionAttachmentByFilenameRequest
string

Responses

200

Success - return response of Attachments array of Attachment

400

A failed request due to validation error

PUT /BankTransactions/{BankTransactionID}/Attachments/{FileName}
PUT /BankTransactions/{BankTransactionID}/History
operationId: Accounting_createBankTransactionHistory

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

BankTransactionID path optional string

Xero generated unique identifier for a bank transaction

Request Body

HistoryRecords containing an array of HistoryRecord objects in body of request

application/json
schema HistoryRecords
Property Type Required
HistoryRecords array optional
User string optional
Changes string optional
DateUTC string optional
Details string optional

Responses

200

Success - return response of type HistoryRecords array of HistoryRecord objects

400

A failed request due to validation error

PUT /BankTransactions/{BankTransactionID}/History
PUT /BankTransfers
operationId: Accounting_createBankTransfer

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

BankTransfers with array of BankTransfer objects in request body

application/json
schema BankTransfers
Property Type Required
BankTransfers array optional
Date string optional
Amount number required
Reference string optional
CurrencyRate number optional
ToBankAccount object required
Code string optional
Name string optional
Type string optional
Class string optional
Status string optional
TaxType string optional
AccountID string optional
Description string optional
CurrencyCode string optional
ReportingCode string optional
SystemAccount string optional
AddToWatchlist boolean optional
HasAttachments boolean optional
UpdatedDateUTC string optional
BankAccountType string optional
ValidationErrors array optional
Message string optional
BankAccountNumber string optional
ReportingCodeName string optional
ShowInExpenseClaims boolean optional
EnablePaymentsToAccount boolean optional
BankTransferID string optional
CreatedDateUTC string optional
HasAttachments boolean optional
ToIsReconciled boolean optional
FromBankAccount object required
Code string optional
Name string optional
Type string optional
Class string optional
Status string optional
TaxType string optional
AccountID string optional
Description string optional
CurrencyCode string optional
ReportingCode string optional
SystemAccount string optional
AddToWatchlist boolean optional
HasAttachments boolean optional
UpdatedDateUTC string optional
BankAccountType string optional
ValidationErrors array optional
Message string optional
BankAccountNumber string optional
ReportingCodeName string optional
ShowInExpenseClaims boolean optional
EnablePaymentsToAccount boolean optional
FromIsReconciled boolean optional
ValidationErrors array optional
Message string optional
ToBankTransactionID string optional
FromBankTransactionID string optional

Responses

200

Success - return response of BankTransfers array of one BankTransfer

400

A failed request due to validation error

PUT /BankTransfers
PUT /BankTransfers/{BankTransferID}/Attachments/{FileName}
operationId: Accounting_updateBankTransferAttachment

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

BankTransferID path optional string

Xero generated unique identifier for a bank transfer

FileName path optional string

Name of the attachment

Request Body

required

Byte array of file in body of request

application/octet-stream
schema AccountingUpdateBankTransferAttachmentRequest
string

Responses

200

Success - return response of Attachments array of 0 to N Attachment for a Bank Transfer

400

A failed request due to validation error

PUT /BankTransfers/{BankTransferID}/Attachments/{FileName}
PUT /BankTransfers/{BankTransferID}/History
operationId: Accounting_createBankTransferHistory

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

BankTransferID path optional string

Xero generated unique identifier for a bank transfer

Request Body

HistoryRecords containing an array of HistoryRecord objects in body of request

application/json
schema HistoryRecords
Property Type Required
HistoryRecords array optional
User string optional
Changes string optional
DateUTC string optional
Details string optional

Responses

200

Success - return response of type HistoryRecords array of HistoryRecord objects

400

A failed request due to validation error

PUT /BankTransfers/{BankTransferID}/History
PUT /BatchPayments
operationId: Accounting_createBatchPayments

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

summarizeErrors query optional boolean

If false return 200 OK and mix of successfully created objects and any with validation errors

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

BatchPayments with an array of Payments in body of request

application/json
schema BatchPayments
Property Type Required
BatchPayments array optional
Code string optional
Date string optional
Type string optional
Amount number optional
Status string optional
Account object optional
Code string optional
Name string optional
Type string optional
Class string optional
Status string optional
TaxType string optional
AccountID string optional
Description string optional
CurrencyCode string optional
ReportingCode string optional
SystemAccount string optional
AddToWatchlist boolean optional
HasAttachments boolean optional
UpdatedDateUTC string optional
BankAccountType string optional
ValidationErrors array optional
Message string optional
BankAccountNumber string optional
ReportingCodeName string optional
ShowInExpenseClaims boolean optional
EnablePaymentsToAccount boolean optional
Details string optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Code string optional
Name string optional
Type string optional
Class string optional
Status string optional
TaxType string optional
AccountID string optional
Description string optional
CurrencyCode string optional
ReportingCode string optional
SystemAccount string optional
AddToWatchlist boolean optional
HasAttachments boolean optional
UpdatedDateUTC string optional
BankAccountType string optional
ValidationErrors array optional
BankAccountNumber string optional
ReportingCodeName string optional
ShowInExpenseClaims boolean optional
EnablePaymentsToAccount boolean optional
Details string optional
Invoice object optional
Url string optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
AmountDue number optional
HasErrors boolean optional
InvoiceID string optional
LineItems array optional
Reference string optional
AmountPaid number optional
Attachments array optional
CreditNotes array optional
…20 more object optional
Warnings array optional
Message string optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
HasErrors boolean optional
LineItems array optional
Reference string optional
Allocations array optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional
HasAccount boolean optional
Prepayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Reference string optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
PrepaymentID string optional
AppliedAmount number optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Overpayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
OverpaymentID string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
Narrative string optional
Reference string optional
DateString string optional
Particulars string optional
TotalAmount number optional
IsReconciled boolean optional
BatchPaymentID string optional
UpdatedDateUTC string optional
ValidationErrors array optional
Message string optional

Responses

200

Success - return response of type BatchPayments array of BatchPayment objects

400

A failed request due to validation error

PUT /BatchPayments
PUT /BatchPayments/{BatchPaymentID}/History
operationId: Accounting_recordBatchPaymentHistory

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

BatchPaymentID path optional string

Unique identifier for BatchPayment

Request Body

HistoryRecords containing an array of HistoryRecord objects in body of request

application/json
schema HistoryRecords
Property Type Required
HistoryRecords array optional
User string optional
Changes string optional
DateUTC string optional
Details string optional

Responses

200

Success - return response of type HistoryRecords array of HistoryRecord objects

400

A failed request due to validation error

PUT /BatchPayments/{BatchPaymentID}/History
PUT /ContactGroups
operationId: Accounting_createContactGroup

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

ContactGroups with an array of names in request body

application/json
schema ContactGroups
Property Type Required
ContactGroups array optional
Name string optional
Status string optional
Contacts array optional
Name string optional
Phones array optional
PhoneType string optional
PhoneNumber string optional
PhoneAreaCode string optional
PhoneCountryCode string optional
Website string optional
Balances object optional
AccountsPayable object optional
AccountsReceivable object optional
Discount number optional
LastName string optional
Addresses array optional
City string optional
Region string optional
Country string optional
PostalCode string optional
AddressType string optional
AttentionTo string optional
AddressLine1 string optional
AddressLine2 string optional
AddressLine3 string optional
AddressLine4 string optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
EmailAddress string optional
PaymentTerms object optional
Bills object optional
Sales object optional
AccountNumber string optional
BatchPayments object optional
Code string optional
Details string optional
Reference string optional
BankAccountName string optional
BankAccountNumber string optional
BrandingTheme object optional
Name string optional
Type string optional
LogoUrl string optional
SortOrder integer optional
CreatedDateUTC string optional
BrandingThemeID string optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
ContactGroupID string optional

Responses

200

Success - return response of type Contact Groups array of newly created Contact Group

400

Validation Error - some data was incorrect returns response of type Error

PUT /ContactGroups
PUT /ContactGroups/{ContactGroupID}/Contacts
operationId: Accounting_addContactsToGroup

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

ContactGroupID path optional string

Unique identifier for a Contact Group

Request Body

required

Contacts with array of contacts specifying the ContactID to be added to ContactGroup in body of request

application/json
schema Contacts
Property Type Required
Contacts array optional
Name string optional
Phones array optional
PhoneType string optional
PhoneNumber string optional
PhoneAreaCode string optional
PhoneCountryCode string optional
Website string optional
Balances object optional
AccountsPayable object optional
Overdue number optional
Outstanding number optional
AccountsReceivable object optional
Overdue number optional
Outstanding number optional
Discount number optional
LastName string optional
Addresses array optional
City string optional
Region string optional
Country string optional
PostalCode string optional
AddressType string optional
AttentionTo string optional
AddressLine1 string optional
AddressLine2 string optional
AddressLine3 string optional
AddressLine4 string optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
EmailAddress string optional
PaymentTerms object optional
Bills object optional
Day integer optional
Type string optional
Sales object optional
Day integer optional
Type string optional
AccountNumber string optional
BatchPayments object optional
Code string optional
Details string optional
Reference string optional
BankAccountName string optional
BankAccountNumber string optional
BrandingTheme object optional
Name string optional
Type string optional
LogoUrl string optional
SortOrder integer optional
CreatedDateUTC string optional
BrandingThemeID string optional
CompanyNumber string optional
ContactGroups array optional
Name string optional
Status string optional
Contacts array optional
ContactGroupID string optional
…22 more object optional

Responses

200

Success - return response of type Contacts array of added Contacts

400

A failed request due to validation error

PUT /ContactGroups/{ContactGroupID}/Contacts
PUT /Contacts
operationId: Accounting_createMultipleContacts

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

summarizeErrors query optional boolean

If false return 200 OK and mix of successfully created objects and any with validation errors

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

Contacts with an array of Contact objects to create in body of request

application/json
schema Contacts
Property Type Required
Contacts array optional
Name string optional
Phones array optional
PhoneType string optional
PhoneNumber string optional
PhoneAreaCode string optional
PhoneCountryCode string optional
Website string optional
Balances object optional
AccountsPayable object optional
Overdue number optional
Outstanding number optional
AccountsReceivable object optional
Overdue number optional
Outstanding number optional
Discount number optional
LastName string optional
Addresses array optional
City string optional
Region string optional
Country string optional
PostalCode string optional
AddressType string optional
AttentionTo string optional
AddressLine1 string optional
AddressLine2 string optional
AddressLine3 string optional
AddressLine4 string optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
EmailAddress string optional
PaymentTerms object optional
Bills object optional
Day integer optional
Type string optional
Sales object optional
Day integer optional
Type string optional
AccountNumber string optional
BatchPayments object optional
Code string optional
Details string optional
Reference string optional
BankAccountName string optional
BankAccountNumber string optional
BrandingTheme object optional
Name string optional
Type string optional
LogoUrl string optional
SortOrder integer optional
CreatedDateUTC string optional
BrandingThemeID string optional
CompanyNumber string optional
ContactGroups array optional
Name string optional
Status string optional
Contacts array optional
ContactGroupID string optional
…22 more object optional

Responses

200

Success - return response of type Contacts array with newly created Contact

400

Validation Error - some data was incorrect returns response of type Error

PUT /Contacts
PUT /Contacts/{ContactID}/Attachments/{FileName}
operationId: Accounting_uploadAttachment

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

ContactID path optional string

Unique identifier for a Contact

FileName path optional string

Name of the attachment

Request Body

required

Byte array of file in body of request

application/octet-stream
schema AccountingUploadAttachmentRequest1
string

Responses

200

Success - return response of type Attachments array with an newly created Attachment

400

A failed request due to validation error

PUT /Contacts/{ContactID}/Attachments/{FileName}
PUT /Contacts/{ContactID}/History
operationId: Accounting_createContactHistory

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

ContactID path optional string

Unique identifier for a Contact

Request Body

HistoryRecords containing an array of HistoryRecord objects in body of request

application/json
schema HistoryRecords
Property Type Required
HistoryRecords array optional
User string optional
Changes string optional
DateUTC string optional
Details string optional

Responses

200

Success - return response of type HistoryRecords array of HistoryRecord objects

400

A failed request due to validation error

PUT /Contacts/{ContactID}/History
PUT /CreditNotes
operationId: Accounting_createCreditNote

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

summarizeErrors query optional boolean

If false return 200 OK and mix of successfully created objects and any with validation errors

unitdp query optional integer

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

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

Credit Notes with array of CreditNote object in body of request

application/json
schema CreditNotes
Property Type Required
CreditNotes array optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
Name string optional
Phones array optional
PhoneType string optional
PhoneNumber string optional
PhoneAreaCode string optional
PhoneCountryCode string optional
Website string optional
Balances object optional
AccountsPayable object optional
AccountsReceivable object optional
Discount number optional
LastName string optional
Addresses array optional
City string optional
Region string optional
Country string optional
PostalCode string optional
AddressType string optional
AttentionTo string optional
AddressLine1 string optional
AddressLine2 string optional
AddressLine3 string optional
AddressLine4 string optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
EmailAddress string optional
PaymentTerms object optional
Bills object optional
Sales object optional
AccountNumber string optional
BatchPayments object optional
Code string optional
Details string optional
Reference string optional
BankAccountName string optional
BankAccountNumber string optional
BrandingTheme object optional
Name string optional
Type string optional
LogoUrl string optional
SortOrder integer optional
CreatedDateUTC string optional
BrandingThemeID string optional
CompanyNumber string optional
ContactGroups array optional
Name string optional
Status string optional
Contacts array optional
ContactGroupID string optional
…22 more object optional
DueDate string optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Code string optional
Name string optional
Type string optional
Class string optional
Status string optional
TaxType string optional
AccountID string optional
Description string optional
CurrencyCode string optional
ReportingCode string optional
SystemAccount string optional
AddToWatchlist boolean optional
HasAttachments boolean optional
UpdatedDateUTC string optional
BankAccountType string optional
ValidationErrors array optional
BankAccountNumber string optional
ReportingCodeName string optional
ShowInExpenseClaims boolean optional
EnablePaymentsToAccount boolean optional
Details string optional
Invoice object optional
Url string optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
AmountDue number optional
HasErrors boolean optional
InvoiceID string optional
LineItems array optional
Reference string optional
AmountPaid number optional
Attachments array optional
CreditNotes array optional
…20 more object optional
Warnings array optional
Message string optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
HasAccount boolean optional
Prepayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Reference string optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
PrepaymentID string optional
AppliedAmount number optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Overpayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
OverpaymentID string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
Code string optional
Date string optional
Type string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Payments array optional
Narrative string optional
Reference string optional
DateString string optional
Particulars string optional
TotalAmount number optional
IsReconciled boolean optional
BatchPaymentID string optional
UpdatedDateUTC string optional
ValidationErrors array optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
HasErrors boolean optional
LineItems array optional
Item object optional
Code string optional
Name string optional
ItemID string optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
Name string optional
Option string optional
TrackingOptionID string optional
TrackingCategoryID string optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
Allocations array optional
Date string required
Amount number required
Invoice object required
Url string optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
AmountDue number optional
HasErrors boolean optional
InvoiceID string optional
LineItems array optional
Reference string optional
AmountPaid number optional
Attachments array optional
CreditNotes array optional
…20 more object optional
IsDeleted boolean optional
CreditNote object optional
Prepayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Reference string optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
PrepaymentID string optional
AppliedAmount number optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Overpayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
OverpaymentID string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
AllocationID string optional
ValidationErrors array optional
Message string optional
StatusAttributeString string optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional

Responses

200

Success - return response of type Credit Notes array of newly created CreditNote

400

A failed request due to validation error

PUT /CreditNotes
PUT /CreditNotes/{CreditNoteID}/Allocations
operationId: Accounting_createCreditNoteAllocations

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

CreditNoteID path optional string

Unique identifier for a Credit Note

summarizeErrors query optional boolean

If false return 200 OK and mix of successfully created objects and any with validation errors

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

Allocations with array of Allocation object in body of request.

application/json
schema Allocations
Property Type Required
Allocations array optional
Date string required
Amount number required
Invoice object required
Url string optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
DueDate string optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Invoice object optional
Warnings array optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
HasAccount boolean optional
Prepayment object optional
Overpayment object optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
AmountDue number optional
HasErrors boolean optional
InvoiceID string optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
AmountPaid number optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
CreditNotes array optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
HasErrors boolean optional
LineItems array optional
Reference string optional
Allocations array optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional
…20 more object optional
IsDeleted boolean optional
CreditNote object optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
DueDate string optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Invoice object optional
Warnings array optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
HasAccount boolean optional
Prepayment object optional
Overpayment object optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
HasErrors boolean optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
Allocations array optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional
Prepayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Invoice object optional
Warnings array optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
HasAccount boolean optional
Prepayment object optional
Overpayment object optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
Allocations array optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
CurrencyCode string optional
CurrencyRate number optional
PrepaymentID string optional
AppliedAmount number optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Overpayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Invoice object optional
Warnings array optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
HasAccount boolean optional
Prepayment object optional
Overpayment object optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Allocations array optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
OverpaymentID string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
AllocationID string optional
ValidationErrors array optional
Message string optional
StatusAttributeString string optional

Responses

200

Success - return response of type Allocations array with newly created Allocation for specific Credit Note

400

A failed request due to validation error

PUT /CreditNotes/{CreditNoteID}/Allocations
PUT /CreditNotes/{CreditNoteID}/Attachments/{FileName}
operationId: Accounting_updateCreditNoteAttachment

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

CreditNoteID path optional string

Unique identifier for a Credit Note

FileName path optional string

Name of the attachment

IncludeOnline query optional boolean

Allows an attachment to be seen by the end customer within their online invoice

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

Byte array of file in body of request

application/octet-stream
schema AccountingUpdateCreditNoteAttachmentRequest
string

Responses

200

Success - return response of type Attachments array with newly created Attachment for specific Credit Note

400

A failed request due to validation error

PUT /CreditNotes/{CreditNoteID}/Attachments/{FileName}
PUT /CreditNotes/{CreditNoteID}/History
operationId: Accounting_getCreditNoteHistory

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

CreditNoteID path optional string

Unique identifier for a Credit Note

Request Body

HistoryRecords containing an array of HistoryRecord objects in body of request

application/json
schema HistoryRecords
Property Type Required
HistoryRecords array optional
User string optional
Changes string optional
DateUTC string optional
Details string optional

Responses

200

Success - return response of type HistoryRecords array of HistoryRecord objects

400

A failed request due to validation error

PUT /CreditNotes/{CreditNoteID}/History
PUT /Currencies
operationId: Accounting_createCurrency

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

Currency object in the body of request

application/json
schema Currency
Property Type Required
Code string optional
Description string optional

Responses

200

Unsupported - return response incorrect exception, API is not able to create new Currency

PUT /Currencies
PUT /Employees
operationId: Accounting_createPayrunEmployees

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

summarizeErrors query optional boolean

If false return 200 OK and mix of successfully created objects and any with validation errors

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

Employees with array of Employee object in body of request

application/json
schema Employees
Property Type Required
Employees array optional
Status string optional
LastName string optional
FirstName string optional
EmployeeID string optional
ExternalLink object optional
Url string optional
LinkType string optional
Description string optional
UpdatedDateUTC string optional
ValidationErrors array optional
Message string optional
StatusAttributeString string optional

Responses

200

Success - return response of type Employees array with new Employee

400

A failed request due to validation error

PUT /Employees
PUT /ExpenseClaims
operationId: Accounting_createExpenseClaims

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

ExpenseClaims with array of ExpenseClaim object in body of request

application/json
schema ExpenseClaims
Property Type Required
ExpenseClaims array optional
User object optional
UserID string optional
LastName string optional
FirstName string optional
EmailAddress string optional
IsSubscriber boolean optional
UpdatedDateUTC string optional
OrganisationRole string optional
Total number optional
Status string optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Code string optional
Name string optional
Type string optional
Class string optional
Status string optional
TaxType string optional
AccountID string optional
Description string optional
CurrencyCode string optional
ReportingCode string optional
SystemAccount string optional
AddToWatchlist boolean optional
HasAttachments boolean optional
UpdatedDateUTC string optional
BankAccountType string optional
ValidationErrors array optional
BankAccountNumber string optional
ReportingCodeName string optional
ShowInExpenseClaims boolean optional
EnablePaymentsToAccount boolean optional
Details string optional
Invoice object optional
Url string optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
AmountDue number optional
HasErrors boolean optional
InvoiceID string optional
LineItems array optional
Reference string optional
AmountPaid number optional
Attachments array optional
CreditNotes array optional
…20 more object optional
Warnings array optional
Message string optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
HasErrors boolean optional
LineItems array optional
Reference string optional
Allocations array optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional
HasAccount boolean optional
Prepayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Reference string optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
PrepaymentID string optional
AppliedAmount number optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Overpayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
OverpaymentID string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
Code string optional
Date string optional
Type string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Payments array optional
Narrative string optional
Reference string optional
DateString string optional
Particulars string optional
TotalAmount number optional
IsReconciled boolean optional
BatchPaymentID string optional
UpdatedDateUTC string optional
ValidationErrors array optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
Receipts array optional
Url string optional
Date string optional
User object optional
UserID string optional
LastName string optional
FirstName string optional
EmailAddress string optional
IsSubscriber boolean optional
UpdatedDateUTC string optional
OrganisationRole string optional
Total number optional
Status string optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
ReceiptID string optional
Reference string optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
ReceiptNumber string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
ValidationErrors array optional
Message string optional
AmountDue number optional
ReceiptID string optional
AmountPaid number optional
ReportingDate string optional
ExpenseClaimID string optional
PaymentDueDate string optional
UpdatedDateUTC string optional

Responses

200

Success - return response of type ExpenseClaims array with newly created ExpenseClaim

400

A failed request due to validation error

PUT /ExpenseClaims
PUT /ExpenseClaims/{ExpenseClaimID}/History
operationId: Accounting_recordExpenseClaimHistory

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

ExpenseClaimID path optional string

Unique identifier for a ExpenseClaim

Request Body

HistoryRecords containing an array of HistoryRecord objects in body of request

application/json
schema HistoryRecords
Property Type Required
HistoryRecords array optional
User string optional
Changes string optional
DateUTC string optional
Details string optional

Responses

200

Success - return response of type HistoryRecords array of HistoryRecord objects

PUT /ExpenseClaims/{ExpenseClaimID}/History
PUT /Invoices
operationId: Accounting_createInvoices

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

summarizeErrors query optional boolean

If false return 200 OK and mix of successfully created objects and any with validation errors

unitdp query optional integer

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

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

Invoices with an array of invoice objects in body of request

application/json
schema Invoices
Property Type Required
Invoices array optional
Url string optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
Name string optional
Phones array optional
PhoneType string optional
PhoneNumber string optional
PhoneAreaCode string optional
PhoneCountryCode string optional
Website string optional
Balances object optional
AccountsPayable object optional
AccountsReceivable object optional
Discount number optional
LastName string optional
Addresses array optional
City string optional
Region string optional
Country string optional
PostalCode string optional
AddressType string optional
AttentionTo string optional
AddressLine1 string optional
AddressLine2 string optional
AddressLine3 string optional
AddressLine4 string optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
EmailAddress string optional
PaymentTerms object optional
Bills object optional
Sales object optional
AccountNumber string optional
BatchPayments object optional
Code string optional
Details string optional
Reference string optional
BankAccountName string optional
BankAccountNumber string optional
BrandingTheme object optional
Name string optional
Type string optional
LogoUrl string optional
SortOrder integer optional
CreatedDateUTC string optional
BrandingThemeID string optional
CompanyNumber string optional
ContactGroups array optional
Name string optional
Status string optional
Contacts array optional
ContactGroupID string optional
…22 more object optional
DueDate string optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Code string optional
Name string optional
Type string optional
Class string optional
Status string optional
TaxType string optional
AccountID string optional
Description string optional
CurrencyCode string optional
ReportingCode string optional
SystemAccount string optional
AddToWatchlist boolean optional
HasAttachments boolean optional
UpdatedDateUTC string optional
BankAccountType string optional
ValidationErrors array optional
BankAccountNumber string optional
ReportingCodeName string optional
ShowInExpenseClaims boolean optional
EnablePaymentsToAccount boolean optional
Details string optional
Invoice object optional
Warnings array optional
Message string optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
HasErrors boolean optional
LineItems array optional
Reference string optional
Allocations array optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional
HasAccount boolean optional
Prepayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Reference string optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
PrepaymentID string optional
AppliedAmount number optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Overpayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Allocations array optional
Attachments array optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
OverpaymentID string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
Code string optional
Date string optional
Type string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Payments array optional
Narrative string optional
Reference string optional
DateString string optional
Particulars string optional
TotalAmount number optional
IsReconciled boolean optional
BatchPaymentID string optional
UpdatedDateUTC string optional
ValidationErrors array optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
AmountDue number optional
HasErrors boolean optional
InvoiceID string optional
LineItems array optional
Item object optional
Code string optional
Name string optional
ItemID string optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
Name string optional
Option string optional
TrackingOptionID string optional
TrackingCategoryID string optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
AmountPaid number optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
CreditNotes array optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
DueDate string optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Invoice object optional
Warnings array optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
HasAccount boolean optional
Prepayment object optional
Overpayment object optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
HasErrors boolean optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
Allocations array optional
Date string required
Amount number required
Invoice object required
IsDeleted boolean optional
CreditNote object optional
Prepayment object optional
Overpayment object optional
AllocationID string optional
ValidationErrors array optional
StatusAttributeString string optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional
…20 more object optional

Responses

200

Success - return response of type Invoices array with newly created Invoice

400

A failed request due to validation error

PUT /Invoices
PUT /Invoices/{InvoiceID}/Attachments/{FileName}
operationId: Accounting_createAttachment

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

InvoiceID path optional string

Unique identifier for an Invoice

FileName path optional string

Name of the attachment

IncludeOnline query optional boolean

Allows an attachment to be seen by the end customer within their online invoice

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

Byte array of file in body of request

application/octet-stream
schema AccountingCreateAttachmentRequest1
string

Responses

200

Success - return response of type Attachments array with newly created Attachment

400

A failed request due to validation error

PUT /Invoices/{InvoiceID}/Attachments/{FileName}
PUT /Invoices/{InvoiceID}/History
operationId: Accounting_createInvoiceHistory

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

InvoiceID path optional string

Unique identifier for an Invoice

Request Body

HistoryRecords containing an array of HistoryRecord objects in body of request

application/json
schema HistoryRecords
Property Type Required
HistoryRecords array optional
User string optional
Changes string optional
DateUTC string optional
Details string optional

Responses

200

Success - return response of type HistoryRecords array of HistoryRecord objects

400

A failed request due to validation error

PUT /Invoices/{InvoiceID}/History
PUT /Items
operationId: Accounting_createItems

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

summarizeErrors query optional boolean

If false return 200 OK and mix of successfully created objects and any with validation errors

unitdp query optional integer

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

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

Items with an array of Item objects in body of request

application/json
schema Items
Property Type Required
Items array optional
Code string required
Name string optional
IsSold boolean optional
ItemID string optional
Description string optional
IsPurchased boolean optional
SalesDetails object optional
TaxType string optional
UnitPrice number optional
AccountCode string optional
COGSAccountCode string optional
TotalCostPool number optional
QuantityOnHand number optional
UpdatedDateUTC string optional
PurchaseDetails object optional
TaxType string optional
UnitPrice number optional
AccountCode string optional
COGSAccountCode string optional
ValidationErrors array optional
Message string optional
PurchaseDescription string optional
IsTrackedAsInventory boolean optional
StatusAttributeString string optional
InventoryAssetAccountCode string optional

Responses

200

Success - return response of type Items array with newly created Item

400

A failed request due to validation error

PUT /Items
PUT /Items/{ItemID}/History
operationId: Accounting_createItemHistoryRecord

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

ItemID path optional string

Unique identifier for an Item

Request Body

HistoryRecords containing an array of HistoryRecord objects in body of request

application/json
schema HistoryRecords
Property Type Required
HistoryRecords array optional
User string optional
Changes string optional
DateUTC string optional
Details string optional

Responses

200

Success - return response of type HistoryRecords array of HistoryRecord objects

PUT /Items/{ItemID}/History
PUT /LinkedTransactions
operationId: Accounting_createLinkedTransactions

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

LinkedTransaction object in body of request

application/json
schema LinkedTransaction
Property Type Required
Type string optional
Status string optional
ContactID string optional
UpdatedDateUTC string optional
SourceLineItemID string optional
TargetLineItemID string optional
ValidationErrors array optional
Message string optional
LinkedTransactionID string optional
SourceTransactionID string optional
TargetTransactionID string optional
SourceTransactionTypeCode string optional

Responses

200

Success - return response of type LinkedTransactions array with newly created LinkedTransaction

400

A failed request due to validation error

PUT /LinkedTransactions
PUT /ManualJournals
operationId: Accounting_createManualJournals

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

summarizeErrors query optional boolean

If false return 200 OK and mix of successfully created objects and any with validation errors

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

ManualJournals array with ManualJournal object in body of request

application/json
schema ManualJournals
Property Type Required
ManualJournals array optional
Url string optional
Date string optional
Status string optional
Warnings array optional
Message string optional
Narration string required
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
JournalLines array optional
IsBlank boolean optional
TaxType string optional
Tracking array optional
Name string optional
Option string optional
Status string optional
Options array optional
TrackingOptionID string optional
TrackingCategoryID string optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
AccountCode string optional
Description string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
ManualJournalID string optional
ValidationErrors array optional
Message string optional
StatusAttributeString string optional
ShowOnCashBasisReports boolean optional

Responses

200

Success - return response of type ManualJournals array with newly created ManualJournal

400

A failed request due to validation error

PUT /ManualJournals
PUT /ManualJournals/{ManualJournalID}/Attachments/{FileName}
operationId: Accounting_createSpecificAttachment

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

ManualJournalID path optional string

Unique identifier for a ManualJournal

FileName path optional string

Name of the attachment

Request Body

required

Byte array of file in body of request

application/octet-stream
schema AccountingCreateSpecificAttachmentRequest
string

Responses

200

Success - return response of type Attachments array with a newly created Attachment for a ManualJournals

400

A failed request due to validation error

PUT /ManualJournals/{ManualJournalID}/Attachments/{FileName}
PUT /ManualJournals/{ManualJournalID}/History
operationId: Accounting_createManualJournalHistoryRecord

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

ManualJournalID path optional string

Unique identifier for a ManualJournal

Request Body

HistoryRecords containing an array of HistoryRecord objects in body of request

application/json
schema HistoryRecords
Property Type Required
HistoryRecords array optional
User string optional
Changes string optional
DateUTC string optional
Details string optional

Responses

200

Success - return response of type HistoryRecords array of HistoryRecord objects

400

A failed request due to validation error

PUT /ManualJournals/{ManualJournalID}/History
PUT /Overpayments/{OverpaymentID}/Allocations
operationId: Accounting_createSingleAllocation

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

OverpaymentID path optional string

Unique identifier for a Overpayment

summarizeErrors query optional boolean

If false return 200 OK and mix of successfully created objects and any with validation errors

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

Allocations array with Allocation object in body of request

application/json
schema Allocations
Property Type Required
Allocations array optional
Date string required
Amount number required
Invoice object required
Url string optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
DueDate string optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Invoice object optional
Warnings array optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
HasAccount boolean optional
Prepayment object optional
Overpayment object optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
AmountDue number optional
HasErrors boolean optional
InvoiceID string optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
AmountPaid number optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
CreditNotes array optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
HasErrors boolean optional
LineItems array optional
Reference string optional
Allocations array optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional
…20 more object optional
IsDeleted boolean optional
CreditNote object optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
DueDate string optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Invoice object optional
Warnings array optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
HasAccount boolean optional
Prepayment object optional
Overpayment object optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
HasErrors boolean optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
Allocations array optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional
Prepayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Invoice object optional
Warnings array optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
HasAccount boolean optional
Prepayment object optional
Overpayment object optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
Allocations array optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
CurrencyCode string optional
CurrencyRate number optional
PrepaymentID string optional
AppliedAmount number optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Overpayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Invoice object optional
Warnings array optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
HasAccount boolean optional
Prepayment object optional
Overpayment object optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Allocations array optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
OverpaymentID string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
AllocationID string optional
ValidationErrors array optional
Message string optional
StatusAttributeString string optional

Responses

200

Success - return response of type Allocations array with all Allocation for Overpayments

400

A failed request due to validation error

PUT /Overpayments/{OverpaymentID}/Allocations
PUT /Overpayments/{OverpaymentID}/History
operationId: Accounting_recordOverpaymentHistory

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

OverpaymentID path optional string

Unique identifier for a Overpayment

Request Body

HistoryRecords containing an array of HistoryRecord objects in body of request

application/json
schema HistoryRecords
Property Type Required
HistoryRecords array optional
User string optional
Changes string optional
DateUTC string optional
Details string optional

Responses

200

Success - return response of type HistoryRecords array of HistoryRecord objects

400

A failed request due to validation error - API is not able to create HistoryRecord for Overpayments

PUT /Overpayments/{OverpaymentID}/History
PUT /PaymentServices
operationId: Accounting_createPaymentService

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

PaymentServices array with PaymentService object in body of request

application/json
schema PaymentServices
Property Type Required
PaymentServices array optional
PayNowText string optional
PaymentServiceID string optional
ValidationErrors array optional
Message string optional
PaymentServiceUrl string optional
PaymentServiceName string optional
PaymentServiceType string optional

Responses

200

Success - return response of type PaymentServices array for newly created PaymentService

400

A failed request due to validation error

PUT /PaymentServices
PUT /Payments
operationId: Accounting_createMultiplePayments

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

summarizeErrors query optional boolean

If false return 200 OK and mix of successfully created objects and any with validation errors

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

Payments array with Payment object in body of request

application/json
schema Payments
Property Type Required
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Code string optional
Name string optional
Type string optional
Class string optional
Status string optional
TaxType string optional
AccountID string optional
Description string optional
CurrencyCode string optional
ReportingCode string optional
SystemAccount string optional
AddToWatchlist boolean optional
HasAttachments boolean optional
UpdatedDateUTC string optional
BankAccountType string optional
ValidationErrors array optional
Message string optional
BankAccountNumber string optional
ReportingCodeName string optional
ShowInExpenseClaims boolean optional
EnablePaymentsToAccount boolean optional
Details string optional
Invoice object optional
Url string optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
AmountDue number optional
HasErrors boolean optional
InvoiceID string optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
AmountPaid number optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
CreditNotes array optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
HasErrors boolean optional
LineItems array optional
Reference string optional
Allocations array optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional
…20 more object optional
Warnings array optional
Message string optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
HasErrors boolean optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
Allocations array optional
Date string required
Amount number required
Invoice object required
IsDeleted boolean optional
CreditNote object optional
Prepayment object optional
Overpayment object optional
AllocationID string optional
ValidationErrors array optional
StatusAttributeString string optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional
HasAccount boolean optional
Prepayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
Allocations array optional
Date string required
Amount number required
Invoice object required
IsDeleted boolean optional
CreditNote object optional
Prepayment object optional
Overpayment object optional
AllocationID string optional
ValidationErrors array optional
StatusAttributeString string optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
CurrencyCode string optional
CurrencyRate number optional
PrepaymentID string optional
AppliedAmount number optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Overpayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
Payments array optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Allocations array optional
Date string required
Amount number required
Invoice object required
IsDeleted boolean optional
CreditNote object optional
Prepayment object optional
Overpayment object optional
AllocationID string optional
ValidationErrors array optional
StatusAttributeString string optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
OverpaymentID string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
Code string optional
Date string optional
Type string optional
Amount number optional
Status string optional
Account object optional
Code string optional
Name string optional
Type string optional
Class string optional
Status string optional
TaxType string optional
AccountID string optional
Description string optional
CurrencyCode string optional
ReportingCode string optional
SystemAccount string optional
AddToWatchlist boolean optional
HasAttachments boolean optional
UpdatedDateUTC string optional
BankAccountType string optional
ValidationErrors array optional
BankAccountNumber string optional
ReportingCodeName string optional
ShowInExpenseClaims boolean optional
EnablePaymentsToAccount boolean optional
Details string optional
Payments array optional
Narrative string optional
Reference string optional
DateString string optional
Particulars string optional
TotalAmount number optional
IsReconciled boolean optional
BatchPaymentID string optional
UpdatedDateUTC string optional
ValidationErrors array optional
Message string optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional

Responses

200

Success - return response of type Payments array for newly created Payment

400

A failed request due to validation error

PUT /Payments
PUT /Payments/{PaymentID}/History
operationId: Accounting_createPaymentHistoryRecord

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

PaymentID path optional string

Unique identifier for a Payment

Request Body

HistoryRecords containing an array of HistoryRecord objects in body of request

application/json
schema HistoryRecords
Property Type Required
HistoryRecords array optional
User string optional
Changes string optional
DateUTC string optional
Details string optional

Responses

200

Success - return response of type HistoryRecords array of HistoryRecord objects

400

A failed request due to validation error - API is not able to create HistoryRecord for Payments

PUT /Payments/{PaymentID}/History
PUT /Prepayments/{PrepaymentID}/Allocations
operationId: Accounting_createPrepaymentAllocations

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

PrepaymentID path optional string

Unique identifier for a PrePayment

summarizeErrors query optional boolean

If false return 200 OK and mix of successfully created objects and any with validation errors

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

Allocations with an array of Allocation object in body of request

application/json
schema Allocations
Property Type Required
Allocations array optional
Date string required
Amount number required
Invoice object required
Url string optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
DueDate string optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Invoice object optional
Warnings array optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
HasAccount boolean optional
Prepayment object optional
Overpayment object optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
AmountDue number optional
HasErrors boolean optional
InvoiceID string optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
AmountPaid number optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
CreditNotes array optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
DueDate string optional
Payments array optional
SubTotal number optional
TotalTax number optional
Warnings array optional
HasErrors boolean optional
LineItems array optional
Reference string optional
Allocations array optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional
…20 more object optional
IsDeleted boolean optional
CreditNote object optional
Date string optional
Type string optional
Total number optional
Status string optional
CISRate number optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
DueDate string optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Invoice object optional
Warnings array optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
HasAccount boolean optional
Prepayment object optional
Overpayment object optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
HasErrors boolean optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
Allocations array optional
CISDeduction number optional
CreditNoteID string optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
…10 more object optional
Prepayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Invoice object optional
Warnings array optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
HasAccount boolean optional
Prepayment object optional
Overpayment object optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
Allocations array optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
CurrencyCode string optional
CurrencyRate number optional
PrepaymentID string optional
AppliedAmount number optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
Overpayment object optional
Date string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Name string optional
Phones array optional
Website string optional
Balances object optional
Discount number optional
LastName string optional
Addresses array optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
EmailAddress string optional
PaymentTerms object optional
AccountNumber string optional
BatchPayments object optional
BrandingTheme object optional
CompanyNumber string optional
ContactGroups array optional
…22 more object optional
Payments array optional
Code string optional
Date string optional
Amount number optional
Status string optional
Account object optional
Details string optional
Invoice object optional
Warnings array optional
PaymentID string optional
Reference string optional
BankAmount number optional
CreditNote object optional
HasAccount boolean optional
Prepayment object optional
Overpayment object optional
Particulars string optional
PaymentType string optional
BatchPayment object optional
CurrencyRate number optional
IsReconciled boolean optional
…8 more object optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Item object optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Allocations array optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
CurrencyCode string optional
CurrencyRate number optional
AppliedAmount number optional
OverpaymentID string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
RemainingCredit number optional
AllocationID string optional
ValidationErrors array optional
Message string optional
StatusAttributeString string optional

Responses

200

Success - return response of type Allocations array of Allocation for all Prepayment

400

A failed request due to validation error

PUT /Prepayments/{PrepaymentID}/Allocations
PUT /Prepayments/{PrepaymentID}/History
operationId: Accounting_createPrepaymentHistory

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

PrepaymentID path optional string

Unique identifier for a PrePayment

Request Body

HistoryRecords containing an array of HistoryRecord objects in body of request

application/json
schema HistoryRecords
Property Type Required
HistoryRecords array optional
User string optional
Changes string optional
DateUTC string optional
Details string optional

Responses

200

Success - return response of type HistoryRecords array of HistoryRecord objects

400

Unsupported - return response incorrect exception, API is not able to create HistoryRecord for Expense Claims

PUT /Prepayments/{PrepaymentID}/History
PUT /PurchaseOrders
operationId: Accounting_createPurchaseOrders

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

summarizeErrors query optional boolean

If false return 200 OK and mix of successfully created objects and any with validation errors

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

PurchaseOrders with an array of PurchaseOrder object in body of request

application/json
schema PurchaseOrders
Property Type Required
PurchaseOrders array optional
Date string optional
Total number optional
Status string optional
Contact object optional
Name string optional
Phones array optional
PhoneType string optional
PhoneNumber string optional
PhoneAreaCode string optional
PhoneCountryCode string optional
Website string optional
Balances object optional
AccountsPayable object optional
AccountsReceivable object optional
Discount number optional
LastName string optional
Addresses array optional
City string optional
Region string optional
Country string optional
PostalCode string optional
AddressType string optional
AttentionTo string optional
AddressLine1 string optional
AddressLine2 string optional
AddressLine3 string optional
AddressLine4 string optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
EmailAddress string optional
PaymentTerms object optional
Bills object optional
Sales object optional
AccountNumber string optional
BatchPayments object optional
Code string optional
Details string optional
Reference string optional
BankAccountName string optional
BankAccountNumber string optional
BrandingTheme object optional
Name string optional
Type string optional
LogoUrl string optional
SortOrder integer optional
CreatedDateUTC string optional
BrandingThemeID string optional
CompanyNumber string optional
ContactGroups array optional
Name string optional
Status string optional
Contacts array optional
ContactGroupID string optional
…22 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
LineItems array optional
Item object optional
Code string optional
Name string optional
ItemID string optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
Name string optional
Option string optional
TrackingOptionID string optional
TrackingCategoryID string optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
Telephone string optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
AttentionTo string optional
CurrencyCode string optional
CurrencyRate number optional
DeliveryDate string optional
SentToContact boolean optional
TotalDiscount number optional
HasAttachments boolean optional
UpdatedDateUTC string optional
BrandingThemeID string optional
…8 more object optional

Responses

200

Success - return response of type PurchaseOrder array for specified PurchaseOrder

400

A failed request due to validation error

PUT /PurchaseOrders
PUT /PurchaseOrders/{PurchaseOrderID}/Attachments/{FileName}
operationId: Accounting_createPurchaseOrderAttachment

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

PurchaseOrderID path optional string

Unique identifier for an Purchase Order

FileName path optional string

Name of the attachment

Request Body

required

Byte array of file in body of request

application/octet-stream
schema AccountingCreatePurchaseOrderAttachmentRequest
string

Responses

200

Success - return response of type Attachments array of Attachment

400

A failed request due to validation error

PUT /PurchaseOrders/{PurchaseOrderID}/Attachments/{FileName}
PUT /PurchaseOrders/{PurchaseOrderID}/History
operationId: Accounting_recordPurchaseOrderHistory

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

PurchaseOrderID path optional string

Unique identifier for an Purchase Order

Request Body

HistoryRecords containing an array of HistoryRecord objects in body of request

application/json
schema HistoryRecords
Property Type Required
HistoryRecords array optional
User string optional
Changes string optional
DateUTC string optional
Details string optional

Responses

200

Success - return response of type HistoryRecords array of HistoryRecord objects

400

A failed request due to validation error

PUT /PurchaseOrders/{PurchaseOrderID}/History
PUT /Quotes
operationId: Accounting_createQuotes

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

summarizeErrors query optional boolean

If false return 200 OK and mix of successfully created objects and any with validation errors

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

Quotes with an array of Quote object in body of request

application/json
schema Quotes
Property Type Required
Quotes array optional
Date string optional
Terms string optional
Title string optional
Total number optional
Status string optional
Contact object optional
Name string optional
Phones array optional
PhoneType string optional
PhoneNumber string optional
PhoneAreaCode string optional
PhoneCountryCode string optional
Website string optional
Balances object optional
AccountsPayable object optional
AccountsReceivable object optional
Discount number optional
LastName string optional
Addresses array optional
City string optional
Region string optional
Country string optional
PostalCode string optional
AddressType string optional
AttentionTo string optional
AddressLine1 string optional
AddressLine2 string optional
AddressLine3 string optional
AddressLine4 string optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
EmailAddress string optional
PaymentTerms object optional
Bills object optional
Sales object optional
AccountNumber string optional
BatchPayments object optional
Code string optional
Details string optional
Reference string optional
BankAccountName string optional
BankAccountNumber string optional
BrandingTheme object optional
Name string optional
Type string optional
LogoUrl string optional
SortOrder integer optional
CreatedDateUTC string optional
BrandingThemeID string optional
CompanyNumber string optional
ContactGroups array optional
Name string optional
Status string optional
Contacts array optional
ContactGroupID string optional
…22 more object optional
QuoteID string optional
Summary string optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Item object optional
Code string optional
Name string optional
ItemID string optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
Name string optional
Option string optional
TrackingOptionID string optional
TrackingCategoryID string optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
DateString string optional
ExpiryDate string optional
QuoteNumber string optional
CurrencyCode string optional
CurrencyRate number optional
TotalDiscount number optional
UpdatedDateUTC string optional
BrandingThemeID string optional
…4 more object optional

Responses

200

Success - return response of type Quotes with array with newly created Quote

400

A failed request due to validation error

PUT /Quotes
PUT /Quotes/{QuoteID}/Attachments/{FileName}
operationId: Accounting_createQuoteAttachment

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

QuoteID path optional string

Unique identifier for an Quote

FileName path optional string

Name of the attachment

Request Body

required

Byte array of file in body of request

application/octet-stream
schema AccountingCreateQuoteAttachmentRequest
string

Responses

200

Success - return response of type Attachments array of Attachment

400

A failed request due to validation error

PUT /Quotes/{QuoteID}/Attachments/{FileName}
PUT /Quotes/{QuoteID}/History
operationId: Accounting_createQuoteHistoryRecord

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

QuoteID path optional string

Unique identifier for an Quote

Request Body

HistoryRecords containing an array of HistoryRecord objects in body of request

application/json
schema HistoryRecords
Property Type Required
HistoryRecords array optional
User string optional
Changes string optional
DateUTC string optional
Details string optional

Responses

200

Success - return response of type HistoryRecords array of HistoryRecord objects

400

A failed request due to validation error

PUT /Quotes/{QuoteID}/History
PUT /Receipts
operationId: Accounting_createDraftExpenseClaimsReceipts

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

unitdp query optional integer

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

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

Receipts with an array of Receipt object in body of request

application/json
schema Receipts
Property Type Required
Receipts array optional
Url string optional
Date string optional
User object optional
UserID string optional
LastName string optional
FirstName string optional
EmailAddress string optional
IsSubscriber boolean optional
UpdatedDateUTC string optional
OrganisationRole string optional
Total number optional
Status string optional
Contact object optional
Name string optional
Phones array optional
PhoneType string optional
PhoneNumber string optional
PhoneAreaCode string optional
PhoneCountryCode string optional
Website string optional
Balances object optional
AccountsPayable object optional
AccountsReceivable object optional
Discount number optional
LastName string optional
Addresses array optional
City string optional
Region string optional
Country string optional
PostalCode string optional
AddressType string optional
AttentionTo string optional
AddressLine1 string optional
AddressLine2 string optional
AddressLine3 string optional
AddressLine4 string optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
EmailAddress string optional
PaymentTerms object optional
Bills object optional
Sales object optional
AccountNumber string optional
BatchPayments object optional
Code string optional
Details string optional
Reference string optional
BankAccountName string optional
BankAccountNumber string optional
BrandingTheme object optional
Name string optional
Type string optional
LogoUrl string optional
SortOrder integer optional
CreatedDateUTC string optional
BrandingThemeID string optional
CompanyNumber string optional
ContactGroups array optional
Name string optional
Status string optional
Contacts array optional
ContactGroupID string optional
…22 more object optional
SubTotal number optional
TotalTax number optional
Warnings array optional
Message string optional
LineItems array optional
Item object optional
Code string optional
Name string optional
ItemID string optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
Name string optional
Option string optional
TrackingOptionID string optional
TrackingCategoryID string optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
ReceiptID string optional
Reference string optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
ReceiptNumber string optional
HasAttachments boolean optional
UpdatedDateUTC string optional
LineAmountTypes string optional
ValidationErrors array optional
Message string optional

Responses

200

Success - return response of type Receipts array for newly created Receipt

400

A failed request due to validation error

PUT /Receipts
PUT /Receipts/{ReceiptID}/Attachments/{FileName}
operationId: Accounting_createReceiptAttachmentByFileName

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

ReceiptID path optional string

Unique identifier for a Receipt

FileName path optional string

Name of the attachment

Request Body

required

Byte array of file in body of request

application/octet-stream
schema AccountingCreateReceiptAttachmentByFileNameRequest
string

Responses

200

Success - return response of type Attachments array with newly created Attachment for a specified Receipt

400

A failed request due to validation error

PUT /Receipts/{ReceiptID}/Attachments/{FileName}
PUT /Receipts/{ReceiptID}/History
operationId: Accounting_createReceiptHistory

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

ReceiptID path optional string

Unique identifier for a Receipt

Request Body

HistoryRecords containing an array of HistoryRecord objects in body of request

application/json
schema HistoryRecords
Property Type Required
HistoryRecords array optional
User string optional
Changes string optional
DateUTC string optional
Details string optional

Responses

200

Success - return response of type HistoryRecords array of HistoryRecord objects

400

Unsupported - return response incorrect exception, API is not able to create HistoryRecord for Receipts

PUT /Receipts/{ReceiptID}/History
PUT /RepeatingInvoices
operationId: Accounting_createRepeatingInvoices

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

summarizeErrors query optional boolean

If false return 200 OK and mix of successfully created objects and any with validation errors

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

RepeatingInvoices with an array of repeating invoice objects in body of request

application/json
schema RepeatingInvoices
Property Type Required
RepeatingInvoices array optional
ID string optional
Type string optional
Total number optional
Status string optional
Contact object optional
Name string optional
Phones array optional
PhoneType string optional
PhoneNumber string optional
PhoneAreaCode string optional
PhoneCountryCode string optional
Website string optional
Balances object optional
AccountsPayable object optional
AccountsReceivable object optional
Discount number optional
LastName string optional
Addresses array optional
City string optional
Region string optional
Country string optional
PostalCode string optional
AddressType string optional
AttentionTo string optional
AddressLine1 string optional
AddressLine2 string optional
AddressLine3 string optional
AddressLine4 string optional
ContactID string optional
FirstName string optional
TaxNumber string optional
IsCustomer boolean optional
IsSupplier boolean optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
EmailAddress string optional
PaymentTerms object optional
Bills object optional
Sales object optional
AccountNumber string optional
BatchPayments object optional
Code string optional
Details string optional
Reference string optional
BankAccountName string optional
BankAccountNumber string optional
BrandingTheme object optional
Name string optional
Type string optional
LogoUrl string optional
SortOrder integer optional
CreatedDateUTC string optional
BrandingThemeID string optional
CompanyNumber string optional
ContactGroups array optional
Name string optional
Status string optional
Contacts array optional
ContactGroupID string optional
…22 more object optional
Schedule object optional
Unit string optional
Period integer optional
DueDate integer optional
EndDate string optional
StartDate string optional
DueDateType string optional
NextScheduledDate string optional
SendCopy boolean optional
SubTotal number optional
TotalTax number optional
LineItems array optional
Item object optional
Code string optional
Name string optional
ItemID string optional
TaxType string optional
ItemCode string optional
Quantity number optional
Tracking array optional
Name string optional
Option string optional
TrackingOptionID string optional
TrackingCategoryID string optional
AccountID string optional
TaxAmount number optional
LineAmount number optional
LineItemID string optional
UnitAmount number optional
AccountCode string optional
Description string optional
DiscountRate number optional
DiscountAmount number optional
RepeatingInvoiceID string optional
Reference string optional
IncludePDF boolean optional
MarkAsSent boolean optional
Attachments array optional
Url string optional
FileName string optional
MimeType string optional
AttachmentID string optional
ContentLength integer optional
IncludeOnline boolean optional
CurrencyCode string optional
HasAttachments boolean optional
BrandingThemeID string optional
LineAmountTypes string optional
ApprovedForSending boolean optional
RepeatingInvoiceID string optional

Responses

200

Success - return response of type RepeatingInvoices array with newly created RepeatingInvoice

400

A failed request due to validation error

PUT /RepeatingInvoices
PUT /RepeatingInvoices/{RepeatingInvoiceID}/Attachments/{FileName}
operationId: Accounting_createRepeatingInvoiceAttachment

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

RepeatingInvoiceID path optional string

Unique identifier for a Repeating Invoice

FileName path optional string

Name of the attachment

Request Body

required

Byte array of file in body of request

application/octet-stream
schema AccountingCreateRepeatingInvoiceAttachmentRequest
string

Responses

200

Success - return response of type Attachments array with updated Attachment for a specified Repeating Invoice

400

A failed request due to validation error

PUT /RepeatingInvoices/{RepeatingInvoiceID}/Attachments/{FileName}
PUT /RepeatingInvoices/{RepeatingInvoiceID}/History
operationId: Accounting_createHistoryRecord

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

RepeatingInvoiceID path optional string

Unique identifier for a Repeating Invoice

Request Body

HistoryRecords containing an array of HistoryRecord objects in body of request

application/json
schema HistoryRecords
Property Type Required
HistoryRecords array optional
User string optional
Changes string optional
DateUTC string optional
Details string optional

Responses

200

Success - return response of type HistoryRecords array of HistoryRecord objects

400

A failed request due to validation error

PUT /RepeatingInvoices/{RepeatingInvoiceID}/History
PUT /TaxRates
operationId: Accounting_updateTaxRates

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

TaxRates array with TaxRate object in body of request

application/json
schema TaxRates
Property Type Required
TaxRates array optional
Name string optional
Status string optional
TaxType string optional
EffectiveRate number optional
ReportTaxType string optional
TaxComponents array optional
Name string optional
Rate number optional
IsCompound boolean optional
IsNonRecoverable boolean optional
DisplayTaxRate number optional
CanApplyToAssets boolean optional
CanApplyToEquity boolean optional
CanApplyToRevenue boolean optional
CanApplyToExpenses boolean optional
CanApplyToLiabilities boolean optional

Responses

200

Success - return response of type TaxRates array newly created TaxRate

400

A failed request due to validation error

PUT /TaxRates
PUT /TrackingCategories
operationId: Accounting_createTrackingCategories

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request Body

required

TrackingCategory object in body of request

application/json
schema TrackingCategory
Property Type Required
Name string optional
Option string optional
Status string optional
Options array optional
Name string optional
Status string optional
TrackingOptionID string optional
TrackingCategoryID string optional
TrackingOptionID string optional
TrackingCategoryID string optional

Responses

200

Success - return response of type TrackingCategories array of newly created TrackingCategory

400

A failed request due to validation error

PUT /TrackingCategories
PUT /TrackingCategories/{TrackingCategoryID}/Options
operationId: Accounting_createOptions

Parameters

Name In Required Type Description
xero-tenant-id header optional string

Xero identifier for Tenant

Idempotency-Key header optional string

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

TrackingCategoryID path optional string

Unique identifier for a TrackingCategory

Request Body

required

TrackingOption object in body of request

application/json
schema TrackingOption
Property Type Required
Name string optional
Status string optional
TrackingOptionID string optional
TrackingCategoryID string optional

Responses

200

Success - return response of type TrackingOptions array of options for a specified category

400

A failed request due to validation error

PUT /TrackingCategories/{TrackingCategoryID}/Options

Schemas

object Account
{
  "type": "object",
  "properties": {
    "Code": {
      "type": "string",
      "example": 4400,
      "description": "Customer defined alpha numeric account code e.g 200 or SALES (max length = 10)"
    },
    "Name": {
      "type": "string",
      "example": "Food Sales",
      "maxLength": 150,
      "description": "Name of account (max length = 150)"
    },
    "Type": {
      "$ref": "#/components/schemas/AccountType",
      "type": "string"
    },
    "Class": {
      "enum": [
        "ASSET",
        "EQUITY",
        "EXPENSE",
        "LIABILITY",
        "REVENUE"
      ],
      "type": "string",
      "readOnly": true,
      "description": "See Account Class Types"
    },
    "Status": {
      "enum": [
        "ACTIVE",
        "ARCHIVED",
        "DELETED"
      ],
      "type": "string",
      "description": "Accounts with a status of ACTIVE can be updated to ARCHIVED. See Account Status Codes"
    },
    "TaxType": {
      "type": "string",
      "description": "The tax type from taxRates"
    },
    "AccountID": {
      "type": "string",
      "format": "uuid",
      "example": "00000000-0000-0000-0000-000000000000",
      "description": "The Xero identifier for an account – specified as a string following  the endpoint name   e.g. /297c2dc5-cc47-4afd-8ec8-74990b8761e9"
    },
    "Description": {
      "type": "string",
      "description": "Description of the Account. Valid for all types of accounts except bank accounts (max length = 4000)"
    },
    "CurrencyCode": {
      "$ref": "#/components/schemas/CurrencyCode",
      "type": "string"
    },
    "ReportingCode": {
      "type": "string",
      "description": "Shown if set"
    },
    "SystemAccount": {
      "enum": [
        "DEBTORS",
        "CREDITORS",
        "BANKCURRENCYGAIN",
        "GST",
        "GSTONIMPORTS",
        "HISTORICAL",
        "REALISEDCURRENCYGAIN",
        "RETAINEDEARNINGS",
        "ROUNDING",
        "TRACKINGTRANSFERS",
        "UNPAIDEXPCLM",
        "UNREALISEDCURRENCYGAIN",
        "WAGEPAYABLES",
        "CISASSETS",
        "CISASSET",
        "CISLABOUR",
        "CISLABOUREXPENSE",
        "CISLABOURINCOME",
        "CISLIABILITY",
        "CISMATERIALS",
        ""
      ],
      "type": "string",
      "readOnly": true,
      "description": "If this is a system account then this element is returned. See System Account types. Note that non-system accounts may have this element set as either “” or null."
    },
    "AddToWatchlist": {
      "type": "boolean",
      "description": "Boolean – describes whether the account is shown in the watchlist widget on the dashboard"
    },
    "HasAttachments": {
      "type": "boolean",
      "default": "false",
      "example": false,
      "readOnly": true,
      "description": "boolean to indicate if an account has an attachment (read only)"
    },
    "UpdatedDateUTC": {
      "type": "string",
      "example": "/Date(1573755038314)/",
      "readOnly": true,
      "description": "Last modified date UTC format",
      "x-is-msdate-time": true
    },
    "BankAccountType": {
      "enum": [
        "BANK",
        "CREDITCARD",
        "PAYPAL",
        "NONE",
        ""
      ],
      "type": "string",
      "description": "For bank accounts only. See Bank Account types"
    },
    "ValidationErrors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ValidationError"
      },
      "description": "Displays array of validation error messages from the API"
    },
    "BankAccountNumber": {
      "type": "string",
      "description": "For bank accounts only (Account Type BANK)"
    },
    "ReportingCodeName": {
      "type": "string",
      "readOnly": true,
      "description": "Shown if set"
    },
    "ShowInExpenseClaims": {
      "type": "boolean",
      "description": "Boolean – describes whether account code is available for use with expense claims"
    },
    "EnablePaymentsToAccount": {
      "type": "boolean",
      "description": "Boolean – describes whether account can have payments applied to it"
    }
  },
  "externalDocs": {
    "url": "http://developer.xero.com/documentation/api/accounts/"
  }
}
string AccountType
{
  "enum": [
    "BANK",
    "CURRENT",
    "CURRLIAB",
    "DEPRECIATN",
    "DIRECTCOSTS",
    "EQUITY",
    "EXPENSE",
    "FIXED",
    "INVENTORY",
    "LIABILITY",
    "NONCURRENT",
    "OTHERINCOME",
    "OVERHEADS",
    "PREPAYMENT",
    "REVENUE",
    "SALES",
    "TERMLIAB",
    "PAYG"
  ],
  "type": "string",
  "description": "See Account Types"
}
string AccountingCreateAttachmentRequest
{
  "type": "string",
  "format": "byte"
}
string AccountingCreateAttachmentRequest1
{
  "type": "string",
  "format": "byte"
}
string AccountingCreateBankTransactionAttachmentByFilenameRequest
{
  "type": "string",
  "format": "byte"
}
string AccountingCreatePurchaseOrderAttachmentRequest
{
  "type": "string",
  "format": "byte"
}
string AccountingCreateQuoteAttachmentRequest
{
  "type": "string",
  "format": "byte"
}
string AccountingCreateReceiptAttachmentByFileNameRequest
{
  "type": "string",
  "format": "byte"
}
string AccountingCreateRepeatingInvoiceAttachmentRequest
{
  "type": "string",
  "format": "byte"
}
string AccountingCreateSpecificAttachmentRequest
{
  "type": "string",
  "format": "byte"
}
string AccountingGetAttachment200Response
{
  "type": "string",
  "format": "binary"
}
string AccountingGetAttachmentByFileName200Response
{
  "type": "string",
  "format": "binary"
}
string AccountingGetAttachmentByFileNameResponse
{
  "type": "string",
  "format": "binary"
}
string AccountingGetAttachmentByFilenameResponse
{
  "type": "string",
  "format": "binary"
}
string AccountingGetAttachmentByIdResponse
{
  "type": "string",
  "format": "binary"
}
string AccountingGetAttachmentResponse
{
  "type": "string",
  "format": "binary"
}
string AccountingGetCreditNoteAttachmentResponse
{
  "type": "string",
  "format": "binary"
}
string AccountingGetCreditNotePdfResponse
{
  "type": "string",
  "format": "binary"
}
string AccountingGetExpenseClaimsAttachmentResponse
{
  "type": "string",
  "format": "binary"
}
string AccountingGetInvoicePdfResponse
{
  "type": "string",
  "format": "binary"
}
string AccountingGetPurchaseOrderPdfResponse
{
  "type": "string",
  "format": "binary"
}
string AccountingGetQuoteAttachmentResponse
{
  "type": "string",
  "format": "binary"
}
string AccountingGetQuotePdfResponse
{
  "type": "string",
  "format": "binary"
}
string AccountingGetRepeatingInvoiceAttachmentResponse
{
  "type": "string",
  "format": "binary"
}
string AccountingGetSpecificAttachment200Response
{
  "type": "string",
  "format": "binary"
}
string AccountingGetSpecificAttachmentResponse
{
  "type": "string",
  "format": "binary"
}
string AccountingUpdateAttachmentByFilenameRequest
{
  "type": "string",
  "format": "byte"
}
string AccountingUpdateAttachmentRequest
{
  "type": "string",
  "format": "byte"
}
string AccountingUpdateAttachmentsByFileNameRequest
{
  "type": "string",
  "format": "byte"
}
string AccountingUpdateBankTransactionAttachmentRequest
{
  "type": "string",
  "format": "byte"
}
string AccountingUpdateBankTransferAttachmentRequest
{
  "type": "string",
  "format": "byte"
}
string AccountingUpdateCreditNoteAttachmentRequest
{
  "type": "string",
  "format": "byte"
}
string AccountingUpdatePurchaseOrderAttachmentRequest
{
  "type": "string",
  "format": "byte"
}
string AccountingUpdateQuoteAttachmentRequest
{
  "type": "string",
  "format": "byte"
}
string AccountingUpdateRepeatingInvoiceAttachmentRequest
{
  "type": "string",
  "format": "byte"
}
string AccountingUpdateSpecificAttachmentRequest
{
  "type": "string",
  "format": "byte"
}
string AccountingUpdateSpecificAttachmentRequest1
{
  "type": "string",
  "format": "byte"
}
string AccountingUploadAttachmentRequest
{
  "type": "string",
  "format": "byte"
}
string AccountingUploadAttachmentRequest1
{
  "type": "string",
  "format": "byte"
}
string AccountingUploadBankTransferAttachmentRequest
{
  "type": "string",
  "format": "byte"
}
object Accounts
{
  "type": "object",
  "properties": {
    "Accounts": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Account"
      }
    }
  },
  "x-isObjectArray": true
}
object AccountsPayable
{
  "type": "object",
  "properties": {
    "Overdue": {
      "type": "number",
      "format": "double",
      "x-is-money": true
    },
    "Outstanding": {
      "type": "number",
      "format": "double",
      "x-is-money": true
    }
  }
}
object AccountsReceivable
{
  "type": "object",
  "properties": {
    "Overdue": {
      "type": "number",
      "format": "double",
      "x-is-money": true
    },
    "Outstanding": {
      "type": "number",
      "format": "double",
      "x-is-money": true
    }
  }
}
object Action
{
  "properties": {
    "Name": {
      "type": "string",
      "example": "UseMulticurrency",
      "description": "Name of the actions for this organisation"
    },
    "Status": {
      "enum": [
        "ALLOWED",
        "NOT-ALLOWED"
      ],
      "type": "string",
      "description": "Status of the action for this organisation"
    }
  },
  "externalDocs": {
    "url": "http://developer.xero.com/documentation/api/organisation/"
  }
}
object Actions
{
  "type": "object",
  "properties": {
    "Actions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Action"
      }
    }
  },
  "x-isObjectArray": true
}
object Address
{
  "type": "object",
  "properties": {
    "City": {
      "type": "string",
      "maxLength": 255,
      "description": "max length = 255"
    },
    "Region": {
      "type": "string",
      "maxLength": 255,
      "description": "max length = 255"
    },
    "Country": {
      "type": "string",
      "maxLength": 50,
      "description": "max length = 50, [A-Z], [a-z] only"
    },
    "PostalCode": {
      "type": "string",
      "maxLength": 50,
      "description": "max length = 50"
    },
    "AddressType": {
      "enum": [
        "POBOX",
        "STREET"
      ],
      "type": "string",
      "description": "define the type of address"
    },
    "AttentionTo": {
      "type": "string",
      "maxLength": 255,
      "description": "max length = 255"
    },
    "AddressLine1": {
      "type": "string",
      "maxLength": 500,
      "description": "max length = 500"
    },
    "AddressLine2": {
      "type": "string",
      "maxLength": 500,
      "description": "max length = 500"
    },
    "AddressLine3": {
      "type": "string",
      "maxLength": 500,
      "description": "max length = 500"
    },
    "AddressLine4": {
      "type": "string",
      "maxLength": 500,
      "description": "max length = 500"
    }
  },
  "externalDocs": {
    "url": "http://developer.xero.com/documentation/api/types"
  }
}
object AddressForOrganisation
{
  "type": "object",
  "properties": {
    "City": {
      "type": "string",
      "maxLength": 255,
      "description": "max length = 255"
    },
    "Region": {
      "type": "string",
      "maxLength": 255,
      "description": "max length = 255"
    },
    "Country": {
      "type": "string",
      "maxLength": 50,
      "description": "max length = 50, [A-Z], [a-z] only"
    },
    "PostalCode": {
      "type": "string",
      "maxLength": 50,
      "description": "max length = 50"
    },
    "AddressType": {
      "enum": [
        "POBOX",
        "STREET",
        "DELIVERY"
      ],
      "type": "string",
      "description": "define the type of address"
    },
    "AttentionTo": {
      "type": "string",
      "maxLength": 255,
      "description": "max length = 255"
    },
    "AddressLine1": {
      "type": "string",
      "maxLength": 500,
      "description": "max length = 500"
    },
    "AddressLine2": {
      "type": "string",
      "maxLength": 500,
      "description": "max length = 500"
    },
    "AddressLine3": {
      "type": "string",
      "maxLength": 500,
      "description": "max length = 500"
    },
    "AddressLine4": {
      "type": "string",
      "maxLength": 500,
      "description": "max length = 500"
    }
  },
  "externalDocs": {
    "url": "http://developer.xero.com/documentation/api/types"
  }
}
object Allocation
{
  "type": "object",
  "required": [
    "Amount",
    "Invoice",
    "Date"
  ],
  "properties": {
    "Date": {
      "type": "string",
      "description": "the date the allocation is applied YYYY-MM-DD.",
      "x-is-msdate": true
    },
    "Amount": {
      "type": "number",
      "format": "double",
      "x-is-money": true,
      "description": "the amount being applied to the invoice"
    },
    "Invoice": {
      "$ref": "#/components/schemas/Invoice"
    },
    "IsDeleted": {
      "type": "boolean",
      "readOnly": true,
      "description": "A flag that returns true when the allocation is succesfully deleted"
    },
    "CreditNote": {
      "$ref": "#/components/schemas/CreditNote"
    },
    "Prepayment": {
      "$ref": "#/components/schemas/Prepayment"
    },
    "Overpayment": {
      "$ref": "#/components/schemas/Overpayment"
    },
    "AllocationID": {
      "type": "string",
      "format": "uuid",
      "description": "Xero generated unique identifier"
    },
    "ValidationErrors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ValidationError"
      },
      "description": "Displays array of validation error messages from the API"
    },
    "StatusAttributeString": {
      "type": "string",
      "description": "A string to indicate if a invoice status"
    }
  },
  "externalDocs": {
    "url": "http://developer.xero.com/documentation/api/prepayments/"
  }
}
object Allocations
{
  "type": "object",
  "properties": {
    "Allocations": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Allocation"
      }
    }
  },
  "x-isObjectArray": true
}
object Attachment
{
  "type": "object",
  "properties": {
    "Url": {
      "type": "string",
      "example": "https://api.xero.com/api.xro/2.0/Accounts/da962997-a8bd-4dff-9616-01cdc199283f/Attachments/sample5.jpg",
      "description": "URL to the file on xero.com"
    },
    "FileName": {
      "type": "string",
      "example": "xero-dev.jpg",
      "description": "Name of the file"
    },
    "MimeType": {
      "type": "string",
      "example": "image/jpg",
      "description": "Type of file"
    },
    "AttachmentID": {
      "type": "string",
      "format": "uuid",
      "example": "00000000-0000-0000-0000-000000000000",
      "description": "Unique ID for the file"
    },
    "ContentLength": {
      "type": "integer",
      "description": "Length of the file content"
    },
    "IncludeOnline": {
      "type": "boolean",
      "description": "Include the file with the online invoice"
    }
  },
  "externalDocs": {
    "url": "http://developer.xero.com/documentation/api/attachments/"
  }
}

Versions

Version Endpoints Schemas Ingested Status
3.0.1 237 171 2026-05-11 current
3.0.1 237 171 2026-04-16