Skip to main content
PUT
Upsert Order

Authorizations

X-Authorization
string
header
required

API Scope: "Order (write)"

Body

application/json
external_id
string
required

External ID of the order.

Maximum string length: 100
Example:

"564400c7-7a6b-4f29-b6a5-7bb580b2992c"

name
string
required

The name of the order.

Maximum string length: 100
sales_channel
string
required

If a channel with this name is not already associated with the shop, it will be used to create a new channel.

Maximum string length: 255
Example:

"shopify"

status
enum<string>
required

Status of the Order.

Available options:
active,
archived,
cancelled,
unknown
taxes_included
boolean
required
total_price
object
required

The price of the order in minor units, such as cents, with its corresponding currency.

Examples:
line_items
object[]
required

List of order line items associated with the order.

source
object
required

The source system that created the order.

secondary_identifier
string | null

An optional secondary identifier for the order, enabling customer lookup by an alternate reference. Use this for any supplementary order ID your system tracks — for example a fulfillment system ID (e.g. NetSuite), a marketplace order number, or a confirmation number. Customers can look up their return using either name or secondary_identifier.

Maximum string length: 100
customer
object
shipping_address
object
Example:
billing_address
object
Example:
total_price_presentment
object | null

The price of the order in minor units, such as cents. This is included if the price was shown to the customer in an alternate currency.

Example:
total_discounts
object | null

The deduction from the original order price as a way to promote sales, special offers, or customer loyalty rewards.

Example:
total_discounts_presentment
object | null

The deduction from the original order price as a way to promote sales, special offers, or customer loyalty rewards. This price is discounted from the original price according to the customer's local currency.

Example:
total_taxes
object | null

The tax amount for the order.

Example:
total_taxes_presentment
object | null

The tax amount for the order according to the customer's local currency.

Example:
order_discounts
OrderDiscount · object[][] | null
shipping_lines
object[] | null
refunds
RefundItems · object[][]

List of refunds associated with the order.

fulfillments
object[] | null

Fulfillment information for the order.

tags
string[] | null

A tag used to classify and group orders.

created_at
string<date-time> | null

The date and time the order was created in the source system. Required in the unstable API version; will become required in a future stable version.

Example:

"2023-04-25T13:25:00-05:00"

updated_at
string<date-time> | null
Example:

"2023-04-25T13:25:00-05:00"

cancelled_at
string<date-time> | null

Timestamp when the order was cancelled. Required when status is cancelled — include both fields together so Loop can reverse Checkout+ protection coverage.

Example:

"2023-04-25T13:25:00-05:00"

financial_status
enum<string> | null

The financial status of the order.

Available options:
pending,
authorized,
partially_paid,
paid,
partially_refunded,
refunded,
voided,
null
Maximum string length: 30
cancel_reason
enum<string> | null

The reason the order was cancelled, if applicable.

Available options:
customer,
declined,
fraud,
inventory,
other,
staff,
null
Maximum string length: 30
processed_at
string<date-time> | null

The date and time when the order was processed in the source system.

Example:

"2023-04-25T13:25:00-05:00"

browser_ip

The IP address of the browser used to place the order.

Maximum string length: 45
client_details_user_agent
string | null

The user agent string of the browser used to place the order.

Maximum string length: 1000
total_tip_received
object | null

The total tip amount received for the order.

Example:

Response

OK

order
OrderResponse · object