POST /v2/orders/calculate

Enables applications to preview order pricing without creating an order.

Servers

Request headers

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

Default value: "application/json"

Request body fields

Name Type Required Description
order Object Yes

Contains all information related to a single order to process with Square, including line items that specify the products to purchase. Order objects also include information about any associated tenders, refunds, and returns.

All Connect V2 Transactions have all been converted to Orders including all associated itemization data.

order.source Object No

Represents the origination details of an order.

order.source.name String No

The name used to identify the place (physical or digital) that an order originates. If unset, the name defaults to the name of the application that created the order.

order.discounts[] Array No

The list of all discounts associated with the order.

Discounts can be scoped to either ORDER or LINE_ITEM. For discounts scoped to LINE_ITEM, an OrderLineItemAppliedDiscount must be added to each line item that the discount applies to. For discounts with ORDER scope, the server generates an OrderLineItemAppliedDiscount for every line item.

IMPORTANT: If LINE_ITEM scope is set on any discounts in this field, using the deprecated line_items.discounts field results in an error. Use line_items.applied_discounts instead.

order.discounts[].percentage String No

The percentage of the discount, as a string representation of a decimal number. A value of 7.25 corresponds to a percentage of 7.25%.

percentage is not set for amount-based discounts.

order.discounts[].name String No

The discount's name.

order.discounts[].uid String No

A unique ID that identifies the discount only within this order.

order.discounts[].catalog_version Integer No

The version of the catalog object that this discount references.

order.discounts[].metadata Object No

Application-defined data attached to this discount. Metadata fields are intended to store descriptive references or associations with an entity in another system or store brief information about the object. Square does not process this field; it only stores and returns it in relevant API calls. Do not use metadata to store any sensitive information (such as personally identifiable information or card details).

Keys written by applications must be 60 characters or less and must be in the character set [a-zA-Z0-9_-]. Entries can also include metadata generated by Square. These keys are prefixed with a namespace, separated from the key with a ':' character.

Values have a maximum length of 255 characters.

An application can have up to 10 entries per metadata field.

Entries written by applications are private and can only be read or modified by the same application.

For more information, see Metadata.

order.discounts[].type String No

The type of the discount.

Discounts that do not reference a catalog object ID must have a type of FIXED_PERCENTAGE or FIXED_AMOUNT.

order.discounts[].scope String No

Indicates the level at which the discount applies. For ORDER scoped discounts, Square generates references in applied_discounts on all order line items that do not have them. For LINE_ITEM scoped discounts, the discount only applies to line items with a discount reference in their applied_discounts field.

This field is immutable. To change the scope of a discount, you must delete the discount and re-add it as a new discount.

order.discounts[].applied_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.discounts[].applied_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.discounts[].applied_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.discounts[].amount_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.discounts[].amount_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.discounts[].amount_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.discounts[].catalog_object_id String No

The catalog object ID referencing CatalogDiscount.

order.discounts[].pricing_rule_id String No

The object ID of a pricing rule to be applied automatically to this discount. The specification and application of the discounts, to which a pricing_rule_id is assigned, are completely controlled by the corresponding pricing rule.

order.discounts[].reward_ids[] Array No

The reward IDs corresponding to this discount. The application and specification of discounts that have reward_ids are completely controlled by the backing criteria corresponding to the reward tiers of the rewards that are added to the order through the Loyalty API. To manually unapply discounts that are the result of added rewards, the rewards must be removed from the order through the Loyalty API.

order.returns[] Array No

A collection of items from sale orders being returned in this one. Normally part of an itemized return or exchange. There is exactly one Return object per sale Order being referenced.

order.returns[].return_amounts Object No

A collection of various money amounts.

order.returns[].return_amounts.service_charge_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.returns[].return_amounts.service_charge_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.returns[].return_amounts.service_charge_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.returns[].return_amounts.tax_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.returns[].return_amounts.tax_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.returns[].return_amounts.tax_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.returns[].return_amounts.total_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.returns[].return_amounts.total_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.returns[].return_amounts.total_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.returns[].return_amounts.discount_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.returns[].return_amounts.discount_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.returns[].return_amounts.discount_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.returns[].return_amounts.tip_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.returns[].return_amounts.tip_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.returns[].return_amounts.tip_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.returns[].uid String No

A unique ID that identifies the return only within this order.

order.returns[].return_discounts[] Array No

A collection of references to discounts being returned for an order, including the total applied discount amount to be returned. The discounts must reference a top-level discount ID from the source order.

order.returns[].return_discounts[].percentage String No

The percentage of the tax, as a string representation of a decimal number. A value of "7.25" corresponds to a percentage of 7.25%.

percentage is not set for amount-based discounts.

order.returns[].return_discounts[].name String No

The discount's name.

order.returns[].return_discounts[].uid String No

A unique ID that identifies the returned discount only within this order.

order.returns[].return_discounts[].catalog_version Integer No

The version of the catalog object that this discount references.

order.returns[].return_discounts[].source_discount_uid String No

The discount uid from the order that contains the original application of this discount.

order.returns[].return_discounts[].type String No

The type of the discount. If it is created by the API, it is FIXED_PERCENTAGE or FIXED_AMOUNT.

Discounts that do not reference a catalog object ID must have a type of FIXED_PERCENTAGE or FIXED_AMOUNT.

order.returns[].return_discounts[].scope String No

Indicates the level at which the OrderReturnDiscount applies. For ORDER scoped discounts, the server generates references in applied_discounts on all OrderReturnLineItems. For LINE_ITEM scoped discounts, the discount is only applied to OrderReturnLineItems with references in their applied_discounts field.

order.returns[].return_discounts[].applied_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.returns[].return_discounts[].applied_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.returns[].return_discounts[].applied_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.returns[].return_discounts[].amount_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.returns[].return_discounts[].amount_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.returns[].return_discounts[].amount_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.returns[].return_discounts[].catalog_object_id String No

The catalog object ID referencing CatalogDiscount.

order.returns[].return_service_charges[] Array No

A collection of service charges that are being returned.

order.returns[].return_service_charges[].applied_taxes[] Array No

The list of references to OrderReturnTax entities applied to the OrderReturnServiceCharge. Each OrderLineItemAppliedTax has a tax_uid that references the uid of a top-level OrderReturnTax that is being applied to the OrderReturnServiceCharge. On reads, the applied amount is populated.

order.returns[].return_service_charges[].applied_taxes[].tax_uid String Yes

The uid of the tax for which this applied tax represents. It must reference a tax present in the order.taxes field.

This field is immutable. To change which taxes apply to a line item, delete and add a new OrderLineItemAppliedTax.

order.returns[].return_service_charges[].applied_taxes[].uid String No

A unique ID that identifies the applied tax only within this order.

order.returns[].return_service_charges[].applied_taxes[].applied_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.returns[].return_service_charges[].applied_taxes[].applied_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.returns[].return_service_charges[].applied_taxes[].applied_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.returns[].return_service_charges[].percentage String No

The percentage of the service charge, as a string representation of a decimal number. For example, a value of "7.25" corresponds to a percentage of 7.25%.

Either percentage or amount_money should be set, but not both.

order.returns[].return_service_charges[].total_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.returns[].return_service_charges[].total_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.returns[].return_service_charges[].total_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.returns[].return_service_charges[].uid String No

A unique ID that identifies the return service charge only within this order.

order.returns[].return_service_charges[].source_service_charge_uid String No

The service charge uid from the order containing the original service charge. source_service_charge_uid is null for unlinked returns.

order.returns[].return_service_charges[].name String No

The name of the service charge.

order.returns[].return_service_charges[].total_tax_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.returns[].return_service_charges[].total_tax_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.returns[].return_service_charges[].total_tax_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.returns[].return_service_charges[].catalog_version Integer No

The version of the catalog object that this service charge references.

order.returns[].return_service_charges[].taxable Boolean No

Indicates whether the surcharge can be taxed. Service charges calculated in the TOTAL_PHASE cannot be marked as taxable.

order.returns[].return_service_charges[].applied_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.returns[].return_service_charges[].applied_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.returns[].return_service_charges[].applied_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.returns[].return_service_charges[].amount_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.returns[].return_service_charges[].amount_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.returns[].return_service_charges[].amount_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.returns[].return_service_charges[].calculation_phase String No

The calculation phase after which to apply the service charge.

order.returns[].return_service_charges[].catalog_object_id String No

The catalog object ID of the associated OrderServiceCharge.

order.returns[].rounding_adjustment Object No

A rounding adjustment of the money being returned. Commonly used to apply cash rounding when the minimum unit of the account is smaller than the lowest physical denomination of the currency.

order.returns[].rounding_adjustment.name String No

The name of the rounding adjustment from the original sale order.

order.returns[].rounding_adjustment.uid String No

A unique ID that identifies the rounding adjustment only within this order.

order.returns[].rounding_adjustment.amount_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.returns[].rounding_adjustment.amount_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.returns[].rounding_adjustment.amount_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.returns[].return_taxes[] Array No

A collection of references to taxes being returned for an order, including the total applied tax amount to be returned. The taxes must reference a top-level tax ID from the source order.

order.returns[].return_taxes[].percentage String No

The percentage of the tax, as a string representation of a decimal number. For example, a value of "7.25" corresponds to a percentage of 7.25%.

order.returns[].return_taxes[].name String No

The tax's name.

order.returns[].return_taxes[].uid String No

A unique ID that identifies the returned tax only within this order.

order.returns[].return_taxes[].catalog_version Integer No

The version of the catalog object that this tax references.

order.returns[].return_taxes[].type String No

Indicates the calculation method used to apply the tax.

order.returns[].return_taxes[].scope String No

Indicates the level at which the OrderReturnTax applies. For ORDER scoped taxes, Square generates references in applied_taxes on all OrderReturnLineItems. For LINE_ITEM scoped taxes, the tax is only applied to OrderReturnLineItems with references in their applied_discounts field.

order.returns[].return_taxes[].applied_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.returns[].return_taxes[].applied_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.returns[].return_taxes[].applied_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.returns[].return_taxes[].source_tax_uid String No

The tax uid from the order that contains the original tax charge.

order.returns[].return_taxes[].catalog_object_id String No

The catalog object ID referencing CatalogTax.

order.returns[].return_line_items[] Array No

A collection of line items that are being returned.

order.returns[].return_line_items[].applied_taxes[] Array No

The list of references to OrderReturnTax entities applied to the return line item. Each OrderLineItemAppliedTax has a tax_uid that references the uid of a top-level OrderReturnTax applied to the return line item. On reads, the applied amount is populated.

order.returns[].return_line_items[].applied_taxes[].tax_uid String Yes

The uid of the tax for which this applied tax represents. It must reference a tax present in the order.taxes field.

This field is immutable. To change which taxes apply to a line item, delete and add a new OrderLineItemAppliedTax.

order.returns[].return_line_items[].applied_taxes[].uid String No

A unique ID that identifies the applied tax only within this order.

order.returns[].return_line_items[].applied_taxes[].applied_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.returns[].return_line_items[].applied_taxes[].applied_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.returns[].return_line_items[].applied_taxes[].applied_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.returns[].return_line_items[].total_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.returns[].return_line_items[].total_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.returns[].return_line_items[].total_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.returns[].return_line_items[].uid String No

A unique ID for this return line-item entry.

order.returns[].return_line_items[].quantity String Yes

The quantity returned, formatted as a decimal number. For example, "3".

Line items with a quantity_unit can have non-integer quantities. For example, "1.70000".

order.returns[].return_line_items[].source_line_item_uid String No

The uid of the line item in the original sale order.

order.returns[].return_line_items[].variation_total_price_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.returns[].return_line_items[].variation_total_price_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.returns[].return_line_items[].variation_total_price_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.returns[].return_line_items[].applied_discounts[] Array No

The list of references to OrderReturnDiscount entities applied to the return line item. Each OrderLineItemAppliedDiscount has a discount_uid that references the uid of a top-level OrderReturnDiscount applied to the return line item. On reads, the applied amount is populated.

order.returns[].return_line_items[].applied_discounts[].discount_uid String Yes

The uid of the discount that the applied discount represents. It must reference a discount present in the order.discounts field.

This field is immutable. To change which discounts apply to a line item, you must delete the discount and re-add it as a new OrderLineItemAppliedDiscount.

order.returns[].return_line_items[].applied_discounts[].uid String No

A unique ID that identifies the applied discount only within this order.

order.returns[].return_line_items[].applied_discounts[].applied_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.returns[].return_line_items[].applied_discounts[].applied_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.returns[].return_line_items[].applied_discounts[].applied_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.returns[].return_line_items[].gross_return_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.returns[].return_line_items[].gross_return_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.returns[].return_line_items[].gross_return_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.returns[].return_line_items[].name String No

The name of the line item.

order.returns[].return_line_items[].note String No

The note of the return line item.

order.returns[].return_line_items[].quantity_unit Object No

Contains the measurement unit for a quantity and a precision that specifies the number of digits after the decimal point for decimal quantities.

order.returns[].return_line_items[].quantity_unit.measurement_unit Object No

Represents a unit of measurement to use with a quantity, such as ounces or inches. Exactly one of the following fields are required: custom_unit, area_unit, length_unit, volume_unit, and weight_unit.

order.returns[].return_line_items[].quantity_unit.measurement_unit.length_unit String No

Represents a standard length unit.

order.returns[].return_line_items[].quantity_unit.measurement_unit.volume_unit String No

Represents a standard volume unit.

order.returns[].return_line_items[].quantity_unit.measurement_unit.time_unit String No

Represents a standard unit of time.

order.returns[].return_line_items[].quantity_unit.measurement_unit.generic_unit String No

Reserved for API integrations that lack the ability to specify a real measurement unit

order.returns[].return_line_items[].quantity_unit.measurement_unit.type String No

Represents the type of the measurement unit.

order.returns[].return_line_items[].quantity_unit.measurement_unit.area_unit String No

Represents a standard area unit.

order.returns[].return_line_items[].quantity_unit.measurement_unit.custom_unit Object No

The information needed to define a custom unit, provided by the seller.

order.returns[].return_line_items[].quantity_unit.measurement_unit.custom_unit.abbreviation String Yes

The abbreviation of the custom unit, such as "bsh" (bushel). This appears in the cart for the Point of Sale app, and in reports.

order.returns[].return_line_items[].quantity_unit.measurement_unit.custom_unit.name String Yes

The name of the custom unit, for example "bushel".

order.returns[].return_line_items[].quantity_unit.measurement_unit.weight_unit String No

Represents a standard unit of weight or mass.

order.returns[].return_line_items[].quantity_unit.catalog_version Integer No

The version of the catalog object that this measurement unit references.

This field is set when this is a catalog-backed measurement unit.

order.returns[].return_line_items[].quantity_unit.precision Integer No

For non-integer quantities, represents the number of digits after the decimal point that are recorded for this quantity.

For example, a precision of 1 allows quantities such as "1.0" and "1.1", but not "1.01".

Min: 0. Max: 5.

order.returns[].return_line_items[].total_tax_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.returns[].return_line_items[].total_tax_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.returns[].return_line_items[].total_tax_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.returns[].return_line_items[].catalog_version Integer No

The version of the catalog object that this line item references.

order.returns[].return_line_items[].total_discount_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.returns[].return_line_items[].total_discount_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.returns[].return_line_items[].total_discount_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.returns[].return_line_items[].base_price_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.returns[].return_line_items[].base_price_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.returns[].return_line_items[].base_price_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.returns[].return_line_items[].return_modifiers[] Array No

The CatalogModifiers applied to this line item.

order.returns[].return_line_items[].return_modifiers[].name String No

The name of the item modifier.

order.returns[].return_line_items[].return_modifiers[].uid String No

A unique ID that identifies the return modifier only within this order.

order.returns[].return_line_items[].return_modifiers[].catalog_version Integer No

The version of the catalog object that this line item modifier references.

order.returns[].return_line_items[].return_modifiers[].base_price_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.returns[].return_line_items[].return_modifiers[].base_price_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.returns[].return_line_items[].return_modifiers[].base_price_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.returns[].return_line_items[].return_modifiers[].total_price_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.returns[].return_line_items[].return_modifiers[].total_price_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.returns[].return_line_items[].return_modifiers[].total_price_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.returns[].return_line_items[].return_modifiers[].source_modifier_uid String No

The modifier uid from the order's line item that contains the original sale of this line item modifier.

order.returns[].return_line_items[].return_modifiers[].catalog_object_id String No

The catalog object ID referencing CatalogModifier.

order.returns[].return_line_items[].item_type String No

The type of line item: an itemized return, a non-itemized return (custom amount), or the return of an unactivated gift card sale.

order.returns[].return_line_items[].variation_name String No

The name of the variation applied to this return line item.

order.returns[].return_line_items[].catalog_object_id String No

The CatalogItemVariation ID applied to this return line item.

order.returns[].source_order_id String No

An order that contains the original sale of these return line items. This is unset for unlinked returns.

order.rewards[] Array No

A set-like list of Rewards that have been added to the Order.

order.rewards[].id String Yes

The identifier of the reward.

order.rewards[].reward_tier_id String Yes

The identifier of the reward tier corresponding to this reward.

order.refunds[] Array No

The refunds that are part of this order.

order.refunds[].id String Yes

The refund's unique ID.

order.refunds[].location_id String Yes

The ID of the refund's associated location.

order.refunds[].tender_id String Yes

The ID of the refunded tender.

order.refunds[].processing_fee_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.refunds[].processing_fee_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.refunds[].processing_fee_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.refunds[].additional_recipients[] Array No

Additional recipients (other than the merchant) receiving a portion of this refund. For example, fees assessed on a refund of a purchase by a third party integration.

order.refunds[].additional_recipients[].location_id String Yes

The location ID for a recipient (other than the merchant) receiving a portion of this tender.

order.refunds[].additional_recipients[].description String No

The description of the additional recipient.

order.refunds[].additional_recipients[].amount_money Object Yes

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.refunds[].additional_recipients[].amount_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.refunds[].additional_recipients[].amount_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.refunds[].additional_recipients[].receivable_id String No

The unique ID for this AdditionalRecipientReceivable, assigned by the server.

order.refunds[].status String Yes

The current status of the refund (PENDING, APPROVED, REJECTED, or FAILED).

order.refunds[].created_at String No

The timestamp for when the refund was created, in RFC 3339 format.

order.refunds[].reason String Yes

The reason for the refund being issued.

order.refunds[].amount_money Object Yes

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.refunds[].amount_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.refunds[].amount_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.refunds[].transaction_id String Yes

The ID of the transaction that the refunded tender is part of.

order.total_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.total_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.total_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.metadata Object No

Application-defined data attached to this order. Metadata fields are intended to store descriptive references or associations with an entity in another system or store brief information about the object. Square does not process this field; it only stores and returns it in relevant API calls. Do not use metadata to store any sensitive information (such as personally identifiable information or card details).

Keys written by applications must be 60 characters or less and must be in the character set [a-zA-Z0-9_-]. Entries can also include metadata generated by Square. These keys are prefixed with a namespace, separated from the key with a ':' character.

Values have a maximum length of 255 characters.

An application can have up to 10 entries per metadata field.

Entries written by applications are private and can only be read or modified by the same application.

For more information, see Metadata.

order.state String No

The current state of the order: OPEN, COMPLETED, or CANCELED.

order.fulfillments[] Array No

Details about order fulfillment.

Orders can only be created with at most one fulfillment. However, orders returned by the API might contain multiple fulfillments.

order.fulfillments[].uid String No

A unique ID that identifies the fulfillment only within this order.

order.fulfillments[].metadata Object No

Application-defined data attached to this fulfillment. Metadata fields are intended to store descriptive references or associations with an entity in another system or store brief information about the object. Square does not process this field; it only stores and returns it in relevant API calls. Do not use metadata to store any sensitive information (such as personally identifiable information or card details).

Keys written by applications must be 60 characters or less and must be in the character set [a-zA-Z0-9_-]. Entries can also include metadata generated by Square. These keys are prefixed with a namespace, separated from the key with a ':' character.

Values have a maximum length of 255 characters.

An application can have up to 10 entries per metadata field.

Entries written by applications are private and can only be read or modified by the same application.

For more information, see Metadata.

order.fulfillments[].shipment_details Object No

Contains the details necessary to fulfill a shipment order.

order.fulfillments[].shipment_details.in_progress_at String No

The timestamp indicating when this fulfillment was moved to the RESERVED state, which indicates that preparation of this shipment has begun. The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").

order.fulfillments[].shipment_details.shipping_type String No

A description of the type of shipping product purchased from the carrier (such as First Class, Priority, or Express).

order.fulfillments[].shipment_details.failed_at String No

The timestamp indicating when the shipment failed to be completed. The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").

order.fulfillments[].shipment_details.cancel_reason String No

A description of why the shipment was canceled.

order.fulfillments[].shipment_details.tracking_url String No

A link to the tracking webpage on the carrier's website.

order.fulfillments[].shipment_details.carrier String No

The shipping carrier being used to ship this fulfillment (such as UPS, FedEx, or USPS).

order.fulfillments[].shipment_details.shipped_at String No

The timestamp indicating when this fulfillment was moved to the COMPLETED state, which indicates that the fulfillment has been given to the shipping carrier. The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").

order.fulfillments[].shipment_details.tracking_number String No

The reference number provided by the carrier to track the shipment's progress.

order.fulfillments[].shipment_details.recipient Object No

Contains information about the recipient of a fulfillment.

order.fulfillments[].shipment_details.recipient.customer_id String No

The customer ID of the customer associated with the fulfillment.

If customer_id is provided, the fulfillment recipient's display_name, email_address, and phone_number are automatically populated from the targeted customer profile. If these fields are set in the request, the request values overrides the information from the customer profile. If the targeted customer profile does not contain the necessary information and these fields are left unset, the request results in an error.

order.fulfillments[].shipment_details.recipient.email_address String No

The email address of the fulfillment recipient.

If provided, the email address overrides the value pulled from the customer profile indicated by customer_id.

order.fulfillments[].shipment_details.recipient.display_name String No

The display name of the fulfillment recipient.

If provided, the display name overrides the value pulled from the customer profile indicated by customer_id.

order.fulfillments[].shipment_details.recipient.address Object No

Represents a postal address in a country. The address format is based on an open-source library from Google. For more information, see AddressValidationMetadata. This format has dedicated fields for four address components: postal code, locality (city), administrative district (state, prefecture, or province), and sublocality (town or village). These components have dedicated fields in the Address object because software sometimes behaves differently based on them. For example, sales tax software may charge different amounts of sales tax based on the postal code, and some software is only available in certain states due to compliance reasons.

For the remaining address components, the Address type provides the address_line_1 and address_line_2 fields for free-form data entry. These fields are free-form because the remaining address components have too many variations around the world and typical software does not parse these components. These fields enable users to enter anything they want.

Note that, in the current implementation, all other Address type fields are blank. These include address_line_3, sublocality_2, sublocality_3, administrative_district_level_2, administrative_district_level_3, first_name, last_name, and organization.

When it comes to localization, the seller's language preferences (see Language preferences) are ignored for addresses. Even though Square products (such as Square Point of Sale and the Seller Dashboard) mostly use a seller's language preference in communication, when it comes to addresses, they will use English for a US address, Japanese for an address in Japan, and so on.

order.fulfillments[].shipment_details.recipient.address.address_line_3 String No

The third line of the address, if any.

order.fulfillments[].shipment_details.recipient.address.first_name String No

Optional first name when it's representing recipient.

order.fulfillments[].shipment_details.recipient.address.postal_code String No

The address's postal code.

order.fulfillments[].shipment_details.recipient.address.organization String No

Optional organization name when it's representing recipient.

order.fulfillments[].shipment_details.recipient.address.address_line_2 String No

The second line of the address, if any.

order.fulfillments[].shipment_details.recipient.address.address_line_1 String No

The first line of the address.

Fields that start with address_line provide the address's most specific details, like street number, street name, and building name. They do not provide less specific details like city, state/province, or country (these details are provided in other fields).

order.fulfillments[].shipment_details.recipient.address.administrative_district_level_3 String No

A civil entity within the address's administrative_district_level_2, if any.

order.fulfillments[].shipment_details.recipient.address.sublocality_2 String No

A civil region within the address's sublocality, if any.

order.fulfillments[].shipment_details.recipient.address.administrative_district_level_2 String No

A civil entity within the address's administrative_district_level_1. In the US, this is the county.

order.fulfillments[].shipment_details.recipient.address.locality String No

The city or town of the address.

order.fulfillments[].shipment_details.recipient.address.sublocality String No

A civil region within the address's locality, if any.

order.fulfillments[].shipment_details.recipient.address.last_name String No

Optional last name when it's representing recipient.

order.fulfillments[].shipment_details.recipient.address.administrative_district_level_1 String No

A civil entity within the address's country. In the US, this is the state.

order.fulfillments[].shipment_details.recipient.address.sublocality_3 String No

A civil region within the address's sublocality_2, if any.

order.fulfillments[].shipment_details.recipient.address.country String No

The address's country, in ISO 3166-1-alpha-2 format.

order.fulfillments[].shipment_details.recipient.phone_number String No

The phone number of the fulfillment recipient.

If provided, the phone number overrides the value pulled from the customer profile indicated by customer_id.

order.fulfillments[].shipment_details.canceled_at String No

The timestamp indicating the shipment was canceled. The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").

order.fulfillments[].shipment_details.placed_at String No

The timestamp indicating when the shipment was requested. The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").

order.fulfillments[].shipment_details.expected_shipped_at String No

The timestamp indicating when the shipment is expected to be delivered to the shipping carrier. The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").

order.fulfillments[].shipment_details.shipping_note String No

A note with additional information for the shipping carrier.

order.fulfillments[].shipment_details.failure_reason String No

A description of why the shipment failed to be completed.

order.fulfillments[].shipment_details.packaged_at String No

The timestamp indicating when this fulfillment was moved to the PREPARED state, which indicates that the fulfillment is packaged. The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").

order.fulfillments[].type String No

The type of the fulfillment.

order.fulfillments[].state String No

The state of the fulfillment.

order.fulfillments[].pickup_details Object No

Contains details necessary to fulfill a pickup order.

order.fulfillments[].pickup_details.picked_up_at String No

The timestamp indicating when the fulfillment was picked up by the recipient. The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").

order.fulfillments[].pickup_details.expired_at String No

The timestamp indicating when the fulfillment expired. The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").

order.fulfillments[].pickup_details.cancel_reason String No

A description of why the pickup was canceled. The maximum length: 100 characters.

order.fulfillments[].pickup_details.accepted_at String No

The timestamp indicating when the fulfillment was accepted. The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").

order.fulfillments[].pickup_details.prep_time_duration String No

The duration of time it takes to prepare this fulfillment. The duration must be in RFC 3339 format (for example, "P1W3D").

order.fulfillments[].pickup_details.is_curbside_pickup Boolean No

If set to true, indicates that this pickup order is for curbside pickup, not in-store pickup.

order.fulfillments[].pickup_details.auto_complete_duration String No

The duration of time after which an open and accepted pickup fulfillment is automatically moved to the COMPLETED state. The duration must be in RFC 3339 format (for example, "P1W3D").

If not set, this pickup fulfillment remains accepted until it is canceled or completed.

order.fulfillments[].pickup_details.recipient Object No

Contains information about the recipient of a fulfillment.

order.fulfillments[].pickup_details.recipient.customer_id String No

The customer ID of the customer associated with the fulfillment.

If customer_id is provided, the fulfillment recipient's display_name, email_address, and phone_number are automatically populated from the targeted customer profile. If these fields are set in the request, the request values overrides the information from the customer profile. If the targeted customer profile does not contain the necessary information and these fields are left unset, the request results in an error.

order.fulfillments[].pickup_details.recipient.email_address String No

The email address of the fulfillment recipient.

If provided, the email address overrides the value pulled from the customer profile indicated by customer_id.

order.fulfillments[].pickup_details.recipient.display_name String No

The display name of the fulfillment recipient.

If provided, the display name overrides the value pulled from the customer profile indicated by customer_id.

order.fulfillments[].pickup_details.recipient.address Object No

Represents a postal address in a country. The address format is based on an open-source library from Google. For more information, see AddressValidationMetadata. This format has dedicated fields for four address components: postal code, locality (city), administrative district (state, prefecture, or province), and sublocality (town or village). These components have dedicated fields in the Address object because software sometimes behaves differently based on them. For example, sales tax software may charge different amounts of sales tax based on the postal code, and some software is only available in certain states due to compliance reasons.

For the remaining address components, the Address type provides the address_line_1 and address_line_2 fields for free-form data entry. These fields are free-form because the remaining address components have too many variations around the world and typical software does not parse these components. These fields enable users to enter anything they want.

Note that, in the current implementation, all other Address type fields are blank. These include address_line_3, sublocality_2, sublocality_3, administrative_district_level_2, administrative_district_level_3, first_name, last_name, and organization.

When it comes to localization, the seller's language preferences (see Language preferences) are ignored for addresses. Even though Square products (such as Square Point of Sale and the Seller Dashboard) mostly use a seller's language preference in communication, when it comes to addresses, they will use English for a US address, Japanese for an address in Japan, and so on.

order.fulfillments[].pickup_details.recipient.address.address_line_3 String No

The third line of the address, if any.

order.fulfillments[].pickup_details.recipient.address.first_name String No

Optional first name when it's representing recipient.

order.fulfillments[].pickup_details.recipient.address.postal_code String No

The address's postal code.

order.fulfillments[].pickup_details.recipient.address.organization String No

Optional organization name when it's representing recipient.

order.fulfillments[].pickup_details.recipient.address.address_line_2 String No

The second line of the address, if any.

order.fulfillments[].pickup_details.recipient.address.address_line_1 String No

The first line of the address.

Fields that start with address_line provide the address's most specific details, like street number, street name, and building name. They do not provide less specific details like city, state/province, or country (these details are provided in other fields).

order.fulfillments[].pickup_details.recipient.address.administrative_district_level_3 String No

A civil entity within the address's administrative_district_level_2, if any.

order.fulfillments[].pickup_details.recipient.address.sublocality_2 String No

A civil region within the address's sublocality, if any.

order.fulfillments[].pickup_details.recipient.address.administrative_district_level_2 String No

A civil entity within the address's administrative_district_level_1. In the US, this is the county.

order.fulfillments[].pickup_details.recipient.address.locality String No

The city or town of the address.

order.fulfillments[].pickup_details.recipient.address.sublocality String No

A civil region within the address's locality, if any.

order.fulfillments[].pickup_details.recipient.address.last_name String No

Optional last name when it's representing recipient.

order.fulfillments[].pickup_details.recipient.address.administrative_district_level_1 String No

A civil entity within the address's country. In the US, this is the state.

order.fulfillments[].pickup_details.recipient.address.sublocality_3 String No

A civil region within the address's sublocality_2, if any.

order.fulfillments[].pickup_details.recipient.address.country String No

The address's country, in ISO 3166-1-alpha-2 format.

order.fulfillments[].pickup_details.recipient.phone_number String No

The phone number of the fulfillment recipient.

If provided, the phone number overrides the value pulled from the customer profile indicated by customer_id.

order.fulfillments[].pickup_details.curbside_pickup_details Object No

Specific details for curbside pickup.

order.fulfillments[].pickup_details.curbside_pickup_details.curbside_details String No

Specific details for curbside pickup, such as parking number and vehicle model.

order.fulfillments[].pickup_details.curbside_pickup_details.buyer_arrived_at String No

The timestamp indicating when the buyer arrived and is waiting for pickup. The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").

order.fulfillments[].pickup_details.canceled_at String No

The timestamp indicating when the fulfillment was canceled. The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").

order.fulfillments[].pickup_details.pickup_window_duration String No

The window of time in which the order should be picked up after the pickup_at timestamp. Must be in RFC 3339 duration format, e.g., "P1W3D". Can be used as an informational guideline for merchants.

order.fulfillments[].pickup_details.placed_at String No

The timestamp indicating when the fulfillment was placed. The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").

order.fulfillments[].pickup_details.note String No

A note meant to provide additional instructions about the pickup fulfillment displayed in the Square Point of Sale application and set by the API.

order.fulfillments[].pickup_details.schedule_type String No

The schedule type of the pickup fulfillment. Defaults to SCHEDULED.

order.fulfillments[].pickup_details.pickup_at String No

The timestamp that represents the start of the pickup window. Must be in RFC 3339 timestamp format, e.g., "2016-09-04T23:59:33.123Z".

For fulfillments with the schedule type ASAP, this is automatically set to the current time plus the expected duration to prepare the fulfillment.

order.fulfillments[].pickup_details.expires_at String No

The timestamp indicating when this fulfillment expires if it is not accepted. The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z"). The expiration time can only be set up to 7 days in the future. If expires_at is not set, this pickup fulfillment is automatically accepted when placed.

order.fulfillments[].pickup_details.rejected_at String No

The timestamp indicating when the fulfillment was rejected. The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").

order.fulfillments[].pickup_details.ready_at String No

The timestamp indicating when the fulfillment is marked as ready for pickup. The timestamp must be in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").

order.net_amounts Object No

A collection of various money amounts.

order.net_amounts.service_charge_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.net_amounts.service_charge_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.net_amounts.service_charge_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.net_amounts.tax_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.net_amounts.tax_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.net_amounts.tax_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.net_amounts.total_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.net_amounts.total_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.net_amounts.total_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.net_amounts.discount_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.net_amounts.discount_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.net_amounts.discount_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.net_amounts.tip_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.net_amounts.tip_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.net_amounts.tip_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.reference_id String No

A client-specified ID to associate an entity in another system with this order.

order.updated_at String No

The timestamp for when the order was last updated, in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").

order.id String No

The order's unique ID.

order.line_items[] Array No

The line items included in the order.

order.line_items[].applied_taxes[] Array No

The list of references to taxes applied to this line item. Each OrderLineItemAppliedTax has a tax_uid that references the uid of a top-level OrderLineItemTax applied to the line item. On reads, the amount applied is populated.

An OrderLineItemAppliedTax is automatically created on every line item for all ORDER scoped taxes added to the order. OrderLineItemAppliedTax records for LINE_ITEM scoped taxes must be added in requests for the tax to apply to any line items.

To change the amount of a tax, modify the referenced top-level tax.

order.line_items[].applied_taxes[].tax_uid String Yes

The uid of the tax for which this applied tax represents. It must reference a tax present in the order.taxes field.

This field is immutable. To change which taxes apply to a line item, delete and add a new OrderLineItemAppliedTax.

order.line_items[].applied_taxes[].uid String No

A unique ID that identifies the applied tax only within this order.

order.line_items[].applied_taxes[].applied_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.line_items[].applied_taxes[].applied_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.line_items[].applied_taxes[].applied_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.line_items[].modifiers[] Array No

The CatalogModifiers applied to this line item.

order.line_items[].modifiers[].name String No

The name of the item modifier.

order.line_items[].modifiers[].uid String No

A unique ID that identifies the modifier only within this order.

order.line_items[].modifiers[].catalog_version Integer No

The version of the catalog object that this modifier references.

order.line_items[].modifiers[].base_price_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.line_items[].modifiers[].base_price_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.line_items[].modifiers[].base_price_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.line_items[].modifiers[].total_price_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.line_items[].modifiers[].total_price_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.line_items[].modifiers[].total_price_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.line_items[].modifiers[].catalog_object_id String No

The catalog object ID referencing CatalogModifier.

order.line_items[].total_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.line_items[].total_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.line_items[].total_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.line_items[].uid String No

A unique ID that identifies the line item only within this order.

order.line_items[].quantity String Yes

The quantity purchased, formatted as a decimal number. For example, "3".

Line items with a quantity of "0" are automatically removed when paying for or otherwise completing the order.

Line items with a quantity_unit can have non-integer quantities. For example, "1.70000".

order.line_items[].variation_total_price_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.line_items[].variation_total_price_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.line_items[].variation_total_price_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.line_items[].metadata Object No

Application-defined data attached to this line item. Metadata fields are intended to store descriptive references or associations with an entity in another system or store brief information about the object. Square does not process this field; it only stores and returns it in relevant API calls. Do not use metadata to store any sensitive information (such as personally identifiable information or card details).

Keys written by applications must be 60 characters or less and must be in the character set [a-zA-Z0-9_-]. Entries can also include metadata generated by Square. These keys are prefixed with a namespace, separated from the key with a ':' character.

Values have a maximum length of 255 characters.

An application can have up to 10 entries per metadata field.

Entries written by applications are private and can only be read or modified by the same application.

For more information, see Metadata.

order.line_items[].applied_discounts[] Array No

The list of references to discounts applied to this line item. Each OrderLineItemAppliedDiscount has a discount_uid that references the uid of a top-level OrderLineItemDiscounts applied to the line item. On reads, the amount applied is populated.

An OrderLineItemAppliedDiscount is automatically created on every line item for all ORDER scoped discounts that are added to the order. OrderLineItemAppliedDiscount records for LINE_ITEM scoped discounts must be added in requests for the discount to apply to any line items.

To change the amount of a discount, modify the referenced top-level discount.

order.line_items[].applied_discounts[].discount_uid String Yes

The uid of the discount that the applied discount represents. It must reference a discount present in the order.discounts field.

This field is immutable. To change which discounts apply to a line item, you must delete the discount and re-add it as a new OrderLineItemAppliedDiscount.

order.line_items[].applied_discounts[].uid String No

A unique ID that identifies the applied discount only within this order.

order.line_items[].applied_discounts[].applied_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.line_items[].applied_discounts[].applied_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.line_items[].applied_discounts[].applied_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.line_items[].name String No

The name of the line item.

order.line_items[].note String No

The note of the line item.

order.line_items[].quantity_unit Object No

Contains the measurement unit for a quantity and a precision that specifies the number of digits after the decimal point for decimal quantities.

order.line_items[].quantity_unit.measurement_unit Object No

Represents a unit of measurement to use with a quantity, such as ounces or inches. Exactly one of the following fields are required: custom_unit, area_unit, length_unit, volume_unit, and weight_unit.

order.line_items[].quantity_unit.measurement_unit.length_unit String No

Represents a standard length unit.

order.line_items[].quantity_unit.measurement_unit.volume_unit String No

Represents a standard volume unit.

order.line_items[].quantity_unit.measurement_unit.time_unit String No

Represents a standard unit of time.

order.line_items[].quantity_unit.measurement_unit.generic_unit String No

Reserved for API integrations that lack the ability to specify a real measurement unit

order.line_items[].quantity_unit.measurement_unit.type String No

Represents the type of the measurement unit.

order.line_items[].quantity_unit.measurement_unit.area_unit String No

Represents a standard area unit.

order.line_items[].quantity_unit.measurement_unit.custom_unit Object No

The information needed to define a custom unit, provided by the seller.

order.line_items[].quantity_unit.measurement_unit.custom_unit.abbreviation String Yes

The abbreviation of the custom unit, such as "bsh" (bushel). This appears in the cart for the Point of Sale app, and in reports.

order.line_items[].quantity_unit.measurement_unit.custom_unit.name String Yes

The name of the custom unit, for example "bushel".

order.line_items[].quantity_unit.measurement_unit.weight_unit String No

Represents a standard unit of weight or mass.

order.line_items[].quantity_unit.catalog_version Integer No

The version of the catalog object that this measurement unit references.

This field is set when this is a catalog-backed measurement unit.

order.line_items[].quantity_unit.precision Integer No

For non-integer quantities, represents the number of digits after the decimal point that are recorded for this quantity.

For example, a precision of 1 allows quantities such as "1.0" and "1.1", but not "1.01".

Min: 0. Max: 5.

order.line_items[].total_tax_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.line_items[].total_tax_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.line_items[].total_tax_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.line_items[].catalog_version Integer No

The version of the catalog object that this line item references.

order.line_items[].pricing_blocklists Object No

Describes pricing adjustments that are blocked from manual and automatic application to a line item. For more information, see Apply Taxes and Discounts.

order.line_items[].pricing_blocklists.blocked_discounts[] Array No

A list of discounts blocked from applying to the line item. Discounts can be blocked by the discount_uid (for ad hoc discounts) or the discount_catalog_object_id (for catalog discounts).

order.line_items[].pricing_blocklists.blocked_discounts[].discount_uid String No

The uid of the discount that should be blocked. Use this field to block ad hoc discounts. For catalog discounts, use the discount_catalog_object_id field.

order.line_items[].pricing_blocklists.blocked_discounts[].discount_catalog_object_id String No

The catalog_object_id of the discount that should be blocked. Use this field to block catalog discounts. For ad hoc discounts, use the discount_uid field.

order.line_items[].pricing_blocklists.blocked_discounts[].uid String No

A unique ID of the BlockedDiscount within the order.

order.line_items[].pricing_blocklists.blocked_taxes[] Array No

A list of taxes blocked from applying to the line item. Taxes can be blocked by the tax_uid (for ad hoc taxes) or the tax_catalog_object_id (for catalog taxes).

order.line_items[].pricing_blocklists.blocked_taxes[].tax_catalog_object_id String No

The catalog_object_id of the tax that should be blocked. Use this field to block catalog taxes. For ad hoc taxes, use the tax_uid field.

order.line_items[].pricing_blocklists.blocked_taxes[].tax_uid String No

The uid of the tax that should be blocked. Use this field to block ad hoc taxes. For catalog, taxes use the tax_catalog_object_id field.

order.line_items[].pricing_blocklists.blocked_taxes[].uid String No

A unique ID of the BlockedTax within the order.

order.line_items[].total_discount_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.line_items[].total_discount_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.line_items[].total_discount_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.line_items[].base_price_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.line_items[].base_price_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.line_items[].base_price_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.line_items[].gross_sales_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.line_items[].gross_sales_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.line_items[].gross_sales_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.line_items[].item_type String No

The type of line item: an itemized sale, a non-itemized sale (custom amount), or the activation or reloading of a gift card.

order.line_items[].variation_name String No

The name of the variation applied to this line item.

order.line_items[].catalog_object_id String No

The CatalogItemVariation ID applied to this line item.

order.total_discount_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.total_discount_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.total_discount_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.closed_at String No

The timestamp for when the order reached a terminal state, in RFC 3339 format (for example "2016-09-04T23:59:33.123Z").

order.taxes[] Array No

The list of all taxes associated with the order.

Taxes can be scoped to either ORDER or LINE_ITEM. For taxes with LINE_ITEM scope, an OrderLineItemAppliedTax must be added to each line item that the tax applies to. For taxes with ORDER scope, the server generates an OrderLineItemAppliedTax for every line item.

On reads, each tax in the list includes the total amount of that tax applied to the order.

IMPORTANT: If LINE_ITEM scope is set on any taxes in this field, using the deprecated line_items.taxes field results in an error. Use line_items.applied_taxes instead.

order.taxes[].auto_applied Boolean No

Determines whether the tax was automatically applied to the order based on the catalog configuration. For an example, see Automatically Apply Taxes to an Order.

order.taxes[].percentage String No

The percentage of the tax, as a string representation of a decimal number. For example, a value of "7.25" corresponds to a percentage of 7.25%.

order.taxes[].name String No

The tax's name.

order.taxes[].uid String No

A unique ID that identifies the tax only within this order.

order.taxes[].catalog_version Integer No

The version of the catalog object that this tax references.

order.taxes[].metadata Object No

Application-defined data attached to this tax. Metadata fields are intended to store descriptive references or associations with an entity in another system or store brief information about the object. Square does not process this field; it only stores and returns it in relevant API calls. Do not use metadata to store any sensitive information (such as personally identifiable information or card details).

Keys written by applications must be 60 characters or less and must be in the character set [a-zA-Z0-9_-]. Entries can also include metadata generated by Square. These keys are prefixed with a namespace, separated from the key with a ':' character.

Values have a maximum length of 255 characters.

An application can have up to 10 entries per metadata field.

Entries written by applications are private and can only be read or modified by the same application.

For more information, see Metadata.

order.taxes[].type String No

Indicates the calculation method used to apply the tax.

order.taxes[].scope String No

Indicates the level at which the tax applies. For ORDER scoped taxes, Square generates references in applied_taxes on all order line items that do not have them. For LINE_ITEM scoped taxes, the tax only applies to line items with references in their applied_taxes field.

This field is immutable. To change the scope, you must delete the tax and re-add it as a new tax.

order.taxes[].applied_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.taxes[].applied_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.taxes[].applied_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.taxes[].catalog_object_id String No

The catalog object ID referencing CatalogTax.

order.customer_id String No

The ID of the customer associated with the order.

IMPORTANT: You should specify a customer_id if you want the corresponding payment transactions to be explicitly linked to the customer in the Seller Dashboard. If this field is omitted, the customer_id assigned to any underlying Payment objects is ignored and might result in the creation of new instant profiles.

order.location_id String Yes

The ID of the seller location that this order is associated with.

order.total_service_charge_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.total_service_charge_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.total_service_charge_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.return_amounts Object No

A collection of various money amounts.

order.return_amounts.service_charge_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.return_amounts.service_charge_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.return_amounts.service_charge_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.return_amounts.tax_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.return_amounts.tax_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.return_amounts.tax_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.return_amounts.total_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.return_amounts.total_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.return_amounts.total_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.return_amounts.discount_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.return_amounts.discount_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.return_amounts.discount_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.return_amounts.tip_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.return_amounts.tip_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.return_amounts.tip_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.total_tax_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.total_tax_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.total_tax_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.pricing_options Object No

Pricing options for an order. The options affect how the order's price is calculated. They can be used, for example, to apply automatic price adjustments that are based on preconfigured pricing rules.

order.pricing_options.auto_apply_taxes Boolean No

The option to determine whether rule-based taxes are automatically applied to an order when the criteria of the corresponding rules are met.

order.pricing_options.auto_apply_discounts Boolean No

The option to determine whether pricing rule-based discounts are automatically applied to an order.

order.rounding_adjustment Object No

A rounding adjustment of the money being returned. Commonly used to apply cash rounding when the minimum unit of the account is smaller than the lowest physical denomination of the currency.

order.rounding_adjustment.name String No

The name of the rounding adjustment from the original sale order.

order.rounding_adjustment.uid String No

A unique ID that identifies the rounding adjustment only within this order.

order.rounding_adjustment.amount_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.rounding_adjustment.amount_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.rounding_adjustment.amount_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.service_charges[] Array No

A list of service charges applied to the order.

order.service_charges[].applied_taxes[] Array No

The list of references to the taxes applied to this service charge. Each OrderLineItemAppliedTax has a tax_uid that references the uid of a top-level OrderLineItemTax that is being applied to this service charge. On reads, the amount applied is populated.

An OrderLineItemAppliedTax is automatically created on every taxable service charge for all ORDER scoped taxes that are added to the order. OrderLineItemAppliedTax records for LINE_ITEM scoped taxes must be added in requests for the tax to apply to any taxable service charge. Taxable service charges have the taxable field set to true and calculated in the SUBTOTAL_PHASE.

To change the amount of a tax, modify the referenced top-level tax.

order.service_charges[].applied_taxes[].tax_uid String Yes

The uid of the tax for which this applied tax represents. It must reference a tax present in the order.taxes field.

This field is immutable. To change which taxes apply to a line item, delete and add a new OrderLineItemAppliedTax.

order.service_charges[].applied_taxes[].uid String No

A unique ID that identifies the applied tax only within this order.

order.service_charges[].applied_taxes[].applied_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.service_charges[].applied_taxes[].applied_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.service_charges[].applied_taxes[].applied_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.service_charges[].percentage String No

The service charge percentage as a string representation of a decimal number. For example, "7.25" indicates a service charge of 7.25%.

Exactly 1 of percentage or amount_money should be set.

order.service_charges[].total_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.service_charges[].total_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.service_charges[].total_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.service_charges[].uid String No

A unique ID that identifies the service charge only within this order.

order.service_charges[].metadata Object No

Application-defined data attached to this service charge. Metadata fields are intended to store descriptive references or associations with an entity in another system or store brief information about the object. Square does not process this field; it only stores and returns it in relevant API calls. Do not use metadata to store any sensitive information (such as personally identifiable information or card details).

Keys written by applications must be 60 characters or less and must be in the character set [a-zA-Z0-9_-]. Entries can also include metadata generated by Square. These keys are prefixed with a namespace, separated from the key with a ':' character.

Values have a maximum length of 255 characters.

An application can have up to 10 entries per metadata field.

Entries written by applications are private and can only be read or modified by the same application.

For more information, see Metadata.

order.service_charges[].name String No

The name of the service charge.

order.service_charges[].total_tax_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.service_charges[].total_tax_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.service_charges[].total_tax_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.service_charges[].catalog_version Integer No

The version of the catalog object that this service charge references.

order.service_charges[].type String No

The type of the service charge.

order.service_charges[].taxable Boolean No

Indicates whether the service charge can be taxed. If set to true, order-level taxes automatically apply to the service charge. Note that service charges calculated in the TOTAL_PHASE cannot be marked as taxable.

order.service_charges[].applied_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.service_charges[].applied_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.service_charges[].applied_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.service_charges[].amount_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.service_charges[].amount_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.service_charges[].amount_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.service_charges[].calculation_phase String No

The calculation phase at which to apply the service charge.

order.service_charges[].catalog_object_id String No

The catalog object ID referencing the service charge CatalogObject.

order.version Integer No

The version number, which is incremented each time an update is committed to the order. Orders not created through the API do not include a version number and therefore cannot be updated.

Read more about working with versions.

order.created_at String No

The timestamp for when the order was created, in RFC 3339 format (for example, "2016-09-04T23:59:33.123Z").

order.tenders[] Array No

The tenders that were used to pay for the order.

order.tenders[].cash_details Object No

Represents the details of a tender with type CASH.

order.tenders[].cash_details.buyer_tendered_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.tenders[].cash_details.buyer_tendered_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.tenders[].cash_details.buyer_tendered_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.tenders[].cash_details.change_back_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.tenders[].cash_details.change_back_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.tenders[].cash_details.change_back_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.tenders[].processing_fee_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.tenders[].processing_fee_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.tenders[].processing_fee_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.tenders[].additional_recipients[] Array No

Additional recipients (other than the merchant) receiving a portion of this tender. For example, fees assessed on the purchase by a third party integration.

order.tenders[].additional_recipients[].location_id String Yes

The location ID for a recipient (other than the merchant) receiving a portion of this tender.

order.tenders[].additional_recipients[].description String No

The description of the additional recipient.

order.tenders[].additional_recipients[].amount_money Object Yes

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.tenders[].additional_recipients[].amount_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.tenders[].additional_recipients[].amount_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.tenders[].additional_recipients[].receivable_id String No

The unique ID for this AdditionalRecipientReceivable, assigned by the server.

order.tenders[].payment_id String No

The ID of the Payment that corresponds to this tender. This value is only present for payments created with the v2 Payments API.

order.tenders[].transaction_id String No

The ID of the tender's associated transaction.

order.tenders[].id String No

The tender's unique ID.

order.tenders[].customer_id String No

If the tender is associated with a customer or represents a customer's card on file, this is the ID of the associated customer.

order.tenders[].location_id String No

The ID of the transaction's associated location.

order.tenders[].note String No

An optional note associated with the tender at the time of payment.

order.tenders[].tip_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.tenders[].tip_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.tenders[].tip_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.tenders[].type String Yes

The type of tender, such as CARD or CASH.

order.tenders[].card_details Object No

Represents additional details of a tender with type CARD or SQUARE_GIFT_CARD

order.tenders[].card_details.status String No

The credit card payment's current state (such as AUTHORIZED or CAPTURED). See TenderCardDetailsStatus for possible values.

order.tenders[].card_details.card Object No

Represents the payment details of a card to be used for payments. These details are determined by the payment token generated by Web Payments SDK.

order.tenders[].card_details.card.exp_year Integer No

The four-digit year of the card's expiration date.

order.tenders[].card_details.card.cardholder_name String No

The name of the cardholder.

order.tenders[].card_details.card.exp_month Integer No

The expiration month of the associated card as an integer between 1 and 12.

order.tenders[].card_details.card.fingerprint String No

Not currently set. Intended as a Square-assigned identifier, based on the card number, to identify the card across multiple locations within a single application.

order.tenders[].card_details.card.card_brand String No

The card's brand.

order.tenders[].card_details.card.prepaid_type String No

Indicates whether the Card is prepaid or not. The Card object includes this field only in response to Payments API calls.

order.tenders[].card_details.card.reference_id String No

An optional user-defined reference ID that associates this card with another entity in an external system. For example, a customer ID from an external customer management system.

order.tenders[].card_details.card.id String No

Unique ID for this card. Generated by Square.

order.tenders[].card_details.card.customer_id String No

The ID of a customer created using the Customers API to be associated with the card.

order.tenders[].card_details.card.last_4 String No

The last 4 digits of the card number.

order.tenders[].card_details.card.version Integer No

Current version number of the card. Increments with each card update. Requests to update an existing Card object will be rejected unless the version in the request matches the current version for the Card.

order.tenders[].card_details.card.enabled Boolean No

Indicates whether or not a card can be used for payments.

order.tenders[].card_details.card.card_type String No

The type of the card. The Card object includes this field only in response to Payments API calls.

order.tenders[].card_details.card.bin String No

The first six digits of the card number, known as the Bank Identification Number (BIN). Only the Payments API returns this field.

order.tenders[].card_details.card.billing_address Object No

Represents a postal address in a country. The address format is based on an open-source library from Google. For more information, see AddressValidationMetadata. This format has dedicated fields for four address components: postal code, locality (city), administrative district (state, prefecture, or province), and sublocality (town or village). These components have dedicated fields in the Address object because software sometimes behaves differently based on them. For example, sales tax software may charge different amounts of sales tax based on the postal code, and some software is only available in certain states due to compliance reasons.

For the remaining address components, the Address type provides the address_line_1 and address_line_2 fields for free-form data entry. These fields are free-form because the remaining address components have too many variations around the world and typical software does not parse these components. These fields enable users to enter anything they want.

Note that, in the current implementation, all other Address type fields are blank. These include address_line_3, sublocality_2, sublocality_3, administrative_district_level_2, administrative_district_level_3, first_name, last_name, and organization.

When it comes to localization, the seller's language preferences (see Language preferences) are ignored for addresses. Even though Square products (such as Square Point of Sale and the Seller Dashboard) mostly use a seller's language preference in communication, when it comes to addresses, they will use English for a US address, Japanese for an address in Japan, and so on.

order.tenders[].card_details.card.billing_address.address_line_3 String No

The third line of the address, if any.

order.tenders[].card_details.card.billing_address.first_name String No

Optional first name when it's representing recipient.

order.tenders[].card_details.card.billing_address.postal_code String No

The address's postal code.

order.tenders[].card_details.card.billing_address.organization String No

Optional organization name when it's representing recipient.

order.tenders[].card_details.card.billing_address.address_line_2 String No

The second line of the address, if any.

order.tenders[].card_details.card.billing_address.address_line_1 String No

The first line of the address.

Fields that start with address_line provide the address's most specific details, like street number, street name, and building name. They do not provide less specific details like city, state/province, or country (these details are provided in other fields).

order.tenders[].card_details.card.billing_address.administrative_district_level_3 String No

A civil entity within the address's administrative_district_level_2, if any.

order.tenders[].card_details.card.billing_address.sublocality_2 String No

A civil region within the address's sublocality, if any.

order.tenders[].card_details.card.billing_address.administrative_district_level_2 String No

A civil entity within the address's administrative_district_level_1. In the US, this is the county.

order.tenders[].card_details.card.billing_address.locality String No

The city or town of the address.

order.tenders[].card_details.card.billing_address.sublocality String No

A civil region within the address's locality, if any.

order.tenders[].card_details.card.billing_address.last_name String No

Optional last name when it's representing recipient.

order.tenders[].card_details.card.billing_address.administrative_district_level_1 String No

A civil entity within the address's country. In the US, this is the state.

order.tenders[].card_details.card.billing_address.sublocality_3 String No

A civil region within the address's sublocality_2, if any.

order.tenders[].card_details.card.billing_address.country String No

The address's country, in ISO 3166-1-alpha-2 format.

order.tenders[].card_details.entry_method String No

The method used to enter the card's details for the transaction.

order.tenders[].created_at String No

The timestamp for when the tender was created, in RFC 3339 format.

order.tenders[].amount_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.tenders[].amount_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.tenders[].amount_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

order.total_tip_money Object No

Represents an amount of money. Money fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See Working with Monetary Amounts for more information.

order.total_tip_money.amount Integer No

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.

order.total_tip_money.currency String No

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

See Currency for possible values.

proposed_rewards[] Array No

Identifies one or more loyalty reward tiers to apply during the order calculation. The discounts defined by the reward tiers are added to the order only to preview the effect of applying the specified rewards. The rewards do not correspond to actual redemptions; that is, no rewards are created. Therefore, the reward ids are random strings used only to reference the reward tier.

proposed_rewards[].id String Yes

The identifier of the reward.

proposed_rewards[].reward_tier_id String Yes

The identifier of the reward tier corresponding to this reward.

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.