POST /Quotes

Servers

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

xero-tenant-id String Yes

Xero identifier for Tenant

Idempotency-Key String No

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

Query parameters

Name Type Required Description
summarizeErrors Boolean No

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

Default value: false

Request body fields

Name Type Required Description
Quotes[] Array No
Quotes[].LineAmountTypes String No

Line amounts are exclusive of tax by default if you don’t specify this element. See Line Amount Types

Possible values:

  • "NOTAX"
  • "INCLUSIVE"
  • "EXCLUSIVE"
Quotes[].TotalDiscount Number No

Total of discounts applied on the quote line items

Quotes[].Date String No

Date quote was issued – YYYY-MM-DD. If the Date element is not specified it will default to the current date based on the timezone setting of the organisation

Quotes[].Summary String No

Summary text for the quote

Quotes[].StatusAttributeString String No

A string to indicate if a invoice status

Quotes[].Total Number No

Total of Quote tax inclusive (i.e. SubTotal + TotalTax). This will be ignored if it doesn’t equal the sum of the LineAmounts

Quotes[].ExpiryDateString String No

Date the quote expires – YYYY-MM-DD.

Quotes[].Reference String No

Additional reference number

Quotes[].TotalTax Number No

Total tax on quote

Quotes[].QuoteNumber String No

Unique alpha numeric code identifying a quote (Max Length = 255)

Quotes[].LineItems[] Array No

See LineItems

Quotes[].LineItems[].Quantity Number No

LineItem Quantity

Quotes[].LineItems[].UnitAmount Number No

LineItem Unit Amount

Quotes[].LineItems[].TaxAmount Number No

The tax amount is auto calculated as a percentage of the line amount (see below) based on the tax rate. This value can be overriden if the calculated is not correct.

Quotes[].LineItems[].Item No
Quotes[].LineItems[].AccountCode String No

See Accounts

Quotes[].LineItems[].RepeatingInvoiceID String No

The Xero identifier for a Repeating Invoice

Quotes[].LineItems[].LineItemID String No

LineItem unique ID

Quotes[].LineItems[].Description String No

Description needs to be at least 1 char long. A line item with just a description (i.e no unit amount or quantity) can be created by specifying just a element that contains at least 1 character

Quotes[].LineItems[].TaxType String No

The tax type from TaxRates

Quotes[].LineItems[].Taxability String No

The type of taxability

Possible values:

  • "NOT_APPLICABLE"
  • "EXEMPT"
  • "PART_TAXABLE"
  • "TAXABLE"
  • "NON_TAXABLE"
Quotes[].LineItems[].TaxBreakdown[] Array No

An array of tax components defined for this line item

Quotes[].LineItems[].TaxBreakdown[].TaxComponentId String No

The unique ID number of this component

Quotes[].LineItems[].TaxBreakdown[].Name String No

The name of the jurisdiction

Quotes[].LineItems[].TaxBreakdown[].Type String No

The type of the jurisdiction

Possible values:

  • "SYSGST/USSPECIAL"
  • "SYSGST/USCOUNTRY"
  • "SYSGST/USCOUNTY"
  • "SYSGST/USSTATE"
  • "SYSGST/USCITY"
Quotes[].LineItems[].TaxBreakdown[].TaxAmount Number No

The amount of the tax

Quotes[].LineItems[].TaxBreakdown[].TaxableAmount Number No

The amount that is taxable

Quotes[].LineItems[].TaxBreakdown[].NonTaxableAmount Number No

The amount that is not taxable

Quotes[].LineItems[].TaxBreakdown[].TaxPercentage Number No

The percentage of the tax

Quotes[].LineItems[].TaxBreakdown[].ExemptAmount Number No

The amount that is exempt

Quotes[].LineItems[].TaxBreakdown[].StateAssignedNo String No

The state assigned number of the jurisdiction

Quotes[].LineItems[].TaxBreakdown[].JurisdictionRegion String No

Name identifying the region within the country

Quotes[].LineItems[].LineAmount Number No

If you wish to omit either the Quantity or UnitAmount you can provide a LineAmount and Xero will calculate the missing amount for you. The line amount reflects the discounted price if either a DiscountRate or DiscountAmount has been used i.e. LineAmount = Quantity * Unit Amount * ((100 - DiscountRate)/100) or LineAmount = (Quantity * UnitAmount) - DiscountAmount

Quotes[].LineItems[].AccountID String No

The associated account ID related to this line item

Quotes[].LineItems[].SalesTaxCodeId Number No

The ID of the sales tax code

Quotes[].LineItems[].ItemCode String No

See Items

Quotes[].LineItems[].Tracking[] Array No

Optional Tracking Category – see Tracking. Any LineItem can have a maximum of 2 elements.

Quotes[].LineItems[].Tracking[].TrackingCategoryID String No

The Xero identifier for a tracking category

Quotes[].LineItems[].Tracking[].Name String No

The name of the tracking category

Quotes[].LineItems[].Tracking[].Option String No

See Tracking Options

Quotes[].LineItems[].Tracking[].TrackingOptionID String No

The Xero identifier for a tracking category option

Quotes[].LineItems[].DiscountAmount Number No

Discount amount being applied to a line item. Only supported on ACCREC invoices and quotes. ACCPAY invoices and credit notes in Xero do not support discounts.

Quotes[].LineItems[].DiscountRate Number No

Percentage discount being applied to a line item (only supported on ACCREC invoices – ACC PAY invoices and credit notes in Xero do not support discounts

Quotes[].UpdatedDateUTC String No

Last modified date UTC format

Quotes[].SubTotal Number No

Total of quote excluding taxes.

Quotes[].Terms String No

Terms of the quote

Quotes[].CurrencyRate Number No

The currency rate for a multicurrency quote

Quotes[].ExpiryDate String No

Date the quote expires – YYYY-MM-DD.

Quotes[].Status String No

The status of the quote.

Possible values:

  • "INVOICED"
  • "DELETED"
  • "ACCEPTED"
  • "DECLINED"
  • "DRAFT"
  • "SENT"
Quotes[].BrandingThemeID String No

See BrandingThemes

Quotes[].ValidationErrors[] Array No

Displays array of validation error messages from the API

Quotes[].ValidationErrors[].Message String No

Validation error message

Quotes[].Contact Object No
Quotes[].Contact.BankAccountDetails String No

Bank account number of contact

Quotes[].Contact.Website String No

Website address for contact (read only)

Quotes[].Contact.Name String No

Full name of contact/organisation (max length = 255)

Quotes[].Contact.SalesTrackingCategories[] Array No

The default sales tracking categories for contacts

Quotes[].Contact.SalesTrackingCategories[].TrackingOptionName String No

The default purchase tracking category name for contacts

Quotes[].Contact.SalesTrackingCategories[].TrackingCategoryName String No

The default sales tracking category name for contacts

Quotes[].Contact.SalesDefaultLineAmountType String No

The default sales line amount type for a contact. Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber.

Possible values:

  • "INCLUSIVE"
  • "NONE"
  • "EXCLUSIVE"
Quotes[].Contact.TrackingCategoryOption String No

The name of the Tracking Option assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories

Quotes[].Contact.TaxNumber String No

Tax number of contact – this is also known as the ABN (Australia), GST Number (New Zealand), VAT Number (UK) or Tax ID Number (US and global) in the Xero UI depending on which regionalized version of Xero you are using (max length = 50)

Quotes[].Contact.TrackingCategoryName String No

The name of the Tracking Category assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories

Quotes[].Contact.LastName String No

Last name of contact person (max length = 255)

Quotes[].Contact.IsSupplier Boolean No

true or false – Boolean that describes if a contact that has any AP invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts payable invoice is generated against this contact.

Quotes[].Contact.PurchasesTrackingCategories[] Array No

The default purchases tracking categories for contacts

Quotes[].Contact.PurchasesTrackingCategories[].TrackingOptionName String No

The default purchase tracking category name for contacts

Quotes[].Contact.PurchasesTrackingCategories[].TrackingCategoryName String No

The default sales tracking category name for contacts

Quotes[].Contact.UpdatedDateUTC String No

UTC timestamp of last update to contact

Quotes[].Contact.BrandingTheme Object No
Quotes[].Contact.BrandingTheme.Name String No

Name of branding theme

Quotes[].Contact.BrandingTheme.BrandingThemeID String No

Xero identifier

Quotes[].Contact.BrandingTheme.Type String No

Always INVOICE

Possible values:

  • "INVOICE"
Quotes[].Contact.BrandingTheme.LogoUrl String No

The location of the image file used as the logo on this branding theme

Quotes[].Contact.BrandingTheme.SortOrder Integer No

Integer – ranked order of branding theme. The default branding theme has a value of 0

Quotes[].Contact.BrandingTheme.CreatedDateUTC String No

UTC timestamp of creation date of branding theme

Quotes[].Contact.IsCustomer Boolean No

true or false – Boolean that describes if a contact has any AR invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts receivable invoice is generated against this contact.

Quotes[].Contact.PurchasesDefaultLineAmountType String No

The default purchases line amount type for a contact Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber.

Possible values:

  • "INCLUSIVE"
  • "NONE"
  • "EXCLUSIVE"
Quotes[].Contact.Attachments[] Array No

Displays array of attachments from the API

Quotes[].Contact.Attachments[].ContentLength Integer No

Length of the file content

Quotes[].Contact.Attachments[].IncludeOnline Boolean No

Include the file with the online invoice

Quotes[].Contact.Attachments[].AttachmentID String No

Unique ID for the file

Quotes[].Contact.Attachments[].MimeType String No

Type of file

Quotes[].Contact.Attachments[].Url String No

URL to the file on xero.com

Quotes[].Contact.Attachments[].FileName String No

Name of the file

Quotes[].Contact.PurchasesDefaultAccountCode String No

The default purchases account code for contacts

Quotes[].Contact.ContactID String No

Xero identifier

Quotes[].Contact.AccountsPayableTaxType String No

The tax type from TaxRates

Quotes[].Contact.ContactStatus String No

Current status of a contact – see contact status types

Possible values:

  • "ARCHIVED"
  • "ACTIVE"
  • "GDPRREQUEST"
Quotes[].Contact.Addresses[] Array No

Store certain address types for a contact – see address types

Quotes[].Contact.Addresses[].City String No

max length = 255

Quotes[].Contact.Addresses[].AddressType String No

define the type of address

Possible values:

  • "STREET"
  • "POBOX"
Quotes[].Contact.Addresses[].AttentionTo String No

max length = 255

Quotes[].Contact.Addresses[].AddressLine2 String No

max length = 500

Quotes[].Contact.Addresses[].Region String No

max length = 255

Quotes[].Contact.Addresses[].Country String No

max length = 50, [A-Z], [a-z] only

Quotes[].Contact.Addresses[].AddressLine1 String No

max length = 500

Quotes[].Contact.Addresses[].AddressLine4 String No

max length = 500

Quotes[].Contact.Addresses[].AddressLine3 String No

max length = 500

Quotes[].Contact.Addresses[].PostalCode String No

max length = 50

Quotes[].Contact.StatusAttributeString String No

Status of object

Quotes[].Contact.CompanyNumber String No

Company registration number (max length = 50)

Quotes[].Contact.Phones[] Array No

Store certain phone types for a contact – see phone types

Quotes[].Contact.Phones[].PhoneType String No

Possible values:

  • "DEFAULT"
  • "OFFICE"
  • "DDI"
  • "MOBILE"
  • "FAX"
Quotes[].Contact.Phones[].PhoneNumber String No

max length = 50

Quotes[].Contact.Phones[].PhoneAreaCode String No

max length = 10

Quotes[].Contact.Phones[].PhoneCountryCode String No

max length = 20

Quotes[].Contact.BatchPayments No

Bank details for use on a batch payment stored with each contact

Quotes[].Contact.FirstName String No

First name of contact person (max length = 255)

Quotes[].Contact.SalesDefaultAccountCode String No

The default sales account code for contacts

Quotes[].Contact.ContactNumber String No

This can be updated via the API only i.e. This field is read only on the Xero contact screen, used to identify contacts in external systems (max length = 50). If the Contact Number is used, this is displayed as Contact Code in the Contacts UI in Xero.

Quotes[].Contact.AccountsReceivableTaxType String No

The tax type from TaxRates

Quotes[].Contact.DefaultCurrency String No

3 letter alpha code for the currency – see list of currency codes

Possible values:

  • "ISK"
  • "JMD"
  • "LTL"
  • "SVC"
  • "SAR"
  • "EEK"
  • "TTD"
  • "SBD"
  • "SHP"
  • "GBP"
  • "TRY"
  • "MOP"
  • "INR"
  • "MAD"
  • "CUP"
  • "CLF"
  • "SRD"
  • "SZL"
  • "IRR"
  • "CHF"
  • "EUR"
  • "KZT"
  • "ALL"
  • "MZN"
  • "CDF"
  • "BZD"
  • "KES"
  • "AOA"
  • "NGN"
  • "SEK"
  • "BND"
  • "UYU"
  • "BRL"
  • "YER"
  • "ANG"
  • "BYR"
  • "MRO"
  • "DJF"
  • "LSL"
  • "BBD"
  • "MGA"
  • "VND"
  • "DOP"
  • "TJS"
  • "FJD"
  • "BGN"
  • "TWD"
  • "QAR"
  • "VES"
  • "CNY"
  • "AUD"
  • "ZMW"
  • "WST"
  • "MDL"
  • "KHR"
  • "NZD"
  • "AMD"
  • "AZN"
  • "TZS"
  • "GIP"
  • "AED"
  • "AFN"
  • "DZD"
  • "PKR"
  • "KYD"
  • "AWG"
  • "BSD"
  • "PEN"
  • "XAF"
  • "NAD"
  • "ZWD"
  • "BTN"
  • "KRW"
  • "NPR"
  • "FKP"
  • "TND"
  • "LVL"
  • "MWK"
  • "JOD"
  • "LRD"
  • "RSD"
  • "SCR"
  • "HUF"
  • "IDR"
  • "LAK"
  • "UAH"
  • "ZAR"
  • "OMR"
  • "PGK"
  • "SLL"
  • "MVR"
  • "USD"
  • "MXV"
  • "MKD"
  • "COP"
  • "CAD"
  • "KMF"
  • "MXN"
  • "PYG"
  • "XCD"
  • "STD"
  • "IQD"
  • "TOP"
  • "VEF"
  • "VUV"
  • "SOS"
  • "CVE"
  • "CUC"
  • "KGS"
  • "TMT"
  • "THB"
  • "BOB"
  • "UZS"
  • "BYN"
  • "SKK"
  • "ILS"
  • "PLN"
  • "RON"
  • "BHD"
  • "BIF"
  • "SLE"
  • "XPF"
  • "ARS"
  • "GTQ"
  • "RUB"
  • "HKD"
  • "ZMK"
  • "RWF"
  • "BDT"
  • "ETB"
  • "LYD"
  • "JPY"
  • "SGD"
  • "STN"
  • "MNT"
  • "NIO"
  • "GEL"
  • "MUR"
  • "NOK"
  • "ERN"
  • "SYP"
  • "MYR"
  • "DKK"
  • "HRK"
  • "CLP"
  • "GNF"
  • "GMD"
  • "BAM"
  • "HTG"
  • "LBP"
  • "PHP"
  • "EGP"
  • "SDG"
  • "CRC"
  • "CZK"
  • "KWD"
  • "KPW"
  • "GHS"
  • "GYD"
  • "LKR"
  • "BMD"
  • "BWP"
  • "MRU"
  • "PAB"
  • "UGX"
  • "MMK"
  • "XOF"
  • "HNL"
Quotes[].Contact.HasValidationErrors Boolean No

A boolean to indicate if a contact has an validation errors

Default value: false

Quotes[].Contact.AccountNumber String No

A user defined account number. This can be updated via the API and the Xero UI (max length = 50)

Quotes[].Contact.Balances Object No

The raw AccountsReceivable(sales invoices) and AccountsPayable(bills) outstanding and overdue amounts, not converted to base currency (read only)

Quotes[].Contact.Balances.AccountsReceivable Object No
Quotes[].Contact.Balances.AccountsReceivable.Overdue Number No
Quotes[].Contact.Balances.AccountsReceivable.Outstanding Number No
Quotes[].Contact.Balances.AccountsPayable Object No
Quotes[].Contact.Balances.AccountsPayable.Overdue Number No
Quotes[].Contact.Balances.AccountsPayable.Outstanding Number No
Quotes[].Contact.XeroNetworkKey String No

Store XeroNetworkKey for contacts.

Quotes[].Contact.Discount Number No

The default discount rate for the contact (read only)

Quotes[].Contact.MergedToContactID String No

ID for the destination of a merged contact. Only returned when using paging or when fetching a contact by ContactId or ContactNumber.

Quotes[].Contact.ValidationErrors[] Array No

Displays validation errors returned from the API

Quotes[].Contact.ValidationErrors[].Message String No

Validation error message

Quotes[].Contact.EmailAddress String No

Email address of contact person (umlauts not supported) (max length = 255)

Quotes[].Contact.HasAttachments Boolean No

A boolean to indicate if a contact has an attachment

Default value: false

Quotes[].Contact.PaymentTerms Object No
Quotes[].Contact.PaymentTerms.Bills Object No
Quotes[].Contact.PaymentTerms.Bills.Day Integer No

Day of Month (0-31)

Quotes[].Contact.PaymentTerms.Bills.Type String No

Possible values:

  • "DAYSAFTERBILLMONTH"
  • "OFCURRENTMONTH"
  • "DAYSAFTERBILLDATE"
  • "OFFOLLOWINGMONTH"
Quotes[].Contact.PaymentTerms.Sales Object No
Quotes[].Contact.PaymentTerms.Sales.Day Integer No

Day of Month (0-31)

Quotes[].Contact.PaymentTerms.Sales.Type String No

Possible values:

  • "DAYSAFTERBILLMONTH"
  • "OFCURRENTMONTH"
  • "DAYSAFTERBILLDATE"
  • "OFFOLLOWINGMONTH"
Quotes[].Contact.ContactGroups[] Array No

Displays which contact groups a contact is included in

Quotes[].Contact.ContactGroups[].Name String No

The Name of the contact group. Required when creating a new contact group

Quotes[].Contact.ContactGroups[].Status String No

The Status of a contact group. To delete a contact group update the status to DELETED. Only contact groups with a status of ACTIVE are returned on GETs.

Possible values:

  • "DELETED"
  • "ACTIVE"
Quotes[].Contact.ContactGroups[].ContactGroupID String No

The Xero identifier for an contact group – specified as a string following the endpoint name. e.g. /297c2dc5-cc47-4afd-8ec8-74990b8761e9

Quotes[].Contact.ContactGroups[].Contacts[] Array No

The ContactID and Name of Contacts in a contact group. Returned on GETs when the ContactGroupID is supplied in the URL.

Quotes[].Contact.ContactPersons[] Array No

See contact persons

Quotes[].Contact.ContactPersons[].IncludeInEmails Boolean No

boolean to indicate whether contact should be included on emails with invoices etc.

Quotes[].Contact.ContactPersons[].EmailAddress String No

Email address of person

Quotes[].Contact.ContactPersons[].LastName String No

Last name of person

Quotes[].Contact.ContactPersons[].FirstName String No

First name of person

Quotes[].DateString String No

Date the quote was issued (YYYY-MM-DD)

Quotes[].Title String No

Title text for the quote

Quotes[].CurrencyCode String No

3 letter alpha code for the currency – see list of currency codes

Possible values:

  • "ISK"
  • "JMD"
  • "LTL"
  • "SVC"
  • "SAR"
  • "EEK"
  • "TTD"
  • "SBD"
  • "SHP"
  • "GBP"
  • "TRY"
  • "MOP"
  • "INR"
  • "MAD"
  • "CUP"
  • "CLF"
  • "SRD"
  • "SZL"
  • "IRR"
  • "CHF"
  • "EUR"
  • "KZT"
  • "ALL"
  • "MZN"
  • "CDF"
  • "BZD"
  • "KES"
  • "AOA"
  • "NGN"
  • "SEK"
  • "BND"
  • "UYU"
  • "BRL"
  • "YER"
  • "ANG"
  • "BYR"
  • "MRO"
  • "DJF"
  • "LSL"
  • "BBD"
  • "MGA"
  • "VND"
  • "DOP"
  • "TJS"
  • "FJD"
  • "BGN"
  • "TWD"
  • "QAR"
  • "VES"
  • "CNY"
  • "AUD"
  • "ZMW"
  • "WST"
  • "MDL"
  • "KHR"
  • "NZD"
  • "AMD"
  • "AZN"
  • "TZS"
  • "GIP"
  • "AED"
  • "AFN"
  • "DZD"
  • "PKR"
  • "KYD"
  • "AWG"
  • "BSD"
  • "PEN"
  • "XAF"
  • "NAD"
  • "ZWD"
  • "BTN"
  • "KRW"
  • "NPR"
  • "FKP"
  • "TND"
  • "LVL"
  • "MWK"
  • "JOD"
  • "LRD"
  • "RSD"
  • "SCR"
  • "HUF"
  • "IDR"
  • "LAK"
  • "UAH"
  • "ZAR"
  • "OMR"
  • "PGK"
  • "SLL"
  • "MVR"
  • "USD"
  • "MXV"
  • "MKD"
  • "COP"
  • "CAD"
  • "KMF"
  • "MXN"
  • "PYG"
  • "XCD"
  • "STD"
  • "IQD"
  • "TOP"
  • "VEF"
  • "VUV"
  • "SOS"
  • "CVE"
  • "CUC"
  • "KGS"
  • "TMT"
  • "THB"
  • "BOB"
  • "UZS"
  • "BYN"
  • "SKK"
  • "ILS"
  • "PLN"
  • "RON"
  • "BHD"
  • "BIF"
  • "SLE"
  • "XPF"
  • "ARS"
  • "GTQ"
  • "RUB"
  • "HKD"
  • "ZMK"
  • "RWF"
  • "BDT"
  • "ETB"
  • "LYD"
  • "JPY"
  • "SGD"
  • "STN"
  • "MNT"
  • "NIO"
  • "GEL"
  • "MUR"
  • "NOK"
  • "ERN"
  • "SYP"
  • "MYR"
  • "DKK"
  • "HRK"
  • "CLP"
  • "GNF"
  • "GMD"
  • "BAM"
  • "HTG"
  • "LBP"
  • "PHP"
  • "EGP"
  • "SDG"
  • "CRC"
  • "CZK"
  • "KWD"
  • "KPW"
  • "GHS"
  • "GYD"
  • "LKR"
  • "BMD"
  • "BWP"
  • "MRU"
  • "PAB"
  • "UGX"
  • "MMK"
  • "XOF"
  • "HNL"
Quotes[].QuoteID String No

QuoteID GUID is automatically generated and is returned after create or GET.

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.