Accounting 50 endpoints

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
GET /Payments/{PaymentID}
operationId: Accounting_getPaymentById

Parameters

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

Xero identifier for Tenant

PaymentID path optional string

Unique identifier for a Payment

Responses

200

Success - return response of type Payments array for specified Payment

GET /Payments/{PaymentID}
POST /Payments/{PaymentID}
operationId: Accounting_updatePaymentForInvoicesAndCreditNotes

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

required
application/json
schema PaymentDelete
Property Type Required
Status string required

Responses

200

Success - return response of type Payments array for updated Payment

400

A failed request due to validation error

POST /Payments/{PaymentID}
GET /Payments/{PaymentID}/History
operationId: Accounting_getPaymentHistory

Parameters

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

Xero identifier for Tenant

PaymentID path optional string

Unique identifier for a Payment

Responses

200

Success - return response of HistoryRecords array of 0 to N HistoryRecord

GET /Payments/{PaymentID}/History
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
GET /Prepayments
operationId: Accounting_getPrepayments

Parameters

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

Xero identifier for Tenant

If-Modified-Since header optional string

Only records created or modified since this timestamp will be returned

where query optional string

Filter by an any element

order query optional string

Order by an any element

page query optional integer

e.g. page=1 – Up to 100 prepayments will be returned in a single API call with line items shown for each overpayment

unitdp query optional integer

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

Responses

200

Success - return response of type Prepayments array for all Prepayment

GET /Prepayments
GET /Prepayments/{PrepaymentID}
operationId: Accounting_getPrepayment

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

Responses

200

Success - return response of type Prepayments array for a specified Prepayment

GET /Prepayments/{PrepaymentID}
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
DELETE /Prepayments/{PrepaymentID}/Allocations/{AllocationID}
operationId: Accounting_deleteAllocationFromPrepayment

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

AllocationID path optional string

Unique identifier for Allocation object

Responses

200

Success - return response of type Allocation with the isDeleted flag as true

DELETE /Prepayments/{PrepaymentID}/Allocations/{AllocationID}
GET /Prepayments/{PrepaymentID}/History
operationId: Accounting_getPrepaymentHistory

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

Responses

200

Success - return response of HistoryRecords array of 0 to N HistoryRecord

GET /Prepayments/{PrepaymentID}/History
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
GET /PurchaseOrders
operationId: Accounting_getPurchaseOrders

Parameters

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

Xero identifier for Tenant

If-Modified-Since header optional string

Only records created or modified since this timestamp will be returned

Status query optional string

Filter by purchase order status

DateFrom query optional string

Filter by purchase order date (e.g. GET https://…/PurchaseOrders?DateFrom=2015-12-01&DateTo=2015-12-31

DateTo query optional string

Filter by purchase order date (e.g. GET https://…/PurchaseOrders?DateFrom=2015-12-01&DateTo=2015-12-31

order query optional string

Order by an any element

page query optional integer

To specify a page, append the page parameter to the URL e.g. ?page=1. If there are 100 records in the response you will need to check if there is any more data by fetching the next page e.g ?page=2 and continuing this process until no more results are returned.

Responses

200

Success - return response of type PurchaseOrder array of all PurchaseOrder

GET /PurchaseOrders
POST /PurchaseOrders
operationId: Accounting_updateOrCreatePurchaseOrders

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
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

POST /PurchaseOrders
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
GET /PurchaseOrders/{PurchaseOrderID}
operationId: Accounting_getPurchaseOrderById

Parameters

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

Xero identifier for Tenant

PurchaseOrderID path optional string

Unique identifier for an Purchase Order

Responses

200

Success - return response of type PurchaseOrder array for specified PurchaseOrder

GET /PurchaseOrders/{PurchaseOrderID}
POST /PurchaseOrders/{PurchaseOrderID}
operationId: Accounting_updatePurchaseOrder

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

required
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 updated PurchaseOrder

400

A failed request due to validation error

POST /PurchaseOrders/{PurchaseOrderID}
GET /PurchaseOrders/{PurchaseOrderID}/Attachments
operationId: Accounting_getPurchaseOrderAttachments

Parameters

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

Xero identifier for Tenant

PurchaseOrderID path optional string

Unique identifier for an Purchase Order

Responses

200

Success - return response of type Attachments array of Purchase Orders

GET /PurchaseOrders/{PurchaseOrderID}/Attachments
GET /PurchaseOrders/{PurchaseOrderID}/Attachments/{AttachmentID}
operationId: Accounting_getAttachment

Parameters

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

Xero identifier for Tenant

PurchaseOrderID path optional string

Unique identifier for an Purchase Order

AttachmentID path optional string

Unique identifier for Attachment object

contentType header optional string

The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf

Responses

200

Success - return response of attachment for Account as binary data

GET /PurchaseOrders/{PurchaseOrderID}/Attachments/{AttachmentID}
GET /PurchaseOrders/{PurchaseOrderID}/Attachments/{FileName}
operationId: Accounting_getAttachmentByFileName

Parameters

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

Xero identifier for Tenant

PurchaseOrderID path optional string

Unique identifier for an Purchase Order

FileName path optional string

Name of the attachment

contentType header optional string

The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf

Responses

200

Success - return response of attachment for Purchase Order as binary data

GET /PurchaseOrders/{PurchaseOrderID}/Attachments/{FileName}
POST /PurchaseOrders/{PurchaseOrderID}/Attachments/{FileName}
operationId: Accounting_updatePurchaseOrderAttachment

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 AccountingUpdatePurchaseOrderAttachmentRequest
string

Responses

200

Success - return response of type Attachments array of Attachment

400

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

POST /PurchaseOrders/{PurchaseOrderID}/Attachments/{FileName}
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}
GET /PurchaseOrders/{PurchaseOrderID}/History
operationId: Accounting_getPurchaseOrderHistory

Parameters

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

Xero identifier for Tenant

PurchaseOrderID path optional string

Unique identifier for an Purchase Order

Responses

200

Success - return response of HistoryRecords array of 0 to N HistoryRecord

GET /PurchaseOrders/{PurchaseOrderID}/History
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
GET /PurchaseOrders/{PurchaseOrderID}/pdf
operationId: Accounting_getPurchaseOrderPdf

Parameters

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

Xero identifier for Tenant

PurchaseOrderID path optional string

Unique identifier for an Purchase Order

Responses

200

Success - return response of byte array pdf version of specified Purchase Orders

GET /PurchaseOrders/{PurchaseOrderID}/pdf
GET /PurchaseOrders/{PurchaseOrderNumber}
operationId: Accounting_getPurchaseOrderByNumber

Parameters

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

Xero identifier for Tenant

PurchaseOrderNumber path required string

Unique identifier for a PurchaseOrder

Responses

200

Success - return response of type PurchaseOrder array for specified PurchaseOrder

GET /PurchaseOrders/{PurchaseOrderNumber}
GET /Quotes
operationId: Accounting_getSalesQuotes

Parameters

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

Xero identifier for Tenant

If-Modified-Since header optional string

Only records created or modified since this timestamp will be returned

DateFrom query optional string

Filter for quotes after a particular date

DateTo query optional string

Filter for quotes before a particular date

ExpiryDateFrom query optional string

Filter for quotes expiring after a particular date

ExpiryDateTo query optional string

Filter for quotes before a particular date

ContactID query optional string

Filter for quotes belonging to a particular contact

Status query optional string

Filter for quotes of a particular Status

page query optional integer

e.g. page=1 – Up to 100 Quotes will be returned in a single API call with line items shown for each quote

order query optional string

Order by an any element

QuoteNumber query optional string

Filter by quote number (e.g. GET https://…/Quotes?QuoteNumber=QU-0001)

Responses

200

Success - return response of type quotes array with all quotes

GET /Quotes
POST /Quotes
operationId: Accounting_updateOrCreateQuotes

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
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 array with updated or created Quote

400

A failed request due to validation error

POST /Quotes
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
GET /Quotes/{QuoteID}
operationId: Accounting_getQuoteById

Parameters

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

Xero identifier for Tenant

QuoteID path optional string

Unique identifier for an Quote

Responses

200

Success - return response of type Quotes array with specified Quote

GET /Quotes/{QuoteID}
POST /Quotes/{QuoteID}
operationId: Accounting_updateSpecificQuote

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

required
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 array with updated Quote

400

A failed request due to validation error

POST /Quotes/{QuoteID}
GET /Quotes/{QuoteID}/Attachments
operationId: Accounting_getQuoteAttachments

Parameters

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

Xero identifier for Tenant

QuoteID path optional string

Unique identifier for an Quote

Responses

200

Success - return response of type Attachments array of Attachment

GET /Quotes/{QuoteID}/Attachments
GET /Quotes/{QuoteID}/Attachments/{AttachmentID}
operationId: Accounting_getSpecificAttachment

Parameters

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

Xero identifier for Tenant

QuoteID path optional string

Unique identifier for an Quote

AttachmentID path optional string

Unique identifier for Attachment object

contentType header optional string

The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf

Responses

200

Success - return response of attachment for Quote as binary data

GET /Quotes/{QuoteID}/Attachments/{AttachmentID}
GET /Quotes/{QuoteID}/Attachments/{FileName}
operationId: Accounting_getQuoteAttachment

Parameters

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

Xero identifier for Tenant

QuoteID path optional string

Unique identifier for an Quote

FileName path optional string

Name of the attachment

contentType header optional string

The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf

Responses

200

Success - return response of attachment for Quote as binary data

GET /Quotes/{QuoteID}/Attachments/{FileName}
POST /Quotes/{QuoteID}/Attachments/{FileName}
operationId: Accounting_updateQuoteAttachment

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 AccountingUpdateQuoteAttachmentRequest
string

Responses

200

Success - return response of type Attachments array of Attachment

400

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

POST /Quotes/{QuoteID}/Attachments/{FileName}
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}
GET /Quotes/{QuoteID}/History
operationId: Accounting_getQuoteHistory

Parameters

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

Xero identifier for Tenant

QuoteID path optional string

Unique identifier for an Quote

Responses

200

Success - return response of HistoryRecords array of 0 to N HistoryRecord

GET /Quotes/{QuoteID}/History
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
GET /Quotes/{QuoteID}/pdf
operationId: Accounting_getQuotePdf

Parameters

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

Xero identifier for Tenant

QuoteID path optional string

Unique identifier for an Quote

Responses

200

Success - return response of byte array pdf version of specified Quotes

GET /Quotes/{QuoteID}/pdf
GET /Receipts
operationId: Accounting_getDraftExpenseClaimsReceipts

Parameters

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

Xero identifier for Tenant

If-Modified-Since header optional string

Only records created or modified since this timestamp will be returned

where query optional string

Filter by an any element

order query optional string

Order by an any element

unitdp query optional integer

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

Responses

200

Success - return response of type Receipts array for all Receipt

GET /Receipts
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
GET /Receipts/{ReceiptID}
operationId: Accounting_getSpecificDraftExpenseClaimReceiptByReceiptId

Parameters

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

Xero identifier for Tenant

ReceiptID path optional string

Unique identifier for a Receipt

unitdp query optional integer

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

Responses

200

Success - return response of type Receipts array for a specified Receipt

GET /Receipts/{ReceiptID}
POST /Receipts/{ReceiptID}
operationId: Accounting_updateDraftClaimReceipt

Parameters

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

Xero identifier for Tenant

ReceiptID path optional string

Unique identifier for a Receipt

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
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 updated Receipt

400

A failed request due to validation error

POST /Receipts/{ReceiptID}
GET /Receipts/{ReceiptID}/Attachments
operationId: Accounting_getReceiptAttachments

Parameters

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

Xero identifier for Tenant

ReceiptID path optional string

Unique identifier for a Receipt

Responses

200

Success - return response of type Attachments array of Attachments for a specified Receipt

GET /Receipts/{ReceiptID}/Attachments
GET /Receipts/{ReceiptID}/Attachments/{AttachmentID}
operationId: Accounting_getExpenseClaimsAttachment

Parameters

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

Xero identifier for Tenant

ReceiptID path optional string

Unique identifier for a Receipt

AttachmentID path optional string

Unique identifier for Attachment object

contentType header optional string

The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf

Responses

200

Success - return response of attachment for Receipt as binary data

GET /Receipts/{ReceiptID}/Attachments/{AttachmentID}
GET /Receipts/{ReceiptID}/Attachments/{FileName}
operationId: Accounting_getSpecificAttachment

Parameters

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

Xero identifier for Tenant

ReceiptID path optional string

Unique identifier for a Receipt

FileName path optional string

Name of the attachment

contentType header optional string

The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf

Responses

200

Success - return response of attachment for Receipt as binary data

GET /Receipts/{ReceiptID}/Attachments/{FileName}
POST /Receipts/{ReceiptID}/Attachments/{FileName}
operationId: Accounting_updateSpecificAttachment

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 AccountingUpdateSpecificAttachmentRequest1
string

Responses

200

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

400

A failed request due to validation error

POST /Receipts/{ReceiptID}/Attachments/{FileName}
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}
GET /Receipts/{ReceiptID}/History
operationId: Accounting_getReceiptHistory

Parameters

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

Xero identifier for Tenant

ReceiptID path optional string

Unique identifier for a Receipt

Responses

200

Success - return response of HistoryRecords array of 0 to N HistoryRecord

GET /Receipts/{ReceiptID}/History
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
GET /RepeatingInvoices
operationId: Accounting_getRepeatingInvoices

Parameters

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

Xero identifier for Tenant

where query optional string

Filter by an any element

order query optional string

Order by an any element

Responses

200

Success - return response of type Repeating Invoices array for all Repeating Invoice

GET /RepeatingInvoices
Load more endpoints