What is Ordering API?

Overview

Amazon Business Ordering API allows you, Amazon Business Developer partners, to automate your ordering process by integrating your purchasing system with Amazon Business. Your business customers will place orders in Amazon Business marketplace without visiting Amazon Business or leaving your purchasing system. With Amazon Business Ordering API, your organization and business customers will save time, effort, and reduce repetitive work.

This document details (1) the benefits of Amazon Business Ordering API, (2) how Amazon Business Ordering API works, (3) the onboarding process, and (4) how to set your purchasing preference with Amazon Business. The frequently asked questions and appendices are at the end of this document.

Benefits of Ordering API

Amazon Business Ordering API provides your organization and your business customers these benefits:

Synchronous order response

Ordering API enables synchronous order responses, improving the customer shopping experience. It eliminates the order response wait time that takes five minutes to couple of hours, resulting in order rejection at times.

Enhanced security

Ordering API uses OAuth 2.0 security protocol that is based on Login With Amazon (LWA). In this model, Amazon Business user account authorizes your application (app) by interacting with pages displayed by Amazon Business and your website. The Third-party website authorization workflow provides more information on OAuth workflow.

Improved developer experience

Ordering API uses OpenAPI to define our contract. OpenAPI makes it easy for integrators to generate their client code for most programming languages by using readily available tools.

Order information, notifications, and updates

Ordering API helps your customers get order information, such as expected delivery date range, shipment tracking ID, and carrier name. This API also offers an optional subscription to Amazon Simple Notification Service (SNS). By subscribing to Amazon SNS, your customers will receive real-time order updates. Refer to What is Amazon SNS? for more information.

How Ordering API works

You will initiate an API call by passing a request.

Request

Ordering API request consists of:

NameDescription
externalIdA customer-specified identifier that is unique for each order. When placing an order, this identifier represents the order request. When calling orderDetails operation, this identifier gets the order information.
lineItemsThe items in the order.
attributesCustomer-determined order properties.
expectationsCustomer expectations about aspects of an order they don't directly control.
x-amz-user-emailThe email address of the user requesting this resource. This parameter validates if the user (1) belongs to a specified business and (2) has view order access permission.

Ordering API will place an order if all the expectations in the request are met at processing time. This works in conjunction with order safeguards.

Required attributes

To place an order, these attributes are required.

AttributeDescriptionRequired at
RegionThe country or region where the buyer places an order.Order level
SelectedPaymentMethodReferenceThe payment method where the charges for the order will apply.Order level
BuyingGroupReferenceA reference to the buying group associated with an order request.Order level
BuyerReferenceA reference to the buying customer.Order level
ShippingAddressIndicates where to ship the order.Order level or at each line item
SelectedProductReferenceContains a reference to the product to order. This attribute can be passed at order level or line item level. If passed at order level, the product reference will apply to all line items that has no set attribute.Order level or line item level
PurchaseOrderNumberA unique reference to the purchase order form of the order request. Limit the number of characters to 30.Order level
DeliveryTimeRangeThe time range when a product is expected to reach its specified location. This artifact will appear at acceptance-item level.Line item level
UnitPriceThe unit price for an item. This artifact will appear at acceptance-item level.Line item level
ChargeA qualified monetary charge for an item or an order. This artifact will appear at acceptance-item level.Line item level
OrderIdentifierThe Amazon-generated identifier for a placed order. This artifact will be included at acceptance-item level.Line item level
ShipmentThe shipment details for an order. This artifact will appear at order-level.Line item level
ShipmentGroupThe shipment group details for a line item. This artifact will appear at line item level.Line item level
CarrierTrackingNumberThe carrier tracking number of the package.Line item level
PackageTrackingAttributeThe tracking package attribute.Line item level

Optional attributes

Here are some optional attributes.

AttributeDescriptionRequired at
Trial ModeIndicates that an order is a trial order. The steps to place an order will be completed, but no actual order will be created.Order level
SelectedBuyingOptionReference (OfferID)Contains a reference to the buying option to order. This attribute can be passed at order level or line item level. If passed at order level, the buying option reference will apply to all line items that has no set attribute.Order level or line item level

Required expectations

The table shows where expectations are passed in the Ordering API request.

ExpectationDescriptionRequired at
ExpectedUnitPriceThe unit price value the customer expects for an item. This expectation can be passed at order level or line item level. If passed at order level, the expected monetary charge will apply to all line items that has no set expectation.Order level or line item level
ExpectedChargeThe monetary charge that is expected for an item or order. This expectation can be passed at order level or line item level. If passed at order level, the expected monetary charge will apply to all line items that has no set expectation.Order level or line item level
POST /ordering/2022-10-30/orders HTTP/1.1 Host: na.business-api.amazon.com x-amz-access-token: ... Authorization: ... Content-Type: application/json Content-Length: ... { "externalId": "external-order-id-12345", "lineItems": [ { "externalId": "line-item-1", "quantity": 1, "attributes": [ { "attributeType": "SelectedProductReference", "productReference": { "productReferenceType": "ProductIdentifier", "id": "[ASIN]" } } ], "expectations": [ { "expectationType": "ExpectedUnitPrice", "amount": { "currencyCode": "USD", "amount": 10.00 } }, { "expectationType": "ExpectedCharge", "amount": { "currencyCode": "USD", "amount": 10.00 }, "source": "SUBTOTAL" }, { "expectationType": "ExpectedCharge", "amount": { "currencyCode": "USD", "amount": 0.50 }, "source": "TAX" }, { "expectationType": "ExpectedCharge", "amount": { "currencyCode": "USD", "amount": 5.00 }, "source": "SHIPPING" } ] } ], "attributes": [ { "attributeType": "PurchaseOrderNumber", "purchaseOrderNumber": "ExamplePurchaseOrderNumber" }, { "attributeType": "BuyerReference", "userReference": { "userReferenceType": "UserEmail", "emailAddress": user@example.com } }, { "attributeType": "BuyingGroupReference", "groupReference": { "groupReferenceType": "GroupIdentity", "identifier": "ExampleGroup" } }, { "attributeType": "Region", "region": "US" }, { "attributeType": "SelectedPaymentMethodReference", "paymentMethodReference": { "paymentMethodReferenceType": "StoredPaymentMethod" } }, { "attributeType": "ShippingAddress", "address": { "addressType": "PhysicalAddress", "fullName": "Example User", "phoneNumber": "1234567890", "companyName": "Example Company", "addressLine1": "123 Example St.", "addressLine2": "456", "city": "Seattle", "stateOrRegion": "WA", "postalCode": "98109", "countryCode": "US" } } ], "expectations": [] }

If an attribute or expectation is passed more than once at order level or line item level, API behavior is undefined. Attributes and expectations are listed once for each level except in cases of override. Override happens when an attribute or expectation is present at line item level.

Safeguards

Product price and availability changes over time. Ordering API accommodates this variation by working in conjunction with order safeguards. Safeguards are constraints between the customer's expectations and Amazon Business order fulfillment.

Sample safeguard: If an item unit price increases by more than 20%, reject the line item.

Safeguards are constraints provided by the business customers in Amazon Business account settings. If the safeguards are turned on, the constraints are evaluated against the customer's expectations and the Amazon Business order fulfillment. The request will include a unit price expectation for each line item.

Here are the safeguards that get evaluated against expectations.

SafeguardExpectation
Item priceExpectedUnitPrice at line item level.
Item subtotalExpectedCharge at line item level.
Order totalExpectedCharge at order level.
{ "externalId": "[order-12345]", "lineItems": [ { "externalId": "[line-item-1]", "quantity": 5, "attributes": [ { "attributeType": "SelectedProductReference", "productReference": { "productReferenceType": "ProductIdentifier", "id": "[asin]" } } ], "expectations": [ { "expectationType": "ExpectedUnitPrice", "amount": { "currencyCode": "USD", "amount": 10.00 } } ] } ], "attributes": [], "expectations": [] }

In the example, the request is for five units of a single product with ASIN, [asin], with an expected price of $10.00 for each unit. The order-level attributes and expectations are omitted for simplicity. Ordering API will evaluate the request against actual offerings. If the price of the item doesn't exceed $12.00, Ordering API will place an order. That is 20% more than expected. If no offering is below $12.00, Ordering API rejects the line item but will continue to process other line items. If there are no other line items, Ordering API will reject the order.


{
    "externalId": "line-item-1",
    "acceptedItems": [],
    "rejectedItems": [
        {
            "quantity": 5,
            "artifacts": [
                {
                    "rejectionArtifactType": "RejectionGroup",
                    "supportingArtifacts": [
                        {
                            "rejectionArtifactType": "RejectionMessage",
                            "message": "Insufficient stock or no offer complies with your safeguards."
                        },
                        {
                            "rejectionArtifactType": "RejectionCode",
                            "code": "008-007"
                        }
                    ]
                },
                {
                    "rejectionArtifactType": "UnavailableQuantity",
                    "quantity": 5
                }
            ]
        }
    ]
}

Seller Substitutions

The Seller Substitutions safeguard allows you to get substitute items from other sellers when an item is unavailable. This safeguard can affect how Ordering API selects buying options (offers for an item on the Amazon Business catalog) to fulfill an order request.

Ordering API selects the buying option for an order line item based on a combination of the following details:

  • The product in the request, identified by the ASIN in the SelectedProductReference attribute.
  • The buying option in the request, identified by the offer ID in the SelectedBuyingOptionReference attribute.
  • The configuration of the Seller Substitutions safeguard.

If a valid buying option is present in the request, Ordering API will perform the following actions:

  1. Select as much quantity of this buying option as possible. Note that the constraints within the Seller Substitutions safeguard do not apply here.
  2. If any quantity remains unfilled for the line item (either because Amazon didn’t have enough quantity available, or because the buying option reference was invalid) and Seller Substitutions are enabled, Ordering API will perform the following actions:
    1. Find substitute buying options based on the product reference in the request, filtered as specified in the Seller Substitutions safeguard.
    2. Fill the remaining quantity for the line item by selecting buying options in descending order of preference (typically, this is in ascending order of price; more generally, we try to maximize the quantity filled within the customer’s safeguard tolerances).
  3. If any quantity remains unfilled after substitution, proceed according to the configuration of the Low stock and Item unavailable safeguards.

If a buying option reference is not present in the request or is invalid, Ordering API proceeds from Step 2 above.

Example 1:

The request contains a product reference [ASIN] and a valid buying option reference [Buying Option ID] that has 5 or more quantity available. The buying option has a price of $9.99, which is within the tolerances allowed by customer-configured unit price safeguards. This buying option is used to fill all the quantity in the request, yielding a subtotal of $49.95 (5 * $9.99).

Click to expand
{ "externalId": "line-item-1", "quantity": 5, "attributes": [ { "attributeType": "SelectedProductReference", "productReference": { "productReferenceType": "ProductIdentifier", "id": "[ASIN]" } }, { "attributeType": "SelectedBuyingOptionReference", "buyingOptionReference": { "buyingOptionReferenceType": "BuyingOptionIdentifier", "id": "[Buying Option ID]" } } ] }
{ "externalId": "line-item-1", "acceptedItems": [ { "quantity": 5, "artifacts": [ { "acceptanceArtifactType": "UnitPrice", "amount": { "currencyCode": "USD", "amount": 9.99 } }, { "acceptanceArtifactType": "Charge", "category": "SUBTOTAL", "amount": { "currencyCode": "USD", "amount": 49.95 } } ] } ], "rejectedItems": [] }

Example 2:

The request contains a product reference [ASIN] and a valid buying option reference [Buying Option ID] that has only 3 quantity available. Seller Substitutions are enabled, so 2 remaining quantity is filled by the cheapest available marketplace offer, at a price of $10.99. This yields a subtotal of $51.95 (3 $9.99 + 2 $10.99).

Click to expand
{ "externalId": "line-item-1", "quantity": 5, "attributes": [ { "attributeType": "SelectedProductReference", "productReference": { "productReferenceType": "ProductIdentifier", "id": "[ASIN]" } }, { "attributeType": "SelectedBuyingOptionReference", "buyingOptionReference": { "buyingOptionReferenceType": "BuyingOptionIdentifier", "id": "[Buying Option ID]" } } ] }
{ "externalId": "line-item-1", "acceptedItems": [ { "quantity": 3, "artifacts": [ { "acceptanceArtifactType": "UnitPrice", "amount": { "currencyCode": "USD", "amount": 9.99 } }, { "acceptanceArtifactType": "Charge", "category": "SUBTOTAL", "amount": { "currencyCode": "USD", "amount": 29.97 } } ] }, { "quantity": 2, "artifacts": [ { "acceptanceArtifactType": "UnitPrice", "amount": { "currencyCode": "USD", "amount": 10.99 } }, { "acceptanceArtifactType": "Charge", "category": "SUBTOTAL", "amount": { "currencyCode": "USD", "amount": 21.98 } } ] } ], "rejectedItems": [] }

Example 3:

The request contains a product reference [ASIN] and a valid buying option reference [Buying Option ID] that has only 3 quantity available. Seller Substitutions are disabled, so the 2 remaining quantity is rejected. This yields a subtotal of $29.97 (3 _ $9.99).
Note that which portion of the order is rejected may change based on the value of the Low stock and Item unavailable safeguards. It is possible for just the unfilled quantity, whole line item, or even the entire order to be rejected.

Click to expand
{ "externalId": "line-item-1", "quantity": 5, "attributes": [ { "attributeType": "SelectedProductReference", "productReference": { "productReferenceType": "ProductIdentifier", "id": "[ASIN]" } }, { "attributeType": "SelectedBuyingOptionReference", "buyingOptionReference": { "buyingOptionReferenceType": "BuyingOptionIdentifier", "id": "[Buying Option ID]" } } ] }
{ "externalId": "line-item-1", "acceptedItems": [ { "quantity": 3, "artifacts": [ { "acceptanceArtifactType": "UnitPrice", "amount": { "currencyCode": "USD", "amount": 9.99 } }, { "acceptanceArtifactType": "Charge", "category": "SUBTOTAL", "amount": { "currencyCode": "USD", "amount": 29.97 } } ] } ], "rejectedItems": [ { "quantity": 2, "artifacts": [ { "rejectionArtifactType": "RejectionGroup", "supportingArtifacts": [ { "rejectionArtifactType": "RejectionMessage", "message": "Insufficient stock or no offer complies with your safeguards." }, { "rejectionArtifactType": "RejectionCode", "code": "008-007" } ] }, { "rejectionArtifactType": "UnavailableQuantity", "quantity": 2 } ] } ] }

Example 4:

The request contains a product reference [ASIN] and no buying option reference. Seller Substitutions are enabled, so all 5 quantity is filled using the cheapest available marketplace offers; the cheapest available offer has a price of $10.99, but only 4 quantity. The remaining single quantity is filled using the next available marketplace offer, at a price of $11.99. This yields a subtotal of $55.95 (4 $10.99 + 1 $11.99).

Click to expand
{ "externalId": "line-item-1", "quantity": 5, "attributes": [ { "attributeType": "SelectedProductReference", "productReference": { "productReferenceType": "ProductIdentifier", "id": "[ASIN]" } } ] }
{ "externalId": "line-item-1", "acceptedItems": [ { "quantity": 4, "artifacts": [ { "acceptanceArtifactType": "UnitPrice", "amount": { "currencyCode": "USD", "amount": 10.99 } }, { "acceptanceArtifactType": "Charge", "category": "SUBTOTAL", "amount": { "currencyCode": "USD", "amount": 43.96 } } ] }, { "quantity": 1, "artifacts": [ { "acceptanceArtifactType": "UnitPrice", "amount": { "currencyCode": "USD", "amount": 11.99 } }, { "acceptanceArtifactType": "Charge", "category": "SUBTOTAL", "amount": { "currencyCode": "USD", "amount": 11.99 } } ] } ], "rejectedItems": [] }

Example 5:

The request contains a product reference [ASIN] and no buying option reference. Seller Substitutions are disabled, leaving no source of buying options, so all 5 quantity is rejected.
Note that this may also result in the entire order being rejected, depending on the configuration of the Low stock and Item unavailable safeguards.

Click to expand
{ "externalId": "line-item-1", "quantity": 5, "attributes": [ { "attributeType": "SelectedProductReference", "productReference": { "productReferenceType": "ProductIdentifier", "id": "[ASIN]" } } ] }
{ "externalId": "line-item-1", "acceptedItems": [], "rejectedItems": [ { "quantity": 5, "artifacts": [ { "rejectionArtifactType": "RejectionGroup", "supportingArtifacts": [ { "rejectionArtifactType": "RejectionMessage", "message": "Insufficient stock or no offer complies with your safeguards." }, { "rejectionArtifactType": "RejectionCode", "code": "008-007" } ] }, { "rejectionArtifactType": "UnavailableQuantity", "quantity": 5 } ] } ] }

Result

An order is processed while containing a subset of the requested line items or the requested quantity for those line items. This means parts of the order get rejected. Ordering API will show which part of the order gets rejected with artifacts.

The Ordering API result will consist of:
• line items with accepted and rejected portions
• acceptance artifacts
• rejection artifacts

In the example, discussed in Safeguards section, a line item was rejected because of an item price constraint. But because there are other line items, Ordering API will continue to process the other line items in the request.

Complete fulfillment

Line items are broken up into accepted portions (quantity that is available), and rejected portions (quantity that isn’t available). The net quantity across all these items for a single line item will add to the originally requested quantity.

{ "externalId": "[order-12345]", "lineItems": [ { "externalId": "line-item-1", "quantity": 5, "attributes": [ { "attributeType": "SelectedProductReference", "productReference": { "productReferenceType": "ProductIdentifier", "id": "[asin]" } } ] } ], "attributes": [], "expectations": [] }

This is a request for five units of a single product with ASIN, [asin]. The order-level attributes and expectations were omitted for simplicity. The response means all five units of the product are available.

{ "lineItems": [ { "externalId": "line-item-1", "acceptedItems": [ { "quantity": 5, "artifacts": [ { "acceptanceArtifactType": "Charge", "category": "SUBTOTAL", "type": "PRINCIPAL", "amount": { "currencyCode": "USD", "amount": 9.99 } } ] } ], "rejectedItems": [] } ], "acceptanceArtifacts": [], "rejectionArtifacts": [] }

📘

The line item's externalId is the user-supplied value in the request line item. The items in the result are linked to the items in the request. There are no rejectedItems because all five units of this item are available.

Partial fulfillment

A customer has configured a safeguard to send what's available. Instead of rejecting the item or order, Ordering API will fulfill the item partially and reject the remaining quantity.

Sample: Three units of the item are available and met the customer's expectations.

{ "lineItems": [ { "externalId": "line-item-1", "acceptedItems": [ { "quantity": 3, "artifacts": [ { "acceptanceArtifactType": "Charge", "category": "SUBTOTAL", "type": "PRINCIPAL", "amount": { "currencyCode": "USD", "amount": 9.99 } } ] } ], "rejectedItems": [ { "quantity": 2, "artifacts": [ { "rejectionArtifactType": "RejectionCode", "code": "008-008" }, { "rejectionArtifactType": "RejectionMessage", "message": "Item is out of stock." } ] } ] } ], "acceptanceArtifacts": [], "rejectionArtifacts": [] }

The total quantity across the accepted and rejected items remains five, which matches the requested quantity.

Total rejection

A customer has configured a safeguard that removes the line item or rejects the order if the requested quantity isn’t available.

{ "lineItems": [ { "externalId": "line-item-1", "acceptedItems": [], "rejectedItems": [ { "quantity": 3, "artifacts": [ { "rejectionArtifactType": "AvailableQuantity", "quantity": 3 } ] }, { "quantity": 2, "artifacts": [ { "rejectionArtifactType": "RejectionCode", "code": "008-008" }, { "rejectionArtifactType": "RejectionMessage", "message": "Item is out of stock." } ] } ] } ], "acceptanceArtifacts": [], "rejectionArtifacts": [] }

In the example, the three units become part of rejected items. The rejected items indicate that the quantity was available but rejected due to other constraints. The total quantity across all items adds to five. The order-level artifacts are omitted for simplicity.

Order information

The orderDetails operation of Ordering API allows customers to get order information, such as expected delivery date range, shipment tracking ID, and carrier name.

To get order information, use this GET operation: GET /ordering/2022-10-30/orders/{externalId}

GET/ordering/2022-10-30/orders/externalId-OrderLevel-b-799-791-9962 { "x-amz-user-email":"[test@amazon.com]" }

When an order is placed, the request will (1) identify the externalId of the requesting resource, and (2) checks if the email in API request header has view order access permission that's associated with a business group. If there’s no view order access permission, the response will show “unauthorized user” exception.

{ "lineItems": [ { "externalId": "externalID-LineLevel-B01N7KS123", "acceptedItems": [ { "quantity": 1, "artifacts": [ { "acceptanceArtifactType": "DeliveryTimeRange", "lowerBoundary": "2023-07-04T03:00:00Z", "upperBoundary": "2023-07-04T03:00:00Z" }, { "acceptanceArtifactType": "UnitPrice", "amount": { "currencyCode": "USD", "amount": 20.49 } }, { "acceptanceArtifactType": "Charge", "amount": { "currencyCode": "USD", "amount": -11.24 }, "category": "SHIPPING", "type": "DISCOUNT" }, { "acceptanceArtifactType": "Charge", "amount": { "currencyCode": "USD", "amount": 20.49 }, "category": "SUBTOTAL", "type": "PRINCIPAL" }, { "acceptanceArtifactType": "Charge", "amount": { "currencyCode": "USD", "amount": 11.24 }, "category": "SHIPPING", "type": "PRINCIPAL" }, { "acceptanceArtifactType": "Charge", "amount": { "currencyCode": "USD", "amount": 1.69 }, "category": "SUBTOTAL", "type": "TAX" }, { "acceptanceArtifactType": "OrderIdentifier", "identifier": "113-2725493-02XXXXX" }, { "acceptanceArtifactType": "ShipmentGroup", "identifier": "21946403078XXXX", "packageReferences": [ { "packageReferenceType": "CarrierTrackingNumber", "value": "TBA3074541XXXX" } ], "quantity": 1 } ] } ], "rejectedItems": [] }, { "externalId": "externalID-LineLevel-B0BMQG4XXX", "acceptedItems": [ { "quantity": 1, "artifacts": [ { "acceptanceArtifactType": "DeliveryTimeRange", "lowerBoundary": "2023-07-04T03:00:00Z", "upperBoundary": "2023-07-04T03:00:00Z" }, { "acceptanceArtifactType": "UnitPrice", "amount": { "currencyCode": "USD", "amount": 5.99 } }, { "acceptanceArtifactType": "Charge", "amount": { "currencyCode": "USD", "amount": -0.28 }, "category": "SHIPPING", "type": "DISCOUNT" }, { "acceptanceArtifactType": "Charge", "amount": { "currencyCode": "USD", "amount": 5.99 }, "category": "SUBTOTAL", "type": "PRINCIPAL" }, { "acceptanceArtifactType": "Charge", "amount": { "currencyCode": "USD", "amount": 0.28 }, "category": "SHIPPING", "type": "PRINCIPAL" }, { "acceptanceArtifactType": "Charge", "amount": { "currencyCode": "USD", "amount": 0.49 }, "category": "SUBTOTAL", "type": "TAX" }, { "acceptanceArtifactType": "OrderIdentifier", "identifier": "113-2725493-02XXXXX" }, { "acceptanceArtifactType": "ShipmentGroup", "identifier": "2194640307XXXXC", "packageReferences": [ { "packageReferenceType": "CarrierTrackingNumber", "value": "TBA3074541CCVVFF" } ], "quantity": 1 } ] } ], "rejectedItems": [] }, { "externalId": "externalID-LineLevel-B08YJC2XXX", "acceptedItems": [ { "quantity": 1, "artifacts": [ { "acceptanceArtifactType": "DeliveryTimeRange", "lowerBoundary": "2023-07-04T03:00:00Z", "upperBoundary": "2023-07-04T03:00:00Z" }, { "acceptanceArtifactType": "UnitPrice", "amount": { "currencyCode": "USD", "amount": 8.82 } }, { "acceptanceArtifactType": "Charge", "amount": { "currencyCode": "USD", "amount": -0.12 }, "category": "SHIPPING", "type": "DISCOUNT" }, { "acceptanceArtifactType": "Charge", "amount": { "currencyCode": "USD", "amount": 8.82 }, "category": "SUBTOTAL", "type": "PRINCIPAL" }, { "acceptanceArtifactType": "Charge", "amount": { "currencyCode": "USD", "amount": 0.12 }, "category": "SHIPPING", "type": "PRINCIPAL" }, { "acceptanceArtifactType": "Charge", "amount": { "currencyCode": "USD", "amount": 0.73 }, "category": "SUBTOTAL", "type": "TAX" }, { "acceptanceArtifactType": "OrderIdentifier", "identifier": "113-2725493-02CCCAFA" }, { "acceptanceArtifactType": "ShipmentGroup", "identifier": "219464030TTARFS", "packageReferences": [ { "packageReferenceType": "CarrierTrackingNumber", "value": "TBA3074541VAGSFS" } ], "quantity": 1 } ] } ], "rejectedItems": [] } ], "acceptanceArtifacts": [ { "acceptanceArtifactType": "Charge", "amount": { "currencyCode": "USD", "amount": -11.64 }, "category": "SHIPPING", "type": "DISCOUNT" }, { "acceptanceArtifactType": "Charge", "amount": { "currencyCode": "USD", "amount": 35.3 }, "category": "SUBTOTAL", "type": "PRINCIPAL" }, { "acceptanceArtifactType": "Charge", "amount": { "currencyCode": "USD", "amount": 11.64 }, "category": "SHIPPING", "type": "PRINCIPAL" }, { "acceptanceArtifactType": "Charge", "amount": { "currencyCode": "USD", "amount": 2.91 }, "category": "SUBTOTAL", "type": "TAX" }, { "acceptanceArtifactType": "Shipment", "identifier": "2194640307TSGAH", "packages": [ { "packageReference": { "packageReferenceType": "CarrierTrackingNumber", "value": "TBA3074541AJSBS" }, "packageAttributes": [ { "packageAttributeType": "PackageTrackingAttribute", "carrierName": "Amazon", "deliveryDateRange": { "startDateTime": "2023-07-03T07:00:00Z", "endDateTime": "2023-07-04T03:00:00Z" } } ] } ] } ], "rejectionArtifacts": [] }
{ "errors": [ { "code": "Unauthorized", "message": "Unauthorized.", "details": "Unauthorized user." } ] }

Order notifications and updates

If you would like to receive order notifications and updates, you’ll need to configure Amazon SNS. AmazonSNS helps reduce the number of API calls and provides effective resource usage.

Setup access for Amazon SNS is through AWS console. You will need an AWS account. To create a free AWS account, refer to AWS Free Tier. To create and activate a new AWS account, refer to How do I create and activate a new AWS account?. If you have an AWS account, no need to create a new one.

After creating an AWS account, refer to Configuring Amazon SNS. The guide lists the steps in creating an Amazon SNS topic, subscribing to an Amazon SNS topic, deleting an Amazon SNS subscription and topic, and Amazon SNS topic tagging.

There’s no cost in setting up access to Amazon SNS, and the subscription cost is based on usage and type of topic. SNS topics are defined as standard topics and FIFO topics. Please refer to Amazon SNS pricing.

Subscription is optional. Your customer can still use the Ordering API to get order information.

{externalRequestId":"externalId-OrderLevel-b-605-663-XXXX"}

📘

Access and use of Ordering API is possible without configuring Amazon SNS.

Developer partner and customer onboarding process

There are two parts in the onboarding process. First, the developer partner onboarding. Second, the customer onboarding on the Ordering API.

Developer partner onboarding

Amazon Business will work with you in completing your onboarding. The process takes four to six weeks and it involves:

Step 1. Submit your developer profile request
Step 2. Create an app client in Solution Provider Portal
Step 3. Authorize your Amazon Business API apps
Step 4. Create your request

Step 5. Configure Amazon SNS
Step 6. Activate the SNS feature

After completing Step 5. Configure Amazon SNS, please contact your Amazon Business Customer Advisor and share your IAM Publish Role and SNS topic ARNs. The Amazon Business Customer Advisor will connect with the team who will activate the SNS feature, and sends you a status update:

{"externalRequestId":"external-order-id-12345"}

Step 7. Test your configuration
To test the configuration, use externalId as path parameter.

Path - GET /ordering/2022-10-30/orders/{externalId}
With ActualOrder: Path - GET /ordering/2022-10-30/orders/external-order-id-12345

GET /ordering/2022-10-30/orders/11-123456789 { "x-amz-user-email":"[test@amazon.com]" }
{ "lineItems": [ { "externalId": "line-item-1", "acceptedItems": [ { "quantity": 5, "artifacts": [ { "acceptanceArtifactType": "Charge", "category": "SUBTOTAL", "type": "PRINCIPAL", "amount": { "currencyCode": "USD", "amount": 9.99 } } ] } ], "rejectedItems": [] } ], "acceptanceArtifacts": [], "rejectionArtifacts": [] }

Customer onboarding

After completion of API integration, onboard your business customers to Amazon Business Ordering API. Ask your business customers to complete these steps:

Step 1. Create an Amazon Business account
Step 2. Create a group
Step 3. Configure the purchasing system and generate a unique group identifier
Step 4. Set up the purchasing preference
Step 5. Add a payment method
Step 6. Switch the setting of the purchasing system from test mode to active mode
Step 7. Add user to a group

Step 1. Create an Amazon Business account

Create an Amazon Business account for the desired Amazon Business store.

Step 2. Create a group

  1. Sign in to your Amazon Business account. Navigate to Account Details > Business Settings. The Business setting displays.
  2. Navigate to Members > Groups. Select Groups.

The group setting displays.

  1. Select Add Group.

The Create Group displays.

  1. In the Group name text box, enter the name of the group that is allowed to access your purchasing system.
    Sample group name: OrderingAPI_TestGroup

📘

In the future, if you decide to revoke the access permission for this group, select the box turn off purchasing for this group.

  1. Select the applicable payment methods and shipping addresses for the group.

  2. Select Add Group. The group is added to the list.

Step 3. Configure the purchasing system and generate a unique group identifier

  1. Select the group name. In the example, the group name is OrderingAPI_TestGroup. The page for this group displays.
  2. Navigate to System integrations > Configure purchasing system.
  1. On the next screen, place your mouse cursor in the search box. The list of available purchasing systems displays. Select your purchasing system.

📘

The group identifier generated here is your BuyingGroup reference in the Ordering APIrequest.

If your purchasing system isn’t in the list, enter Ordering-API in the search box. Select Ordering API.
A screen detailing the unique group identifier displays. Select Save.

Step 4. Set up the purchasing preference

  1. Navigate to System integrations > Configure purchasing system.
  2. Navigate to Order safeguards. Select Edit.

The next screen provides option for setting how to handle order requests.

  1. Select Edit to set the option for each safeguard.
  2. Select Save.

Step 5. Add a payment method

Manage the checkout preferences by adding a payment method.

  1. Navigate to Payment Method > Add a payment method.
  1. Select Add payment method.
  1. Select the applicable payment method: credit or debit cards, personal checking accounts, or business checking accounts.

Step 6. Switch the setting of the purchasing system from test mode to active mode

Once the setup and integration meets your expectations, switch the setting of the purchasing system from Test Mode to Active Mode.

Step 7. Add user to a group

The Purchase Order will reach Amazon Business when there’s an assigned group and users in the purchasing system.

  1. Select the group name.
    In the example, the group name is OrderingAPI_TestGroup. The page for this group displays.
  1. Select Add people.
    The next screen will allow you add people for this group. You have these options: Invite by email, Upload a spreadsheet, or Share an invite link.
Invite by email
  1. Enter the email address of the people who is allowed to access your purchasing system.
  2. Select Buyer (requisitioner).
  3. Select Invite people.
Upload a spreadsheet
  1. Select this spreadsheet template.
  2. Open the spreadsheet file and make changes.
  3. Save the file in your local folder.
  4. Select Browse and select the file to upload the spreadsheet.

The page displays the number of entries to process.

  1. Select Upload the file.
Share an invite link
  1. Select Copy this link.
  2. Paste the link in the body of your email message.

Frequently asked questions

Q: Which region or country does Ordering APIsupports?
A: Ordering API supports all Amazon Business marketplace.

Q: What role to request for Ordering API?
A: The role to request for Ordering API is AmazonBusinessOrderPlacement.

Q: Is it required to add groups and users in my purchasing system before using the Ordering API?
A: Yes. The Purchase Order will reach Amazon Business when there’s an assigned group and users in the purchasing system.

Q: Do you have a sample response to share?
A: Yes. Here’s the sample response.

HTTP/1.1 200 OK x-amzn-RequestId: ... Content-Type: application/json Content-Length: ... { "lineItems": [ { "externalId": "line-item-1", "acceptedItems": [ { "quantity": 1, "artifacts": [ { "acceptanceArtifactType": "DeliveryTimeRange", "lowerBoundary": "2023-01-01T08:00:00Z", "upperBoundary": "2023-01-02T07:59:59Z" }, { "acceptanceArtifactType": "UnitPrice", "amount": { "currencyCode": "USD", "amount": 9.99 } }, { "acceptanceArtifactType": "Charge", "amount": { "currencyCode": "USD", "amount": 4.99 }, "category": "SHIPPING", "type": "PRINCIPAL" }, { "acceptanceArtifactType": "Charge", "amount": { "currencyCode": "USD", "amount": 9.99 }, "category": "SUBTOTAL", "type": "PRINCIPAL" }, { "acceptanceArtifactType": "OrderIdentifier", "identifier": "000-1111111-2222222" } ] } ], "rejectedItems": [] } ], "acceptanceArtifacts": [ { "acceptanceArtifactType": "Charge", "amount": { "currencyCode": "USD", "amount": 4.99 }, "category": "SHIPPING", "type": "PRINCIPAL" }, { "acceptanceArtifactType": "Charge", "amount": { "currencyCode": "USD", "amount": 9.99 }, "category": "SUBTOTAL", "type": "PRINCIPAL" }, { "acceptanceArtifactType": "Signed" } ], "rejectionArtifacts": [] }

Q: Does Ordering API return an error response for unsuccessful request?
A: Yes. If the request is unsuccessful, Ordering API returns an error response.

HTTP/1.1 400 Bad Request x-amzn-RequestId: ... Content-Type: application/json Content-Length: ... { "errors": [ { "code": "INVALID_REQUEST_PARAMETER", "message": "The following required request parameter is missing: lineItems", "details": "" } ] }
HTTP/1.1 403 Forbidden x-amzn-RequestId: ... Content-Type: application/json Content-Length: ... { "errors": [ { "message": "The security token included in the request is invalid.", "code": "InvalidInput" } ] } 

Q: What features/functionalities are currently not supported with Ordering API?
A: The following features are not currently supported:

FeaturesDescriptionAlternate option
Bundle ProductsA Product Bundle is a set of related items that are sold together as a group. Products are often bundled together to offer savings, or because they are an authoritative set of products that are guaranteed to work together.Punchout Ordering
Amazon Fresh ProductsHighly perishable products such as groceriesPunchout Ordering
Gift cardsPhysical and digital gift cards sold on Amazon Business.Punchout Ordering with credit card
Digital productsDigital products sold on Amazon Business.Punchout Ordering
Order Confirmation emailOrder confirmation email sent to the customer after an order is placed.Punchout Ordering and cXML Direct Ordering
Electronic Order ConfirmationOrder confirmation sent to the customer in cXML or EDI format.Punchout Ordering and cXML Direct Ordering
Electronic Advanced Shipment NotificationAdvanced Shipment Notification sent to the customer in cXML or EDI format.Punchout Ordering and cXML Direct Ordering
e-InvoicingAn e-Invoice, or electronic invoice, is a digital invoice sent and received electronically. After Amazon Business receives an order where the customer selected Pay By Invoice as their mode of payment,  an invoice will be generated for the cost of goods for the customer to pay  back. The invoice amount due or "AR" will be booked against the customer's credit line, like spending against a credit card. A cXML or EDI Invoice can then be generated and sent to customer.PDF-based invoices
Adding Billing Address from Purchase Order (PO) to invoicingDynamically pull the BillTo field from the PO as opposed to the static value loaded when activating invoicing line of credit. This feature helps keep billing separate for entities dynamically.Punchout Ordering and cXML Direct Ordering
Planned DeliveryAbility for customers to select a delivery date up to 90 days in advance.Punchout Ordering
Scheduled DeliveryA delivery experience in which customers choose a specific delivery window from a calendar.Punchout Ordering
Heavy/Bulky products supportPurchase of Heavy Bulky products. Product is considered Heavy/Bulky when weight exceeds 30Kg and/or its Girth (girth=Length+2*(Width+Height)) exceeds 300cm and/or its Length exceeds (150cm)Punchout Ordering and cXML Direct Ordering
Free Pallet Delivery (FPD)A free shipping benefit for all Business Prime members to get their pallet size purchases delivered in a single delivery on a pallet, either as soon as possible (3-7 days) or for a scheduled delivery.Punchout Ordering and cXML Direct Ordering

For information about Punchout Ordering, see Punchout - Purchasing System Integration. For information about cXML Direct Ordering, contact your Amazon Business customer advisor.

Appendices

Appendix 1: Polymorphism

Attributes and expectations in Ordering API are polymorphic. This means there are many specific subtypes of an attribute or expectation. When an attribute or expectation is required in a request, a specific subtype is selected in its place. The subtype's schema name must be passed as a discriminator to indicate which subtype it is.

Here’s a sample request when passing an order-level SelectedProductReference attribute.

{ "externalId": "[oroder-12345]", "lineItems": [], "attributes": [ { "attributeType": "SelectedProductReference", "productReference": { "productReferenceType": "ProductIdentifier", "id": "[asin]" } } ], "expectations": [] }

The attributeType property contains the exact, case-sensitive schema name of the subtype, SelectedProductReference. This is in addition to the actual contents of the attribute, which is the value of the productReference property.

The value of the productReference property is of type ProductReference, which is polymorphic, hence the productReferenceType discriminator property. The concrete subtype used is ProductIdentifier, which contains the product’s ASIN. It’s inacceptable to pass a value other than a defined subtype schema name in a discriminator property because it will result an error. It’s unacceptable to pass the supertype schema name in the attributeType discriminator property.

Appendix 2: Amazon Business endpoints, store URLs, and store IDs

Amazon Business endpoints

Amazon Business store URLs

Amazon Business store IDs

Appendix 3: Ordering API model and reference

Refer to Ordering API v1 model and Ordering API v1 reference.

Appendix 4: Ordering API rejection codes

Ordering API follows standard HTTP status codes. Generally, the API returns HTTP 400 status code for any missing inputs. If the API input is valid but the order cannot be fulfilled due to service issues or business logic reasons, then rejection codes are provided with HTTP 200 status code.

Below are the rejection codes provided with an HTTP 200 status code in response.

rejection_message_coderejection_message_code_descrejection_message_shortrejection_message_long
000-001UNEXPECTED_ERRORUnknown ErrorSomething went wrong on our side. We're sorry for the inconvenience. Please contact Amazon Business customer support.
000-002UNEXPECTED_ERROR_CVUnknown ErrorSomething went wrong on our side. We're sorry for the inconvenience. Please contact Amazon Business customer support.
001-001UNSUPPORTED_ORDER_TYPEcXML - Unsupported order typeYou've updated an order that has been submitted to Amazon Business. Currently, Amazon Business doesn't support updates to an existing order. We're working to include this capability in the future. Please place a new purchase order. To cancel an existing order, contact Amazon Business customer support.
002-002CREDENTIALS_NOT_VALIDATEDMissing or invalid credentialsYour order has invalid credentials. Your eProcurement system transmits an invalid 'from identity' or 'shared secret' in credentials. Please ask your IT support team or Amazon Business account admin to provide a valid 'from identity' and 'shared secret' in /cXML/Header/From/Credential/Identity.
003-001ADDRESS_NOT_PRESENTMissing address dataThe address is missing. Your eProcurement system didn't transmit ${Address}. Please ask your IT support team or Amazon Business account admin to provide ${Address} in {XPATH}.
003-052ADDRESS_INVALIDInvalid address dataYour order has invalid information. Your eProcurement system transmits an invalid ${Address}. Please ask your IT support team or Amazon Business account admin to provide a valid address in ${Address}.
004-001PAYMENT_PLAN_NOT_FOUNDMissing default payment methodYour group has an active 'shared payment' settings, but the default payment method requires configuration. Please ask your IT support team or Amazon Business account admin to configure the default payment method. Follow these steps: 1. Sign in to your Amazon Business account. 2. Go to Account Details > Business Settings. 3. In Business Settings, navigate to Billing and Shipping > Payment Methods.
004-003INACTIVE_INSTRUMENTInactive payment methodYour payment method is inactive or invalid. Please add a valid payment method. Follow these steps: 1. Sign in to your Amazon Business account. 2. Go to Account Details > Account settings. If your group uses a 'shared' payment method, please contact your IT support team or Amazon Business account admin.
004-004PAYMENT_METHOD_MISMATCHPayment method mismatchThe payment setting for your group was changed from 'shared pay' to 'individual pay' after checkout. For this reason, we can't find a valid payment method in your purchase order. Please choose a valid payment option at checkout.
004-005PAYMENT_METHOD_OUT_OF_SYNCExpired payment methodYour payment method has expired. Please choose another payment method or add a new payment method at checkout.
004-010ELIGIBILITY_FAULT_INSUFFICIENT_COVERAGEInsufficient credit limitThere's an insufficient balance in your Pay by Invoice credit line. Please ask your IT support team or Amazon Business account admin to clear pending invoices.
004-013ELIGIBILITY_FAULT_INELIGIBLE_PRODUCT_FOR_PROCESSORPBI not supportedYour order contains an item that isn't supported by fulfillment through Pay by Invoice payment method. Please choose another payment method.
004-014ELIGIBILITY_FAULT_PAYMENT_METHOD_INACTIVEInactive payment methodThe Pay by Invoice (PBI) payment method is inactive for your account. Please choose another payment method. Another option is to ask your IT support team or Amazon Business account admin to activate the PBI payment method.
004-015ELIGIBILITY_FAULT_UNSUPPORTED_PAYMENT_OPTION_FOR_NON_IBA_PRODUCTPBI not supported for fulfilmentYour order contains item(s) that can't be purchased using 'Pay by Invoice' payment method. Please choose another payment method.
004-016ELIGIBILITY_FAULT_UNSUPPORTED_PAYMENT_METHODUnsupported payment methodYour order contains item(s) that can't be purchased using the selected payment method. Please choose another payment method.
004-017ELIGIBILITY_FAULT_UNKNOWN_CAUSEInternal systems issueAn unknown error has occurred. We're sorry for the inconvenience. Please contact Amazon Business customer support.
004-018PAYMENT_METHOD_OUT_OF_SYNCMissing default payment methodThe default payment plan for your group has been deleted. Please ask your IT support team or Amazon Business account admin to add a default payment plan.
006-003MULTIPLE_ACCOUNTS_ASSOCIATEDBuyer email linked to multiple accountsYour email ID is linked to multiple Amazon Business accounts. Amazon Business allows only one email ID for each Amazon Business account. Please link only one email ID. Need more help? Contact Amazon Business customer support.
007-003SHIPPING_CROSS_BORDER_EXPORTShipping export restrictionsWe can't ship this order to your selected delivery location. There's a regulatory or export restriction. Please select a different shipping address.
007-007NO_DELIVERY_OPTIONNo ship option availableWe can't fulfill this order because there's no shipping option available at your specified location. Please select a different delivery location.
007-008SHIPPING_ENGINE_INVALID_INPUTInternal systems issueSomething went wrong on our side. We can't find the shipping information. Please contact Amazon Business customer support.
007-009SHIPPING_RESTRICTEDInternal systems issueSomething went wrong on our side. We can't find the shipping information. Please contact Amazon Business customer support.
007-010INVALID_SELECTED_DELIVERY_OPTION_FOR_LINE_ITEMInternal systems issueSomething went wrong on our side. We can't find a valid ship option. Please contact Amazon Business customer support.
007-012KYC_DOCUMENT_UPLOAD_REQUIREDMissing KYC documentThis item requires cross-country shipping and a valid KYC document. Please upload a valid KYC documents in 'Your Orders' page. Need more help? Contact Amazon Business customer support.
007-013DELIVERY_OPTION_INVALIDUnsupported - Scheduled DeliverySomething went wrong on our side. This item requires scheduled delivery, which isn't supported at this time. Please contact Amazon Business customer support.
007-014OFFER_UNBUYABLE_CUSTOMER_CONTEXTOffer unavailableYour order contains an offer that isn't available at your specified location. Please select a different item or offer.
008-001ORDER_TOTAL_PRICE_CHANGED_MORE_THAN_ALLOWED_SAFEGUARDTolerance - Order totalThe 'order total' exceeds the safeguard limit set by your organization. Delaying the submission of the purchase order (PO) or adding items to cart after checkout might cause large price changes. We recommend you to share the PO immediately and not add items to the cart after checkout.
008-002SHIPPING_PRICE_CHANGED_MORE_THAN_ALLOWED_SAFEGUARDTolerance - Shipping feeThe 'shipping fee' exceeds the safeguard limit set by your organization. Delaying the submission of the purchase order (PO) might cause changes in shipping fee. We recommend you to share the PO immediately after checkout.
008-003LINE_ITEM_SUBTOTAL_PRICE_CHANGED_MORE_THAN_ALLOWED_SAFEGUARDTolerance - Item subtotalThe 'item subtotal' exceeds the safeguard limit set by your organization. Delaying the submission of the purchase order (PO) or adding items to cart after checkout might cause large price changes. We recommend you to share the PO immediately and not add items to the cart after checkout.
008-004DELIVERY_DATE_AFTER_EXPECTED_DATETolerance - Delivery timeThe order will not reach you within the delivery time limit set by your organization. Delaying the submission of purchase order (PO) might delay the delivery. We recommend you to share the PO immediately after checkout.
008-005UNIT_PRICE_PREDICATE_VIOLATIONTolerance - Unit priceThe 'unit price' exceeds the safeguard limit set by your organization. Delaying the submission of the purchase order (PO) or adding items to cart after checkout might cause large price changes. We recommend you to share the PO immediately and not add items to the cart after checkout.
008-006FBA_PREDICATE_VIOLATIONTolerance - Non FBAYour order contains an item that isn't Fulfilled by Amazon. Your organization only allows items that are Fulfilled by Amazon. Please select an item that is Fulfilled by Amazon.
008-007QUANTITY_PREDICATE_VIOLATIONTolerance - Insufficient stockThe seller's stock isn't enough to meet your requested quantity. Your organization only allows purchases if the requested quantity is available. Please reduce the quantity or choose another seller.
008-008OFFER_NOT_PROVIDEDTolerance - item not availableYour order contains an item that is currently unavailable and we can't find a suitable replacement. Please select another item.
008-009OFFER_UNAVAILABLEOffer unavailableYour order contains an offer that is unavailable. Please select a different item or offer.
009-001OFFER_NOT_ALLOWED_BY_CURATIONItem or seller is blockedThe item or the seller is blocked by your organization. Please select a different item and seller.
009-007PROHIBITED_ITEMItem is prohibited for purchase
010-001CUSTOMIZABLE_UNSUPPORTEDUnsupported - Customizable itemsYou've tried to purchase a customized item that is only available through enhanced checkout feature in Punchout. Currently, enhanced checkout is inactive for your account. We recommend you to activate the enhanced checkout feature. Please contact your Amazon Business account admin or Amazon Business customer support.
010-002AT_HOME_SERVICE_UNSUPPORTEDUnsupported - Amazon Home ServicesYou've tried to purchase an Amazon Home Services item that is only available through enhanced checkout feature in Punchout. Currently, enhanced checkout is inactive for your account. We recommend you to activate the enhanced checkout feature. Please contact your Amazon Business account admin or Amazon Business customer support.
010-003DIGITAL_UNSUPPORTEDUnsupported - Digital itemsYou've tried to purchase a digital item that is only available through enhanced checkout feature in Punchout. Currently, enhanced checkout is inactive for your account. We recommend you to activate the enhanced checkout feature. Please contact your Amazon Business account admin or Amazon Business customer support.
010-004E_GIFT_CARD_NOT_SUPPORTEDUnsupported - eGift cardsYou've tried to purchase an eGift card that is only available through enhanced checkout feature in Punchout. Currently, enhanced checkout is inactive for your account. We recommend you to activate the enhanced checkout feature. Please contact your Amazon Business account admin or Amazon Business customer support.
010-005MAGAZINE_WITH_PBI_NOT_SUPPORTEDUnsupported - MagazinesYou've tried to purchase a magazine that is only available through enhanced checkout feature in Punchout. Currently, enhanced checkout is inactive for your account. We recommend you to activate the enhanced checkout feature. Please contact your Amazon Business account admin or Amazon Business customer support.
010-006BUNDLES_UNSUPPORTEDUnsupported - BundlesYou've tried to purchase a magazine that is only available through enhanced checkout feature in Punchout. Currently, enhanced checkout is inactive for your account. We recommend you to activate the enhanced checkout feature. Please contact your Amazon Business account admin or Amazon Business customer support.
010-007WHOLE_FOODS_UNSUPPORTEDUnsupported - Food ItemYou've tried to purchase a magazine that is only available through enhanced checkout feature in Punchout. Currently, enhanced checkout is inactive for your account. We recommend you to activate the enhanced checkout feature. Please contact your Amazon Business account admin or Amazon Business customer support.
010-008PHARMACY_UNSUPPORTEDUnsupported - PharmacyYou've tried to purchase a magazine that is only available through enhanced checkout feature in Punchout. Currently, enhanced checkout is inactive for your account. We recommend you to activate the enhanced checkout feature. Please contact your Amazon Business account admin or Amazon Business customer support.
015-001ORDERING_UNIT_LIMIT_EXCEEDEDExceeds order limit or line item quantityYou order contains more than 50 items or 999 item quantity. Amazon Business allows a maximum of 50 items or 999 item quantity per purchase order. Please ask you IT support team or Amazon Business account admin to create multiple POs to split the items and item quantity. Limit the total items to 50 and total item quanity to 999 for each PO.
015-003QUANTITY_LIMITS_EXCEEDEDExceeds temporary item quantity limitYour order exceeds the temporary quantity limit for this item. Please reorder after some time.
015-004MINIMUM_QUANTITY_LIMITS_NOT_REACHEDMinimum order quantity not metYour order quantity is below the minimum order quantity of {MinimumQuantity}. Please place a new order with a minimum quantity of {MinimumQuantity}.
015-005ITEM_QUANTITY_NOT_AVAILABLEInsufficient stockSituation 1 (If we can get information on stock availability): We can't fulfill your order due to shortage of stock for this item. We only have {availableQuantity} in stock. Please reduce the item quantity to {availableQuantity} or lesser. Situation 2 (If we can't get information on stock availability): We can't fulfill your order due to shortage of stock for this item. We're trying to get information on stock availability. In the meantime, please choose another similar item.
015-006MINIMUM_PURCHASE_THRESHOLD_NOT_REACHEDMinimum purchase amount not metYour order is below the required minimum purchase amount of $25. Please place a new order with a total cart value of $25 or more.
015-006TOTAL_QUANTITY_EXCEED_LIMITTotal quantity limit exceeded.
018-001GROUP_NOT_CONFIGURED_FOR_CHECKOUTCheckout broken - Group not configured for checkoutEnhanced checkout isn't activated for your group. Please ask your IT support team or Amazon Business account admin to activate the enhanced checkout for group ID: {groupId}.
020-001CONSUMER_ONLY_ITEM_USED_BY_BUSINESS_CUSTOMERConsumer only itemThis item is not available for purchase by Amazon Business customers. Please choose a different item.
020-002K12_LICENSE_MISSINGEligibility - K12 license missingThis item requires K12 credential. Please contact your IT support team or your Amazon Business account admin to access your organization's K12 credential. Access the credential by following these steps: 1. Sign in to Amazon Business. 2. Go to Account Details > Business Settings. 3. In Business Settings, navigate to Certifications > Licenses and Credentials.
020-003PANASONIC_IT_VAR_LICENSE_MISSINGEligibility - Panasonic IT-VAR reseller license missingThis item requires a Panasonic IT-VAR reseller license. Please contact your IT support team or your Amazon Business account admin to access your organization's Panasonic IT-VAR reseller license. Access the license by following these steps: 1. Sign in to Amazon Business. 2. Go to Account Details > Business Settings. 3. In Business Settings, navigate to Certifications > Licenses and Credentials.
020-004PROFESSIONAL_BEAUTY_LICENSE_MISSINGEligibility - Beauty license missingThis item requires a beauty license. Please contact your IT support team or your Amazon Business account admin to access your organization's beauty license. Access the license by following these steps: 1. Sign in to Amazon Business. 2. Go to Account Details > Business Settings. 3. In Business Settings, navigate to Certifications > Licenses and Credentials.
020-005BUSINESS_OFFER_USED_BY_NON_BUSINESS_CUSTOMEREligibility - Item for B2B purchase onlyThis item or offer is only available for purchase by Amazon Business customers. Please choose a different item or create an Amazon Business account.
020-006COMMERCIAL_ADDRESS_REQUIRED_FOR_DELIVERYEligibility - Shipment to commercial address onlyThis item is for shipping only to a commercial address. You've provided a residential shipping address. Please provide a commercial shipping address.
020-007BUSINESS_ONLY_RESTRICTED_ITEM_CAN_NOT_SHIP_TO_STATEEligibility - Shipping restrictionsThe seller can't ship the item to the requested state because of the shipping restrictions. Please select another seller or choose a different item.
020-008BUSINESS_ONLY_RESTRICTED_ITEM_LICENCE_ADDRESS_MISMATCHEligibility - Shipping address mismatch in licenseThis item is available for purchase with a valid license. Your shipping address didn't match the address associated with the license. Please provide a valid license and associated shipping address.
020-009BUSINESS_ONLY_RESTRICTED_ITEM_LICENSE_EXPIREDEligibility - Healthcare license expiredThis item is available for purchase with a valid healthcare license. Your healthcare license has expired. Please renew your license or add a new license.
020-010BUSINESS_ONLY_RESTRICTED_ITEM_LICENCE_STATE_MISMATCHEligibility - Shipping address mismatch in licenseThe 'state' mentioned in the shipping address and the 'state' mentioned in your healthcare license don't match. Please update the 'state' in the shipping address to match the 'state' in your license.
020-011US_ARMY_LICENSE_MISSINGEligibility - Allowed for purchase by US army onlyThis item is only available for purchase by the US Army. If you are a US Army personnel, please use approved credentials. If you aren't in the US Army, please choose a different item.
020-012HEALTHCARE_LICENSE_MISSINGEligibility - Healthcare license missingThis item is available for purchase with a valid healthcare license. Your healthcare license has expired. Please renew your license or add a new license.
020-013SPECIFIC_GROUP_LICENSE_MISSINGEligibility - Group not eligible for purchasingThis item is not available for purchase with your credentials. Please choose a different item.
020-014CUSTOMER_NOT_ELIGIBLEEligibility - Customer not eligible for purchasingThis item is only available for purchase under an 'Invite Program'. Please choose a different item.
020-015PROGRAM_NOT_ELIGIBLEEligibility - Group not eligible for purchasingThis item is not available for purchase by your group. Please choose a different item.
021-001BUNDLE_COMP_QUANTITY_INVALIDBundles - Multiple quantities not supportedYou've tried to order multiple quantities for a bundled item. Currently, Amazon Business only allows 1 quantity for this item. Please set the item quantity to 1.
021-002BUNDLE_COMP_INVALIDBundles - Item quantity changed post checkoutYour order contains bundled items. You've updated the items or quantities in this bundle after checkout. Currently, Amazon Business doesn't support updates after checkout.
022-001AGE_VERIFICATION_REQUIREDAge verification requiredThis item requires age verification. Your age verification isn't complete. Please revisit your order and complete the age verification process. Need more help? Contact Amazon Business customer support.
023-001OFFER_LISTING_NOT_AVAILABLEOffer unavailableThe selected offer is unavailable. Please choose a different item or offer.
023-002FULFILLMENT_NETWORK_MISSINGInternal systems issueSomething went wrong on our side. Please contact Amazon Business customer support.
024-001AHS_NOT_SUPPORTEDAHS - Address or scheduled appointment issueThis item requires Amazon Home Services (AHS). There's either an issue with your scheduled appointment date or your selected address is outside the coverage area of AHS. Please contact Amazon Business customer support.
025-001BUYER_EQUALS_SELLERBuyer cannot be same as sellerThis item is sold by your organization. Amazon Business can't process an order where the buyer and seller are the same. Please choose an item not sold by your organization.
026-001VET_PRESCRIPTION_MISSINGEligibility - Vet prescription missingThis item requires a valid veterinary prescription. Please ask your IT support team or Amazon Business account admin to add a valid veterinary prescription in your account.

Appendix 5: Multi-legal entity support

You can configure Ordering API for multi-legal entities (MLE). For more information, see How to configure Ordering API for multi-legal entities.


Did this page help you?