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

# Checkout API - Hands-on Lab

Lesson 8 of 26 · 45 min

## Checkout API

Allows for a checkout to be created from an existing cart using BigCommerce checkout logic. The existing BigCommerce front-end cart/checkout can be bypassed.In this activity, you will use the Checkout API to view and modify the details of a checkout using an API REST client.

### **In this lab, you will:**

* GET a checkout
* Add checkout billing address
* Update checkout billing address
* Add consignment to checkout
* Update checkout consignment
* Add coupon to checkout
* Delete checkout coupon
* Create an order
* Delete checkout consignment

### Prerequisites

* BigCommerce store (sandbox or live)
* API credentials for the store
* REST client (Postman)
* Completion of previous lab

## GET a Checkout

1. **Open** Postman
2. **Click** the No Environment dropdown in the upper-right
3. **Select** the environment you created in the previous lab
4. **Copy** and **paste** the request below into Postman

```http showLineNumbers={false}
https://api.bigcommerce.com/stores/{{store_hash}}/v3/checkouts/{checkout_id}
```

> **Info**
>
> If you created your environment correctly in the previous lab, `{{store_hash}}` will use your store's store hash automatically.

5. **Replace** `{checkout_id}` with a cart/checkout ID
6. **Select** GET next to the request url
7. **Click** Send button
8. **Observe** response and copy a line item ID for next steps

![Image](/_fern-img/8136969383e4104b5f304d26f2af89c87e9544e71ade014edb1aa4c78723533b.webp)

## Add Checkout Billing Address

1. **Copy** and **paste** the request below into Postman

```http showLineNumbers={false}
https://api.bigcommerce.com/stores/{{store_hash}}/v3/checkouts/{checkout_id}/billing-address
```

2. **Replace** `{checkout_id}` with the Checkout ID from the previous steps
3. **Copy** and **paste** the code below into the Body section of Postman

```json showLineNumbers={false}
{
    "first_name": "Jane",
    "last_name": "Doe",
    "email": "jane@email.com",
    "address1": "123 Main Street",
    "address2": "",
    "city": "Austin",
    "state_or_province": "Texas",
    "state_or_province_code": "TX",
    "country_code": "US",
    "postal_code": "78751",
    "phone": "1234567890"
}
```

4. **Select** POST next to the request url
5. **Click** the Send button
6. **Observe** response and copy the address ID

![Image](/_fern-img/5ce1d9480cb0d2bb3ff5d55b6498743469765fbc6db15366d5cf770d9d594932.webp)

## Update Checkout Billing Address

1. **Copy** and **paste** the request below into Postman

```http showLineNumbers={false}
https://api.bigcommerce.com/stores/{{store_hash}}/v3/checkouts/{checkout_id}/billing-address/{address_id}
```

2. **Replace** `{checkout_id}` with a cart/checkout ID
3. **Replace** `{address_id}` with a cart/checkout ID
4. **Copy** and **paste** the code below into the body section of Postman

```json showLineNumbers={false}
{
    "email": "jenny@email.com",
    "phone": "5128675309"
}
```

5. **Select** PUT next to the request url
6. **Click** the Send button
7. **Observe** response

![Image](/_fern-img/ee8649f28c44fd902a21282374ec86003d9c552829297fc09e0482215654202d.webp)

## Add Consignment to Checkout

1. **Copy** and **paste** the request below into Postman

```http showLineNumbers={false}
https://api.bigcommerce.com/stores/{{store_hash}}/v3/checkouts/{checkout_id}/consignments?include=consignments.available_shipping_options
```

> **Info**
>
> If you created your environment correctly in the previous lab, `{{store_hash}}` will use your store's store hash automatically.

2. **Replace** `{checkout_id}` with a cart/checkout ID
3. **Copy** and **paste** the code below into the Body section of Postman

```text showLineNumbers={false}
[
    {
        "shipping_address": {
            "email": "bob@email.com",
            "country_code": "US",
            "first_name": "Bob",
            "last_name": "Ross",
            "address1": "123 Main Street",
            "city": "Austin",
            "state_or_province": "Texas",
            "state_or_province_code": "TX",
            "postal_code": "78751",
            "phone": "5555555555"
        },
        "line_items": [
            {
                "item_id": "{item_id}",
                "quantity": 1
            }
        ]
    }
]
```

4. **Replace** `{item_id}` with the item ID copied in previous steps
5. **Select** POST next to the request URL
6. **Click** the Send button
7. **Observe** response and copy consignment ID and shipping option ID

![Image](/_fern-img/aae42646831d026b16949fcc2047b7b5994a1d8c5f5aa758f02a3a018137f5f0.webp)

## Update Checkout Consignment

1. **Copy** and **paste** the request below into Postman

```http showLineNumbers={false}
https://api.bigcommerce.com/stores/{{store_hash}}/v3/checkouts/{checkout_id}/consignments/{consignment_id}
```

2. **Replace** `{checkout_id}` with a cart/checkout ID
3. **Replace** `{consignment_id}` with a consignment ID
4. **Copy** and **paste** the code below into the body section of Postman

```json showLineNumbers={false}
{
    "shipping_option_id": "{shipping_option_id}"
}
```

5. **Replace** `{shipping_option_id}` with the shipping option ID
6. **Select** PUT next to the request url
7. **Click** the send button
8. **Observe** response

![Image](/_fern-img/4bffffb05a2627d7d92d8c02621486969ea12135fa0eb93854692e16f0ed9c5c.webp)

## Add Coupon to Checkout

1. **Copy** and **paste** the request below into Postman

```http showLineNumbers={false}
https://api.bigcommerce.com/stores/{{store_hash}}/v3/checkouts/{checkout_id}/coupons
```

2. **Replace** `{checkout_id}` with a cart/checkout ID
3. **Copy** and **paste** the code below into the Body section of Postman

```json showLineNumbers={false}
{
    "coupon_code": {coupon_code}
}
```

4. **Replace** `{coupon_code}` with a valid coupon code from the store
5. **Select** POST next to the request URL
6. **Click** the Send button
7. **Observe** response and coupon added

![Image](/_fern-img/2e11553c426046af6f0c741006fedb85c9a2f773907772dd65226083524fa62a.webp)

## Delete Checkout Coupon

1. **Copy** and **paste** the request below into Postman

```http showLineNumbers={false}
https://api.bigcommerce.com/stores/{{store_hash}}/v3/checkouts/{checkout_id}/coupons/{coupon_code}
```

2. **Replace** `{checkout_id}` with a cart/checkout ID
3. **Replace** `{coupon_code}` with a valid coupon from the store
4. **Select** DELETE next to the request url
5. **Click** the Send button
6. **Observe** response

![Image](/_fern-img/679150c88d9c3a201a881aab6e23f0a781703f58d7197971f8d8852bad9ee134.webp)

## Create an Order

1. **Copy** and **paste** the request below into Postman

```http showLineNumbers={false}
https://api.bigcommerce.com/stores/{{store_hash}}/v3/checkouts/{checkout_id}/orders
```

2. **Replace** `{checkout_id}` with a cart/checkout ID
3. **Select** POST next to the request URL
4. **Click** the Send button
5. **Observe** response and order created

![Image](/_fern-img/d1561546d886f4c897549d3507eb9c26eaedaca6150eabe3a72eac228f1db2ec.webp)

## Delete Checkout Consignment

1. **Copy** and **paste** the request below into Postman

```http showLineNumbers={false}
https://api.bigcommerce.com/stores/{{store_hash}}/v3/checkouts/{checkout_id}/consignments/{consignment_id}
```

2. **Replace** `{checkout_id}` with a cart/checkout ID
3. **Replace** `{consignment_id}` with a consignment ID
4. **Select** DELETE next to the request url
5. **Click** the Send button
6. **Observe** response

![Image](/_fern-img/0f8f4d30f993132a329c3c3787de7bf1f5245184bd220d5259027b4bc9372092.webp)