Cart API overview

The Amazon Business Cart API allows you to programmatically manage Amazon Business shopping carts from external systems. This API provides comprehensive cart management capabilities including creating and modifying carts, retrieving cart details, and calculating estimated total purchase costs with shipping and tax information. With this functionality, integrating Cart API can help reduce order rejection rates and simplify the purchasing workflow.

Benefits of Cart API

Cart API provides the following benefits for you and your business customers:

Real-time cart management

Cart API allows you to create and modify Amazon Business carts entirely in external systems, giving you the flexibility to build cart management workflows tailored to your use cases.

Synchronized pricing and availability

Cart API provides current pricing and availability information for all cart items, ensuring customers have accurate data throughout their purchasing process. This synchronization can help prevent order failures due to price or availability changes.

Accurate cost estimation

By providing shipping address context, the API delivers precise cart-level visibility into shipping costs and tax calculations. These details enable your buyers to make informed purchasing decisions based on total delivered cost.

Streamlined procurement workflow

The API eliminates the need for redirecting customers to the Amazon Business website by enabling complete cart management within external platforms, creating a seamless integrated purchasing experience.

How it works

Cart API provides seven API operations:

OperationMethodPathDescription
listCartsGET/cart/2025-04-30/cartsRetrieves a paginated list of cart summaries for a customer.
getCartGET/cart/2025-04-30/carts/{cartId}Retrieves a summary of the cart's overall information.
getItemsGET/cart/2025-04-30/carts/{cartId}/itemsRetrieves the items in the cart.
addItemsPOST/cart/2025-04-30/carts/{cartId}/itemsAdds items to the cart.
modifyItemsPATCH/cart/2025-04-30/carts/{cartId}/itemsModifies items in the cart.
deleteItemsDELETE/cart/2025-04-30/carts/{cartId}/itemsResets the cart by removing all items after an order.
getEstimatedTotalPurchaseCostPOST/cart/2025-04-30/carts/{cartId}/totalPurchaseCostEstimationsComputes estimated total purchase cost for the cart.

After retrieving a product’s ASIN and offer ID using Product Search API, you can use Cart API to add or remove items from the cart and estimate the cart’s total purchase cost, including shipping and taxes. Using item details from the getItems operation, you can call Ordering API to place the order. After the order is placed, call deleteItems to clear the cart and enable you to assemble new carts.

🚧

Cart API can only be used with ASINs and offer IDs retrieved from Product Search API. Cart API does not currently support Hosted Catalog.

Managing Amazon Business carts

Prerequisites

  1. Complete the API onboarding process to register as a developer, create an app client, and retrieve API access and refresh tokens. For more information, see Onboarding overview.
  2. Gain access to the Amazon Business Order Placement and Business Product Catalog roles. For more information, see Amazon Business API roles.
  3. Onboard to Product Search API to retrieve the ASIN and offer ID for items to be added to your customers’ carts. For more information, see Initiating a product search.
  4. Onboard to Ordering API to place orders. For more information, see Ordering API overview.

Step 1. Get initial cart information

Call the listCarts operation to retrieve cart details.

TypeNameDescriptionSchemaRequired
headerx-amz-user-emailEmail address of the Amazon Business customer making the requeststringYes
queryregionThe region where the customer wants to retrieve the cartsstringYes
QuerypageTokenA page token returned in the response to your previous request when the number of results exceed the page size. To get the next page of results, include pageToken as a parameter. There are no more pages to return when the response returns no nextPageToken. This token needs to be encoded.stringNo
QuerypageSizeNumber of cart summaries to return per page. Default: 5. Maximum: 10.integerNo
GET /cart/2025-04-30/carts?region=US

A successful request returns an array of cart details, including the id for each cart. Save the id to identify your desired cart in future steps of the workflow.

NameDescriptionSchemaRequired
cartDetailsListList of cart details in a page.< CartDetails > arrayYes
nextPageTokenA page token returned in the response when the number of results exceed the page size. To get the next page of results, include nextPageToken as a parameter. There are no more pages to return when the response returns no nextPageToken. This token needs to be encoded.stringNo
{
  "cartDetailsList": [
    {
      "id": "cart-123",
      "cartType": "DEFAULT",
      "region": "US"
    }
  ]
}

Step 2. Add items to cart

Using the ASINs and offer IDs retrieved from the Product Search API request in Prerequisites Step 3, add your selected items to the cart using the addItems operation. Identify the cart with the id you retrieved in Step 1.

TypeNameDescriptionSchemaRequired
pathcartIdThe unique identifier of the cart to which items are to be added.stringYes
queryregionThe region where the customer wants to add items to the cart.stringYes
bodyitemsItems to add to cart.arrayYes
POST /cart/2025-04-30/carts/cart-123/items?region=US

{
  "items": [
    {
      "productIdentifier": "Asin1",
      "buyingOptionIdentifier": "OId1",
      "quantity": 1,
      "externalId": "client-item-001"
    }
  ]
}

A successful response returns an array of all items in the cart, including any items that were already present as well as items added in this request. The response also includes an itemId attribute that can be used to modify items, if needed. If any items cannot be added, they are listed in the rejectedItems object.

NameDescriptionSchemaRequired
itemsList of all items in the cart, including items added as part of the add items request.< CartItem > arrayYes
rejectedItemsItems that were rejected during cart addition.< RejectedItem > arrayYes
{
  "items": [
    {
      "productIdentifier": "Asin1",
      "itemId": "Id1",
      "buyingOptionIdentifier": "OId1",
      "quantity": 1,
      "isItemAvailable": true,
      "price": {
        "currencyCode": "USD",
        "amount": 30
      },
      "addedToCartDate": "2024-07-10T15:00:00.000Z",
      "modifiedDate": "2024-07-10T15:00:00.000Z"
    }
  ],
  "rejectedItems": []
}

Item rejections

If an item cannot be added to the cart, such as if insufficient quantity is available, the API lists the rejected items in the rejectedItems array. In this example, 90 quantity of an ASIN could not be successfully added to the cart due to unavailability, as indicted by "quantity": 90 in the rejectedItems array.

{
  "items": [
    {
      "itemId": "af3c6c98-1aaa-4ae0-9967-892ea47cf209",
      "taxExclusivePrice": {
        "amount": 14.16,
        "currencyCode": "USD"
      },
      "quantity": 1,
      "isItemAvailable": true,
      "addedToCartDate": "2025-12-11T09:55:39.655Z",
      "price": {
        "amount": 14.16,
        "currencyCode": "USD"
      },
      "modifiedDate": "2025-12-11T15:27:07.138Z",
      "buyingOptionIdentifier": "asid-iQbrn3eYKKw7d8J",
      "productIdentifier": "1452179611"
    },
    {
      "itemId": "133ab9f9-2821-4c0a-985a-3668b4f1cbef",
      "taxExclusivePrice": {
        "amount": 39,
        "currencyCode": "USD"
      },
      "quantity": 1,
      "isItemAvailable": true,
      "addedToCartDate": "2025-12-11T15:14:32.125Z",
      "price": {
        "amount": 39,
        "currencyCode": "USD"
      },
      "modifiedDate": "2025-12-11T15:14:32.203Z",
      "buyingOptionIdentifier": "asid-VExSfJu3uEsLXNA",
      "productIdentifier": "B07MRMHML9"
    },
    {
      "itemId": "ff5e84c8-ad95-4b27-9a46-d81a94e4ba06",
      "taxExclusivePrice": {
        "amount": 13.98,
        "currencyCode": "USD"
      },
      "quantity": 1,
      "isItemAvailable": true,
      "addedToCartDate": "2025-12-11T09:55:37.099Z",
      "price": {
        "amount": 13.98,
        "currencyCode": "USD"
      },
      "modifiedDate": "2025-12-11T15:27:07.138Z",
      "buyingOptionIdentifier": "asid-Qlh6PBdQ6UDncRO",
      "productIdentifier": "0593135229"
    },
    {
      "itemId": "34a9a52d-8e76-403a-b4bd-0ed0856c7fca",
      "taxExclusivePrice": {
        "amount": 9.46,
        "currencyCode": "USD"
      },
      "quantity": 100,
      "isItemAvailable": true,
      "addedToCartDate": "2025-12-11T15:26:55.574Z",
      "price": {
        "amount": 9.46,
        "currencyCode": "USD"
      },
      "modifiedDate": "2025-12-11T15:27:07.16Z",
      "buyingOptionIdentifier": "asid-oKFQoIBBiPGVXXF",
      "productIdentifier": "B00006IE8P"
    },
    {
      "itemId": "f48c8251-fa8f-41ac-9a63-9506d3b8ad2f",
      "taxExclusivePrice": {
        "amount": 5.85,
        "currencyCode": "USD"
      },
      "quantity": 90,
      "isItemAvailable": true,
      "addedToCartDate": "2025-12-11T15:27:07.066Z",
      "price": {
        "amount": 5.85,
        "currencyCode": "USD"
      },
      "modifiedDate": "2025-12-11T15:27:07.171Z",
      "buyingOptionIdentifier": "asid-Xpuv9NwJlIrhSms",
      "productIdentifier": "B0047CP6HE"
    }
  ],
  "rejectedItems": [
    {
      "rejectionArtifacts": [
        {
          "quantity": 90,
          "rejectionArtifactType": "UnavailableQuantity"
        }
      ],
      "id": "40bca614-5e86-4cc9-8065-0808dc01fa9d"
    }
  ]
}

Step 3 (Optional). Modify cart items

To update quantities of items that have already been added to a cart, call the modifyItems operation. Use the itemId returned in Step 2 to identify the items to modify.

📘

This operation only updates the quantity of items explicitly identified in the API request. Any items not identified are unchanged.

TypeNameDescriptionSchemaRequired
pathcartIdThe unique identifier of the cart in which items are to be modified.stringYes
queryregionThe region where the customer wants to modify items in the cart.stringYes
bodyitemsItems to modify in the cart.arrayYes

PATCH /cart/2025-04-30/carts/cart-123/items?region=US
{
  "items": [
    {
      "itemId": "cId1",
      "quantity": 3
    }
  ]
}

A successful request returns the whole cart, including any items that were modified. If any items were rejected during cart modification, they will be listed in the rejectedItems array.

👍

This operation is idempotent and safe to retry in case a request fails.

NameDescriptionSchemaRequired
items
required
List of all items in the cart after processing the modify items request.< CartItem > arrayYes
rejectedItems
required
Items that were rejected during cart modification.< RejectedItem > arrayYes
{
  "items": [
    {
      "productIdentifier": "Asin1",
      "itemId": "cId1",
      "buyingOptionIdentifier": "OId1",
      "quantity": 3,
      "isItemAvailable": true,
      "price": {
        "currencyCode": "USD",
        "amount": 30
      },
      "addedToCartDate": "2024-07-10T15:00:00.000Z",
      "modifiedDate": "2024-07-10T15:00:00.000Z"
    }
  ],
  "rejectedItems": []
}

Removing an item from cart

To remove an item from the cart, set quantity to 0 in the modifyItems request.

PATCH /cart/2025-04-30/carts/cart-123/items?region=US
{
  "items": [
    {
      "itemId": "cId1",
      "quantity":0
    }
  ]

Step 4. Review cart items

After adding items to the cart, call the getItems operation to retrieve the latest status of all items in the cart.

TypeNameDescriptionSchemaRequired
pathcartIdThe unique identifier of the cart whose items are to be retrieved.stringYes
queryregionThe region where the customer wants to retrieve the cart items.stringYes
GET /cart/2025-04-30/carts/cart-123/items?region=US

A successful request returns an array of all items in the cart, including each item’s productIdentifier , itemId, and buyingOptionIdentifier.

NameDescriptionSchemaRequired
itemsList of items in the cart along with their data.< CartItem > arrayYes
{
  "items": [
    {
      "itemId": "e4009f7e-5dae-406c-a557-e0cce1bdfa2b",
      "taxExclusivePrice": {
        "amount": 6.77,
        "currencyCode": "USD"
      },
      "quantity": 1,
      "isItemAvailable": true,
      "addedToCartDate": "2025-12-16T08:53:13.044Z",
      "price": {
        "amount": 6.77,
        "currencyCode": "USD"
      },
      "modifiedDate": "2025-12-16T08:53:16.404Z",
      "buyingOptionIdentifier": "asid-cDgO1MoVosdUh19",
      "productIdentifier": "B004J0YPAI"
    }
  ]
}

Step 5. Retrieve cart summary

After adding items to a cart, call the getCart operation to return a summary of the entire cart, including the subtotal.

TypeNameDescriptionSchema
PathcartId
required
The unique identifier of the cart whose details are to be retrieved.string
Queryregion
required
The region where the customer wants to retrieve the cart.enum (Region)
GET /cart/2025-04-30/carts/cart-123?region=US

A successful request returns the following details:

NameDescriptionSchemaRequired
id
required
Unique identifier associated with the cart.stringYes
region
required
The region associated with the cart.RegionYes
cartTypeSpecifies the cart type.CartTypeYes
attributesAttributes associated with the cart.< Attribute > arrayNo

{
  "id": "cart-123",
  "cartType": "DEFAULT",
  "region": "US",
  "attributes": [
    {
      "attributeType": "SubTotal",
      "amount": {
        "currencyCode": "USD",
        "amount": 70
      }
    }
  ]
}

Step 6. Get cart total cost estimation

Calculate the estimated total purchase cost using the getEstimatedTotalPurchaseCost operation. This operation uses the full delivery address to calculate the final cost of the cart.

TypeNameDescriptionSchemaRequired
pathcartIdThe unique identifier of the cart whose estimated total purchase cost is to be computed.stringYes
queryregionThe region where the customer wants to compute the estimated total purchase cost.stringYes
bodyaddressAddress to which items in the cart are to be delivered.objectYes
POST /cart/2025-04-30/carts/cart-123/totalPurchaseCostEstimations?region=US
{
  "address": {
    "addressType": "PhysicalAddress",
    "fullName": "cart user",
    "addressLine1": "307 Boren Ave",
    "city": "Seattle",
    "stateOrRegion": "WA",
    "postalCode": "98101",
    "countryCode": "US"
  }
}

A successful request returns an array of the total cost of the cart, broken down into categories such as shipping, tax, and principal. You can use this data to populate a checkout screen showing the total cost of the cart.

NameDescriptionSchemaRequired
charges
required
Detailed breakdown of all costs when delivering cart items to the provided address. This array will be empty when rejectionArtifacts contains items.< Charge > arrayYes
rejectionArtifacts
required
Array of rejection artifacts explaining any issues with the cost estimation. This array will be empty when charges contains items.< RejectionArtifact > arrayYes

📘

Either the charges attribute will be populated with cost estimation or rejectionArtifacts will be populated if cost estimation fails. Both attributes will never be populated simultaneously.

{
  "charges": [
    {
      "type": "PRINCIPAL",
      "category": "SUBTOTAL",
      "amount": {
        "currencyCode": "USD",
        "amount": 123.0
      }
    },
    {
      "type": "PRINCIPAL",
      "category": "SHIPPING",
      "amount": {
        "currencyCode": "USD",
        "amount": 10.0
      }
    },
    {
      "type": "TAX",
      "category": "SUBTOTAL",
      "amount": {
        "currencyCode": "USD",
        "amount": 12.3
      }
    },
    {
      "type": "TAX",
      "category": "SHIPPING",
      "amount": {
        "currencyCode": "USD",
        "amount": 1.2
      }
    }
  ],
  "rejectionArtifacts": []
}

Rejected items

If any item in the cart would be rejected from any orders placed, the getEstimatedTotalPurchaseCost operation returns a rejectionArtifacts object listing the item identifiers of the item that would be rejected and a message explaining the rejection reason. If you proceed to place an order for this item, the item would be rejected.

To prevent order rejections, return to Step 3 to remove the item from your cart using the modifyItems operation.

{
  "charges": [],
  "rejectionArtifacts": [
    {
      "cartItemIdentifiers": [
        "28db74d3-8f7a-460d-b62c-b096324e4d7a"
      ],
      "message": "Restricted item ineligible for non-business customer.",
      "rejectionArtifactType": "UnsupportedCartItems"
    }
  ]
}

Step 7. Place order

Call Ordering API to place an order. Populate the following Ordering API request fields with values from the Cart API getItems operation:

  • quantity : Provide the applicable quantity.
  • productIdentifier : Provide the productIdentifier value.
  • BuyingOptionIdentifier : Provide the buyingOptionIdentifier value.

Providing Cart API values ensures that Amazon Business honors the price and quantity displayed in the Cart API response. For more information on calling Ordering API, see Placing an order.

{
  "lineItems": [
    {
      "quantity": "1",
      "externalId": "5976b95e-66f2-4cf1-9f57-6e5ed4b33033",
      "attributes": [
        {
          "attributeType": "SelectedProductReference",
          "productReference": {
            "id": "B004J0YPAI",
            "productReferenceType": "ProductIdentifier"
          }
        },
        {
          "attributeType": "SelectedBuyingOptionReference",
          "buyingOptionReference": {
            "id": "asid-cDgO1MoVosdUh19",
            "buyingOptionReferenceType": "BuyingOptionIdentifier"
          }
        }
      ],
      "expectations": [
        {
          "amount": {
            "amount": 6.77,
            "currencyCode": "USD"
          },
          "expectationType": "ExpectedUnitPrice"
        },
        {
          "amount": {
            "amount": 8.12,
            "currencyCode": "USD"
          },
          "expectationType": "ExpectedCharge",
          "source": "SUBTOTAL"
        }
      ]
    }
  ],
  "externalId": "ed3462f3-db89-403e-ab57-8415f5ce0eda",
  "attributes": [
    {
      "attributeType": "Region",
      "region": "US"
    },
    {
      "paymentMethodReference": {
        "paymentMethodReferenceType": "StoredPaymentMethod"
      },
      "attributeType": "SelectedPaymentMethodReference"
    },
    {
      "attributeType": "BuyingGroupReference",
      "groupReference": {
        "identifier": "CartAPITest",
        "groupReferenceType": "GroupIdentity"
      }
    },
    {
      "attributeType": "BuyerReference",
      "userReference": {
        "emailAddress": "[email protected]",
        "userReferenceType": "UserEmail"
      }
    },
    {
      "attributeType": "PurchaseOrderNumber",
      "purchaseOrderNumber": "ABC9984760840871204"
    },
    {
      "address": {
        "stateOrRegion": "CA",
        "city": "San Francisco",
        "addressType": "PhysicalAddress",
        "countryCode": "US",
        "postalCode": "94107",
        "fullName": "John Doe",
        "addressLine1": "1000 Business Way"
      },
      "attributeType": "ShippingAddress"
    },
    {
      "address": {
        "stateOrRegion": "CA",
        "city": "San Francisco",
        "addressType": "PhysicalAddress",
        "countryCode": "US",
        "postalCode": "94107",
        "fullName": "John Doe",
        "addressLine1": "1000 Business Way"
      },
      "attributeType": "BillingAddress"
    }
  ],
  "expectations": []
}
{
  "lineItems": [
    {
      "externalId": "5976b95e-66f2-4cf1-9f57-6e5ed4b33033",
      "acceptedItems": [
        {
          "acceptedItemType": "SingleAcceptedItem",
          "quantity": 1,
          "artifacts": [
            {
              "acceptanceArtifactType": "DeliveryTimeRange",
              "lowerBoundary": "2025-12-19T08:00:00Z",
              "upperBoundary": "2025-12-20T07:59:59Z"
            },
            {
              "acceptanceArtifactType": "UnitPrice",
              "amount": {
                "currencyCode": "USD",
                "amount": 6.77
              }
            },
            {
              "acceptanceArtifactType": "Charge",
              "amount": {
                "currencyCode": "USD",
                "amount": 6.99
              },
              "category": "SHIPPING",
              "type": "PRINCIPAL"
            },
            {
              "acceptanceArtifactType": "Charge",
              "amount": {
                "currencyCode": "USD",
                "amount": 0.6
              },
              "category": "SHIPPING",
              "type": "TAX"
            },
            {
              "acceptanceArtifactType": "Charge",
              "amount": {
                "currencyCode": "USD",
                "amount": 6.77
              },
              "category": "SUBTOTAL",
              "type": "PRINCIPAL"
            },
            {
              "acceptanceArtifactType": "Charge",
              "amount": {
                "currencyCode": "USD",
                "amount": 0.58
              },
              "category": "SUBTOTAL",
              "type": "TAX"
            },
            {
              "acceptanceArtifactType": "OrderIdentifier",
              "identifier": "113-0980705-5671420"
            },
            {
              "acceptanceArtifactType": "LineItemIdentifier",
              "identifier": "149622596122481:"
            }
          ]
        }
      ],
      "rejectedItems": []
    }
  ],
  "acceptanceArtifacts": [
    {
      "acceptanceArtifactType": "Signed"
    },
    {
      "acceptanceArtifactType": "Charge",
      "amount": {
        "currencyCode": "USD",
        "amount": 6.99
      },
      "category": "SHIPPING",
      "type": "PRINCIPAL"
    },
    {
      "acceptanceArtifactType": "Charge",
      "amount": {
        "currencyCode": "USD",
        "amount": 0.6
      },
      "category": "SHIPPING",
      "type": "TAX"
    },
    {
      "acceptanceArtifactType": "Charge",
      "amount": {
        "currencyCode": "USD",
        "amount": 6.77
      },
      "category": "SUBTOTAL",
      "type": "PRINCIPAL"
    },
    {
      "acceptanceArtifactType": "Charge",
      "amount": {
        "currencyCode": "USD",
        "amount": 0.58
      },
      "category": "SUBTOTAL",
      "type": "TAX"
    }
  ],
  "rejectionArtifacts": []
}

Step 8. Clear cart

After successfully ordering items in the cart, clear your cart using the deleteItems operation. This operation resets the cart by removing all items, allowing you to create new carts for subsequent orders.

TypeNameDescriptionSchemaRequired
pathcartIdThe unique identifier of the cart from which items are to be deletedstringYes
queryregionThe region where the customer wants to delete items from the cartstringYes
DELETE /cart/2025-04-30/carts/cart-123/items?region=US

A successful request a 204 response code with no response body data.

204 No Content

Error handling

If your request is not successful, the API returns an errors object that provides information about what went wrong. For more information, see Error responses and schemas.

Best practices

Follow these best practices while integrating with Cart API:

  1. Search using delivery context: While implementing Product Search API, send the delivery zip code in the shippingPostalCode request query parameter. Including this value ensures that the search results contain items that are deliverable to the final address with the same zip code when the order is placed. For more information about shipping details in Product Search API, see Personalizing searches.
  2. Always order using the new buyingOptionIdentifier returned in addItems operation response: All Cart API operations can be performed by using the offerId returned by Product Search API. However, when placing an order, send the buyingOptionIdentifier returned by the Cart API getItems response in the Ordering API request. Using this buyingOptionIdentifier ensures that the item is ordered and fulfilled using the prices in the cart.
  3. Refresh cart using getEstimatedTotalProductCost before placing the final order: The Product Search API only uses the zip code for delivery context, while orders are placed using a full shipping address. Before placing the final order, call the getEstimatedTotalProductCost operation with the full address. This operation returns the final charges, refreshes the cart with the final price, and identifies any line items that would get rejected during order placement.

Frequently asked questions

What is the difference between offerId returned by Product Search API and buyingOptionIdentifier in Cart API?
The buyingOptionIdentifier returned in the Cart API response will also contain the cartId and cartItemId. Amazon Business uses these IDs to identify that the order is using Cart API and honor the price displayed in the request. However, if you send the offerId from the Product Search API response, the order becomes a direct Ordering API order. Amazon Business will then place the order using normal marketplace offers, potentially diverging from the price displayed in the Cart API response.

Which offerId do we use to place the order?
Use the buyingOptionIdentifier that is returned in the Cart API response. Using this ID ensures that the prices seen during cart creation are the ones being used to place the order.

Which operations update the items in the cart?
The addItems, modifyItems, and getItems operations refresh the cart with the latest item details, including price and availability.

Is the cart automatically cleared after placing an order?
No. After placing an order, call the deleteItems operation to clear the cart.

Can we add the same ASIN with different buyingOptionIdentifier values to the cart?
Yes. Cart API treats each buyingOptionIdentifier as different line items.

Appendices

The Cart API GetEstimatedTotalPurchaseCost operation returns constraint violations when a purchase cannot be completed due to constraint violations from the Purchase Checkout Engine (PCE).

Each constraint violation in the following table includes five fields. The constraint violation field contains the internal constraint violation name from the Purchase Checkout Engine (PCE). The error message field contains the message returned to the customer in the API response. The level field indicates whether the error applies to a specific line item or the entire order. The "When does this occur?" field describes the condition that triggers this constraint violation, and the "How to fix?" field provides the recommended action for the customer or calling system to resolve the issue.

Appendix 1: Line Item Level Constraint Violations

These errors are associated with specific items in the cart.

Constraint ViolationError MessageLevelWhen does this occur?How to fix?
AlcoholContentConstraintViolationAge verification required.Line ItemThe item has an age restriction (for example, alcohol) and the buyer has not completed age verification.Complete the age verification process for the buyer's account before purchasing this item.
AgeLimitationConstraintViolationAge verification required.Line ItemThe item has a jurisdiction-based age limitation.Complete the age verification process for the buyer's account.
BusinessLevelQuantityLimitsConstraintViolationQuantity limit exceeded.Line ItemThe quantity requested exceeds a business-level purchasing limit configured by the organization's admin.Reduce the quantity to within the allowed limit or contact your organization's admin to increase the limit.
BusinessOfferUsedByNonBusinessCustomerRestricted item ineligible for non-business customer.Line ItemA business-only restricted item is being purchased by a non-business customer or a customer without the required business affiliation.Ensure the customer has a valid Amazon Business account with appropriate group membership.
BusinessOnlyRestrictedItemCannotShipToStateRestricted items cannot be shipped out of state.Line ItemA restricted item (for example, requiring a state license) cannot be shipped to an address outside the license's state.Change the shipping address to one within the state covered by the license.
BusinessOnlyRestrictedItemCustomerNotCertifiedRestricted items require certification.Line ItemThe item requires a valid professional certification that the customer has not uploaded.Upload the required certification in the Amazon Business account settings before purchasing.
BusinessOnlyRestrictedItemLicenseAddressMismatchShipping address mismatch in license.Line ItemThe shipping address does not match the address associated with the required license for this restricted item.Update the shipping address to match the license address or update the license.
BusinessOnlyRestrictedItemLicenseExpiredRestricted item license expired.Line ItemThe license required to purchase this restricted item has expired.Renew the license and upload the updated version to the Amazon Business account.
BusinessOnlyRestrictedItemLicenseStateMismatchRestricted item license address mismatch.Line ItemThe state on the license does not match the shipping state for this restricted item.Ensure the license state matches the shipping destination state.
BuyerEqualsSellerConstraintViolationBuyer cannot be same as seller.Line ItemThe buying customer is also the seller of this item.Remove this item from the cart. A customer cannot buy their own listed items.
CommercialAddressRequiredConstraintViolationRestricted items require commercial address.Line ItemThis item can only be shipped to a verified commercial address.Change the shipping address to a commercial address. Residential addresses are not allowed for this item.
CommercialAddressRequiredSharedPayConstraintViolationRestricted items require commercial address.Line ItemThis item requires a commercial address when using shared payment.Change the shipping address to a commercial address.
ConsumerOnlyItemUsedByBusinessCustomerConsumer-only item.Line ItemThis item is restricted to personal or consumer accounts and cannot be purchased through a business checkout flow.This item cannot be purchased through the Cart API. It must be purchased through a personal consumer checkout.
CredentialMissingItem requires credential.Line ItemA specific professional credential is required to purchase this item.Upload the required credential in the Amazon Business account settings.
CrossBorderExportConstraintViolationShipping export restrictions.Line ItemThe item cannot be shipped to the selected destination due to cross-border export control regulations.Change the shipping address to a permitted destination or remove the item from the cart.
CustomerNotEligibleConstraintViolationCustomer not eligible for purchasing.Line ItemThe customer's account is not eligible to purchase this item (for example, account restrictions, compliance holds).Contact Amazon Business support to resolve account eligibility issues.
DeliveryInformationMissingConstraintViolationThe item cannot be shipped to your selected shipping address.Line ItemDelivery information is missing for the selected address and item combination.Verify the shipping address is complete and valid or try a different address.
OfferUnbuyableForCustomerContextConstraintViolationThe item cannot be shipped to your selected shipping address.Line ItemThe offer is not buyable in the current customer context (for example, address or marketplace mismatch).Try a different shipping address or verify the item is available in your marketplace.
DeliveryOptionConstraintViolationNo valid shipping option.Line ItemNo shipping carrier or delivery method can deliver this item to the selected address.Verify the shipping address is complete and correct. Try a different address or remove the item.
MFN DeliveryOptionConstraintViolationNo valid shipping option.Line ItemNo Merchant Fulfilled Network (MFN) delivery option is available for this item to the selected address.Try a different shipping address or contact the seller.
EduKThru12CredentialMissingItem requires K12 credential.Line ItemThis item is restricted to K-12 educational institutions and requires a K-12 credential.Upload a valid K-12 educational credential in the Amazon Business account.
EligibilityConstraintViolationAge verification required.Line ItemThe item has an eligibility restriction requiring age verification.Complete the age verification process for the buyer's account.
ExportOfferBuyabilityRestrictionShipping export restrictions.Line ItemThe item has export restrictions preventing shipment to the selected destination.Change the shipping address to a permitted destination or remove the item.
FulfillmentNetworkMissingConstraintViolationThe item cannot be shipped to your selected shipping address.Line ItemNo fulfillment network can deliver this item to the selected address.Try a different shipping address. The item may not be available for delivery to this location.
IncompleteInputConstraintViolationSlot not available for scheduled delivery.Line ItemThe selected scheduled delivery slot is no longer available or input is incomplete.Choose a different delivery slot or switch to standard delivery.
IneligibleQuantityLimitsConstraintViolationQuantity limit exceeded.Line ItemThe requested quantity exceeds the allowed limit for this specific item.Reduce the quantity to within the allowed limit.
InvalidSelectedDeliveryOptionForLineItemConstraintViolationNo valid shipping option.Line ItemThe previously selected delivery option is no longer valid for this item.Retry the purchase to get updated delivery options.
InvalidInputConstraintViolationNo valid shipping option.Line ItemInvalid input was provided for scheduled delivery.Retry without scheduled delivery preferences or select a valid delivery slot.
InvalidServiceAppointmentPreferencesAmazon Home Services is not supported.Line ItemAmazon Home Services items are not supported through this checkout channel.These items cannot be purchased through the Cart API.
ItemQuantityUnavailableConstraintViolation (AFN)Item is out of stock.Line ItemThe item is not available in the requested quantity from Amazon Fulfillment Network (AFN).Reduce the quantity or retry later when stock is replenished.
ItemQuantityUnavailableConstraintViolation (MFN)Item is out of stock.Line ItemThe item is not available in the requested quantity from the MFN (Merchant Fulfilled Network).Reduce the quantity or retry later when stock is replenished.
JurisdictionConstraintViolationShipping export restrictions.Line ItemThe item cannot be shipped to the selected jurisdiction due to legal restrictions.Change the shipping address to a jurisdiction where this item is permitted.
MilitaryUSArmyCredentialMissingItem requires US Army credentials.Line ItemThis item is restricted to verified US Army personnel.Upload valid US Army credentials in the Amazon Business account.
MinimumQuantityLimitsConstraintViolationMinimum quantity not reached.Line ItemThe order quantity is below the minimum required for this item (for example, bulk-only items).Increase the quantity to meet the minimum order requirement.
OfferListingNotAvailableContraintViolationSelected offer is unavailable.Line ItemThe specific offer or listing selected for this item is no longer available.Retry the purchase. A different offer may be automatically selected. If the issue persists, the item may no longer be available.
PanasonicITVARCredentialMissingItem requires Panasonic IT-VAR reseller license.Line ItemThis item requires a Panasonic IT-VAR reseller license.Upload a valid Panasonic IT-VAR reseller license in the account settings.
PaymentMethodConstraintViolationInactive payment instrument.Line ItemThe payment method associated with specific line items is inactive or invalid.Update the payment method in the group's business settings or use a different active payment instrument.
PrescriptionMissingConstraintViolationItem requires veterinary prescription.Line ItemThis item requires a valid veterinary prescription on file.Upload a valid veterinary prescription before purchasing this item.
ProfessionalBeautyCredentialMissingItem requires a professional beauty license.Line ItemThis item is restricted to licensed beauty professionals.Upload a valid professional beauty license in the Amazon Business account.
ProhibitedItemsConstraintViolationItem or seller is prohibited.Line ItemThe item or its seller has been blocked by your organization's purchasing policy.Contact your organization's admin to review the prohibited items or sellers policy, or remove the item.
QuantityLimitsConstraintViolationQuantity limit exceeded.Line ItemThe requested quantity exceeds the general allowed limit for this item.Reduce the quantity to within the allowed limit.
ServiceLocationOutOfCoverageAreaAmazon Home Services is not supported.Line ItemThe service location is outside the coverage area for Amazon Home Services.These items cannot be purchased through the Cart API.
ShipAddressDeactivatedConstraintViolationUnexpected error.Line ItemThe shipping address has been deactivated.Reactivate the shipping address or use a different address. Contact your admin if the address was deactivated by policy.
ShippingEngine_FilterBasedConstraintViolationNo valid shipping option.Line ItemThe item was filtered out by shipping engine rules for the selected address.Try a different shipping address or remove the item.
ShippingEngine_InvalidCustomerNameConstraintViolationNo valid shipping option.Line ItemThe customer's name on the shipping address is invalid or contains unsupported characters.Update the customer's name on the shipping address to remove invalid characters.
ShippingEngine_InvalidInputConstraintViolationNo valid shipping option.Line ItemInvalid input was provided to the shipping engine.Verify the shipping address is complete and correctly formatted.
ShippingEngine_RemoverBasedConstraintViolationNo valid shipping option.Line ItemThe item was removed from shipping eligibility by shipping engine rules.Try a different shipping address or remove the item.
VirtualBundleQuantityConstraintViolationMultiple quantities are unsupported in bundle.Line ItemVirtual bundle items cannot be ordered in quantities greater than one.Set the quantity to 1 for bundle items.

Appendix 2: Order Level Constraint Violations

These errors apply to the entire order and are not associated with a specific item.

Constraint ViolationError MessageLevelWhen does this occur?How to fix?
InvalidCheckoutGroupConstraintViolationYour group is not enabled for purchasing.OrderNo valid checkout group could be resolved for the customer. This typically happens when the customer has multiple groups and no default group is configured, or the customer has never checked out before through this channel, or the group has purchasing disabled.Ensure the customer belongs to a group with purchasing enabled. If the customer has multiple groups, pass a specific checkoutGroupId in the request. Contact your organization's admin to verify group purchasing settings.
EligibilityFaultConstraintViolationYour group is not enabled for purchasing.OrderThe customer's group has a payment eligibility fault. The group's payment configuration is invalid, or the group is not enabled for the selected payment type.Contact your organization's admin to verify the group's payment settings and ensure purchasing is enabled.
InvalidSharedDestinationConstraintViolationThe selected shipping address is not valid for your group.OrderThe shipping address is not on the list of approved shared addresses for the customer's purchasing group.Use an approved shared address from the group's address book or contact the group admin to add this address to the approved list.
MissingCOFReferenceConstraintViolationRequired business order information is missing for your group.OrderCustom Order Fields (for example, Purchase Order (PO) number, cost center) required by the group's purchasing policy are not provided in the request.Provide the required Custom Order Fields (for example, PO number) in the purchase request. Contact the group admin to see which fields are mandatory.
AddressAssociationConstraintViolationUnexpected error.OrderAn internal address association error occurred during payment plan validation.Retry the request. If the issue persists, verify the shipping address is valid and associated correctly, then contact support.
ExpiredInstrumentConstraintViolationExpired payment instrument.OrderThe payment method configured for the group has expired.Contact your organization's admin to update the group's payment method with a valid, non-expired instrument.
InactiveInstrumentBillingAddressViolationInvalid billing address.OrderThe billing address associated with the payment instrument is inactive or invalid.Update the billing address on the payment instrument through the Amazon Business account settings.
InactiveInstrumentConstraintViolationInactive payment instrument.OrderThe payment instrument configured for the group is inactive.Contact your organization's admin to activate the payment instrument or configure a new one.
InsufficientCoverageConstraintViolationInsufficient balance in Pay-by-Invoice credit line.OrderThe Pay-by-Invoice credit line does not have sufficient remaining balance to cover this purchase.Wait for existing invoices to be paid to free up credit, request a credit line increase, or use a different payment method.
PaymentPlanAspect.ConstraintViolationYour group is not configured to use shared payment instruments.OrderThe group's payment configuration does not allow the payment method to be used (for example, trying to use shared payment when only self-pay is configured).Contact the group admin to review the payment configuration or ensure the correct payment method type is being used.
VirtualBundleASINPresentConstraintViolationMultiple quantities are unsupported in bundle.OrderA virtual bundle ASIN is present in the order with invalid configuration.Ensure bundle items have quantity of 1.
OrderingUnitLimitConstraintViolationTotal quantity limit exceeded.OrderThe total quantity of items across the entire order exceeds the maximum order-level limit.Reduce the total number of items/units in the order or split them into multiple orders.
InvalidBudgetConstraintViolationThe budget selected for this purchase is not valid.OrderThe budget assigned to this purchase has been deactivated, deleted, or is otherwise invalid.Select a different valid budget or contact the admin to reactivate the budget.
InsufficientFundsConstraintViolationThe budget used to complete this purchase has insufficient funds.OrderThe assigned budget does not have enough remaining funds to cover this purchase.Choose a budget with sufficient funds, request a budget increase from the admin, or reduce the order amount.
KycDocumentUploadRequiredConstraintViolation Item requires Know Your Customer (KYC) document upload.OrderA Know Your Customer (KYC) document upload is required by regulatory compliance before this purchase can proceed.Upload the required KYC documents in the account settings before retrying the purchase.