> This page is for Developer.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.bigcommerce.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.bigcommerce.com/_mcp/server.

# Get Order

GET https://your_store.example.com/api/storefront/orders/{orderId}

Returns *Order* data. This will return order data immediately after an order is placed on the storefront.

> #### Note
> * Substitute your storefront domain for `yourstore.example.com`. 
> * The Send a Test Request feature is not currently supported for this endpoint.

Reference: https://docs.bigcommerce.com/developer/api-reference/rest/storefront/orders/get-order

## Request

### Path parameters

- `orderId` (integer, required) — ID of an Order.

### Query parameters

- `include` (list of enum, optional) — Sub-resources to include in an Order, in a comma-separated list. The ID and the specified fields will be returned.
  - Allowed values: `lineItems`, `billingAddress`, `coupons`, `currency`, `taxes`, `payments`, `consignments`

## Response

### 200

OK

- `orderId` (double, optional)
- `cartId` (string, optional) — The ID of cart that was converted to order.
- `currency` (Currency, optional) — This will always be the same between cart and checkout.
- `isTaxIncluded` (boolean, optional) — Whether this item is taxable.
- `baseAmount` (double, optional) — Cost of cartʼs contents before applying discounts.
- `discountAmount` (float, optional) — Discounted amount.
- `giftWrappingCostTotal` (double, optional) — Gift wrapping for all items, including or excluding tax.
- `orderAmount` (double, optional) — Sum of line-items amounts, minus cart-level discounts and coupons. This amount includes taxes where applicable.
- `orderAmountAsInteger` (double, optional) — Order amount represented in integer. Eg. 1234 for $12.34
- `coupons` (list of AppliedCoupon, optional) — Array of `AppliedCoupon` objects applied to this cart.
- `lineItems` (list of OrderLineItem, optional) — Array of `LineItem` objects.
- `customerId` (string, optional)
- `billingAddress` (AddressProperties, optional)
- `status` (enum, optional) — Order status.
  - Allowed values: `INCOMPLETE`, `PENDING`, `SHIPPED`, `PARTIALLY_SHIPPED`, `REFUNDED`, `CANCELLED`, `DECLINED`, `AWAITING_PAYMENT`, `AWAITING_PICKUP`, `AWAITING_SHIPMENT`, `COMPLETED`, `AWAITING_FULFILLMENT`, `MANUAL_VERIFICATION_REQUIRED`, `DISPUTED`, `PARTIALLY_REFUNDED`
- `hasDigitalItems` (boolean, optional) — Specifies whether this order has at least one digital item.
- `isDownloadable` (boolean, optional) — Specifies whether this order is fully paid, so that digital items can be downloaded.
- `isComplete` (boolean, optional) — Specifies whether this order is complete and ready to be taken to the order confirmation page.
- `customerMessage` (string, optional) — Shopperʼs provided message for the order.
- `shippingCostTotal` (double, optional)
- `shippingCostBeforeDiscount` (double, optional) — Estimated total shipping cost before any shipping discounts have been applied.
- `comparisonShippingCost` (double, optional) — The total shipping cost to be shown to shopper in the summary as struck-through. - If the entered-price and display-price have the same tax setting (e.g.: both are tax-inclusive), this field will be the estimated total shipping cost before any coupons applied (but after automatic promotions applied). - If the entered-price and display-price have different tax setting (e.g.: one is tax-inclusive, and one is tax-exclusive), this field will be the estimated total shipping cost before any discounts applied, similar to the `shippingCostBeforeDiscount`.
- `handlingCostTotal` (double, optional)
- `customerCanBeCreated` (boolean, optional)
- `taxes` (list of OrderTaxesItems, optional)
- `taxTotal` (integer, optional)
- `channelId` (double, optional) — ID of the channel which the order belongs to.
- `consignments` (Consignments, optional) — All the consignments of the order.
- `shippingExpectationMessage` (string, optional, nullable) — Backorder shipping expectation message displayed to the shopper. Only present when the order contains backordered items.

## Types

### Currency

This will always be the same between cart and checkout.

- `name` (string, optional) — The currency name.
- `code` (string, optional) — ISO-4217 currency code. (See: https://www.iso.org/iso-4217-currency-codes.html.)
- `symbol` (string, optional) — The currency symbol.
- `decimalPlaces` (double, optional) — Number of decimal places for the currency. For example, USD currency has two decimal places.

### AppliedCoupon

- `code` (string, required) — the coupon code
- `id` (string, optional) — The coupon ID.
- `displayName` (string, optional) — The coupon title based on different types provided in the control panel.
- `couponType` (string, optional) — Key name to identify the type of coupon.
- `discountedAmount` (double, optional) — The discounted amount applied within a given context.

### OrderLineItem

- `physicalItems` (list of ItemPhysical, required) — Array of `ItemPhysical` objects.
- `digitalItems` (list of OrderItemDigital, required) — Array of `ItemDigital` objects.
- `giftCertificate` (list of OrderItemGiftCertificate, required) — Array of `ItemGiftCertificate` objects.

### AddressProperties

- `countryCode` (string, required) — ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
- `firstName` (string, optional)
- `lastName` (string, optional)
- `email` (string, optional)
- `company` (string, optional)
- `address1` (string, optional)
- `address2` (string, optional)
- `city` (string, optional)
- `stateOrProvince` (string, optional) — Represents state or province.
- `stateOrProvinceCode` (string, optional)
- `country` (string, optional)
- `postalCode` (string, optional)
- `phone` (string, optional)
- `customFields` (list of CustomField, optional)

### OrderTaxesItems

- `name` (string, optional)
- `amount` (integer, optional)

### Consignments

All the consignments of the order.

- `shipping` (list of ShippingConsignment, optional) — A list of shipping consignments.

### ItemPhysical

- `quantity` (double, required) — Quantity of this item.
- `id` (string, optional) — The line-item ID.
- `parentId` (string, optional) — Bundled items will have their parentʼs item ID.
- `variantId` (double, optional) — ID of the variant.
- `productId` (double, optional) — ID of the product.
- `sku` (string, optional) — SKU of the variant.
- `name` (string, optional) — The itemʼs product name.
- `url` (string, optional) — The product URL.
- `brand` (string, optional) — The product's brand.
- `isTaxable` (boolean, optional) — Whether the item is taxable.
- `imageUrl` (string, optional) — A publicly-accessible URL for an image of this item.
- `discounts` (ItemPhysicalDiscounts, optional) — List of discounts applied to this item. If no discount applied, empty array is returned. If discount has been applied, discount object returned.
- `discountAmount` (double, optional) — The total value of all discounts applied to this item (excluding coupon).
- `couponAmount` (double, optional) — The total value of all coupons applied to this item.
- `listPrice` (double, optional) — The net item price before discounts and coupons. BigCommerce derives an item's list price from the product default price or, if applicable, the sale price configured in the admin panel.
- `salePrice` (double, optional) — The itemʼs price after all discounts are applied. (The final price before tax calculation.)
- `extendedListPrice` (double, optional) — The itemʼs list price multiplied by the quantity.
- `extendedSalePrice` (double, optional) — The itemʼs sale price multiplied by the quantity.
- `type` (string, optional) — the product type - physical or digital.
- `addedByPromotion` (boolean, optional) — Whether this item has been added automatically by a promotion.
- `isShippingRequired` (boolean, optional) — Whether this item requires shipping to a physical address.
- `giftWrapping` (GiftWrapping, optional)
- `quantityBackordered` (integer, optional) — Number of units from this line item that are fulfilled via backorder. `0` when no units are backordered.
- `backorderMessage` (string, optional, nullable) — Backorder messaging for this line item. `null` when no backorder message applies.
- `categories` (list of ItemPhysicalCategoriesItems, optional) — Categories the item belongs to.

### OrderItemDigital

- `quantity` (double, required) — Quantity of this item.
- `id` (string, optional) — The line-item ID.
- `parentId` (string, optional) — Bundled items will have their parentʼs item ID.
- `variantId` (double, optional) — ID of the variant.
- `productId` (double, optional) — ID of the product.
- `sku` (string, optional) — SKU of the variant.
- `name` (string, optional) — The itemʼs product name.
- `url` (string, optional) — The product URL.
- `brand` (string, optional) — The item's brand.
- `isTaxable` (boolean, optional) — Whether the item is taxable.
- `imageUrl` (string, optional) — A publicly-accessible URL for an image of this item.
- `discounts` (list of AppliedDiscount, optional) — A list of discounts applied to this item, as an array of AppliedDiscount objects.
- `discountAmount` (double, optional) — The total value of all discounts applied to this item (excluding coupon).
- `couponAmount` (double, optional) — The total value of all coupons applied to this item.
- `listPrice` (double, optional) — The net item price before discounts and coupons. BigCommerce derives an item's list price from the product default price or, if applicable, the sale price configured in the admin panel.
- `salePrice` (double, optional) — The itemʼs price after all discounts are applied. (The final price before tax calculation.)
- `extendedListPrice` (double, optional) — The itemʼs list price multiplied by the quantity.
- `extendedSalePrice` (double, optional) — The itemʼs sale price multiplied by the quantity.
- `type` (string, optional) — the product type - physical or digital
- `downloadFileUrls` (list of string, optional) — URLs to download all product files.
- `downloadPageUrl` (string, optional) — The URL for the combined downloads page.
- `downloadSize` (string, optional) — Specifies the combined download size in human-readable style; for example, `30MB`.
- `categories` (list of OrderItemDigitalCategoriesItems, optional) — Categories the item belongs to.

### OrderItemGiftCertificate

- `name` (string, optional) — The itemʼs product name.
- `quantity` (double, optional) — Quantity of this item.
- `isTaxable` (boolean, optional) — Whether the item is taxable.
- `amount` (double, optional) — Price of the item
- `type` (string, optional) — Explicitly specifying the gift certificate type

### CustomField

- `fieldId` (string, optional)
- `fieldValue` (string, optional) — This can also be an array for fields that need to support list of values; for example, a set of checkboxes.

### ShippingConsignment

Shipping consignment

- `lineItems` (list of ConsignmentLineItem, optional)
- `shippingAddressId` (integer, optional)
- `firstName` (string, optional)
- `lastName` (string, optional)
- `company` (string, optional)
- `address1` (string, optional)
- `address2` (string, optional)
- `city` (string, optional)
- `stateOrProvince` (string, optional)
- `postalCode` (string, optional)
- `country` (string, optional)
- `countryCode` (string, optional)
- `email` (string, optional)
- `phone` (string, optional)
- `itemsTotal` (integer, optional)
- `itemsShipped` (integer, optional)
- `shippingMethod` (string, optional)
- `baseCost` (double, optional)
- `costExTax` (double, optional)
- `costIncTax` (double, optional)
- `costTax` (double, optional)
- `costTaxClassId` (integer, optional)
- `shippingCostBeforeDiscount` (double, optional) — Estimated consignment shipping cost before any shipping discounts have been applied.
- `comparisonShippingCost` (double, optional) — The consignment shipping cost to be shown to shopper in the summary as struck-through. - If the entered-price and display-price have the same tax setting (e.g.: both are tax-inclusive), this field will be the estimated shipping cost before any coupons applied (but after automatic promotions applied). - If the entered-price and display-price have different tax setting (e.g.: one is tax-inclusive, and one is tax-exclusive), this field will be the estimated shipping cost before any discounts applied, similar to the `shippingCostBeforeDiscount`.
- `baseHandlingCost` (double, optional)
- `handlingCostExTax` (double, optional)
- `handlingCostIncTax` (double, optional)
- `handlingCostTax` (double, optional)
- `handlingCostTaxClassId` (integer, optional)
- `shippingZoneId` (double, optional)
- `shippingZoneName` (string, optional)
- `customFields` (list of ConsignmentFormField, optional)

### ItemPhysicalDiscounts

List of discounts applied to this item. If no discount applied, empty array is returned. If discount has been applied, discount object returned.

### GiftWrapping

- `name` (string, optional)
- `message` (string, optional)
- `amount` (double, optional)

### ItemPhysicalCategoriesItems

### AppliedDiscount

- `coupon` (double, optional) — Property key is discount ID; property value is discount amount.

### OrderItemDigitalCategoriesItems

### ConsignmentLineItem

- `id` (integer, optional)

### ConsignmentFormField

- `name` (string, optional)
- `value` (string, optional, nullable)

## Examples

**Response**

```json
{
  "orderId": 1.1,
  "cartId": "string",
  "currency": {
    "name": "string",
    "code": "string",
    "symbol": "string",
    "decimalPlaces": 1.1
  },
  "isTaxIncluded": true,
  "baseAmount": 1.1,
  "discountAmount": 1.1,
  "giftWrappingCostTotal": 1.1,
  "orderAmount": 1.1,
  "orderAmountAsInteger": 1.1,
  "coupons": [
    {
      "code": "string",
      "id": "string",
      "displayName": "string",
      "couponType": "string",
      "discountedAmount": 1.1
    }
  ],
  "lineItems": [
    {
      "physicalItems": [
        {
          "quantity": 1.1,
          "id": "string",
          "parentId": "string",
          "variantId": 1.1,
          "productId": 1.1,
          "sku": "string",
          "name": "string",
          "url": "string",
          "brand": "string",
          "isTaxable": true,
          "imageUrl": "string",
          "discounts": {},
          "discountAmount": 1.1,
          "couponAmount": 1.1,
          "listPrice": 1.1,
          "salePrice": 1.1,
          "extendedListPrice": 1.1,
          "extendedSalePrice": 1.1,
          "type": "string",
          "addedByPromotion": true,
          "isShippingRequired": true,
          "giftWrapping": {
            "name": "string",
            "message": "string",
            "amount": 1.1
          },
          "quantityBackordered": 1,
          "backorderMessage": "string",
          "categories": [
            {}
          ]
        }
      ],
      "digitalItems": [
        {
          "quantity": 1.1,
          "id": "string",
          "parentId": "string",
          "variantId": 1.1,
          "productId": 1.1,
          "sku": "string",
          "name": "string",
          "url": "string",
          "brand": "string",
          "isTaxable": true,
          "imageUrl": "string",
          "discounts": [
            {
              "coupon": 8.28
            }
          ],
          "discountAmount": 1.1,
          "couponAmount": 1.1,
          "listPrice": 1.1,
          "salePrice": 1.1,
          "extendedListPrice": 1.1,
          "extendedSalePrice": 1.1,
          "type": "string",
          "downloadFileUrls": [
            "string"
          ],
          "downloadPageUrl": "string",
          "downloadSize": "string",
          "categories": [
            {}
          ]
        }
      ],
      "giftCertificate": [
        {
          "name": "string",
          "quantity": 1.1,
          "isTaxable": true,
          "amount": 1.1,
          "type": "string"
        }
      ]
    }
  ],
  "customerId": "string",
  "billingAddress": {
    "countryCode": "string",
    "firstName": "string",
    "lastName": "string",
    "email": "string",
    "company": "string",
    "address1": "string",
    "address2": "string",
    "city": "string",
    "stateOrProvince": "string",
    "stateOrProvinceCode": "string",
    "country": "string",
    "postalCode": "string",
    "phone": "string",
    "customFields": [
      {
        "fieldId": "string",
        "fieldValue": "string"
      }
    ]
  },
  "status": "INCOMPLETE",
  "hasDigitalItems": true,
  "isDownloadable": true,
  "isComplete": true,
  "customerMessage": "string",
  "shippingCostTotal": 1.1,
  "shippingCostBeforeDiscount": 1.1,
  "comparisonShippingCost": 1.1,
  "handlingCostTotal": 1.1,
  "customerCanBeCreated": true,
  "taxes": [
    {
      "name": "string",
      "amount": 1
    }
  ],
  "taxTotal": 1,
  "channelId": 1.1,
  "consignments": {
    "shipping": [
      {
        "lineItems": [
          {
            "id": 4
          }
        ],
        "shippingAddressId": 1,
        "firstName": "first1",
        "lastName": "last1",
        "company": "company1",
        "address1": "2802 Skyway Cir",
        "address2": "Balcony",
        "city": "Austin",
        "stateOrProvince": "Texas",
        "postalCode": "78704",
        "country": "United States",
        "countryCode": "US",
        "email": "first1@bigcommerce.com",
        "phone": "0410123452",
        "itemsTotal": 1,
        "itemsShipped": 0,
        "shippingMethod": "Flat Rate",
        "baseCost": 15.5,
        "costExTax": 15.5,
        "costIncTax": 16.7,
        "costTax": 1.2,
        "costTaxClassId": 2,
        "shippingCostBeforeDiscount": 1.1,
        "comparisonShippingCost": 1.1,
        "baseHandlingCost": 0,
        "handlingCostExTax": 0,
        "handlingCostIncTax": 0,
        "handlingCostTax": 0,
        "handlingCostTaxClassId": 2,
        "shippingZoneId": 1,
        "shippingZoneName": "United States",
        "customFields": [
          {
            "name": "special note",
            "value": "super rare"
          }
        ]
      }
    ]
  },
  "shippingExpectationMessage": "string"
}
```

**SDK Code**

```python
import requests

url = "https://your_store.example.com/api/storefront/orders/1"

response = requests.get(url)

print(response.json())
```

```javascript
const url = 'https://your_store.example.com/api/storefront/orders/1';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://your_store.example.com/api/storefront/orders/1"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://your_store.example.com/api/storefront/orders/1")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://your_store.example.com/api/storefront/orders/1")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://your_store.example.com/api/storefront/orders/1');

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://your_store.example.com/api/storefront/orders/1");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://your_store.example.com/api/storefront/orders/1")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```