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:
Name | Description |
---|---|
externalId | A 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. |
lineItems | The items in the order. |
attributes | Customer-determined order properties. |
expectations | Customer expectations about aspects of an order they don't directly control. |
x-amz-user-email | The 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.
Attribute | Description | Required at |
---|---|---|
Region | The country or region where the buyer places an order. | Order level |
SelectedPaymentMethodReference | The payment method where the charges for the order will apply. | Order level |
BuyingGroupReference | A reference to the buying group associated with an order request. | Order level |
BuyerReference | A reference to the buying customer. | Order level |
ShippingAddress | Indicates where to ship the order. | Order level or at each line item |
SelectedProductReference | Contains 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 |
PurchaseOrderNumber | A unique reference to the purchase order form of the order request. Limit the number of characters to 30. | Order level |
DeliveryTimeRange | The time range when a product is expected to reach its specified location. This artifact will appear at acceptance-item level. | Line item level |
UnitPrice | The unit price for an item. This artifact will appear at acceptance-item level. | Line item level |
Charge | A qualified monetary charge for an item or an order. This artifact will appear at acceptance-item level. | Line item level |
OrderIdentifier | The Amazon-generated identifier for a placed order. This artifact will be included at acceptance-item level. | Line item level |
Shipment | The shipment details for an order. This artifact will appear at order-level. | Line item level |
ShipmentGroup | The shipment group details for a line item. This artifact will appear at line item level. | Line item level |
CarrierTrackingNumber | The carrier tracking number of the package. | Line item level |
PackageTrackingAttribute | The tracking package attribute. | Line item level |
Optional attributes
Here are some optional attributes.
Attribute | Description | Required at |
---|---|---|
Trial Mode | Indicates 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.
Expectation | Description | Required at |
---|---|---|
ExpectedUnitPrice | The 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 |
ExpectedCharge | The 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.
Safeguard | Expectation |
---|---|
Item price | ExpectedUnitPrice at line item level. |
Item subtotal | ExpectedCharge at line item level. |
Order total | ExpectedCharge 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:
- Select as much quantity of this buying option as possible. Note that the constraints within the Seller Substitutions safeguard do not apply here.
- 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:
- Find substitute buying options based on the product reference in the request, filtered as specified in the Seller Substitutions safeguard.
- 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).
- 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 norejectedItems
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
- Sign in to your Amazon Business account. Navigate to Account Details > Business Settings. The Business setting displays.
- Navigate to Members > Groups. Select Groups.

The group setting displays.
- Select Add Group.

The Create Group displays.

- 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.
-
Select the applicable payment methods and shipping addresses for the group.
-
Select Add Group. The group is added to the list.

Step 3. Configure the purchasing system and generate a unique group identifier
- Select the group name. In the example, the group name is OrderingAPI_TestGroup. The page for this group displays.
- Navigate to System integrations > Configure purchasing system.

- 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
- Navigate to System integrations > Configure purchasing system.
- Navigate to Order safeguards. Select Edit.

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

- Select Edit to set the option for each safeguard.
- Select Save.
Step 5. Add a payment method
Manage the checkout preferences by adding a payment method.
- Navigate to Payment Method > Add a payment method.

- Select Add payment method.

- 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.
- Select the group name.
In the example, the group name is OrderingAPI_TestGroup. The page for this group displays.

- 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

- Enter the email address of the people who is allowed to access your purchasing system.
- Select Buyer (requisitioner).
- Select Invite people.
Upload a spreadsheet

- Select this spreadsheet template.
- Open the spreadsheet file and make changes.
- Save the file in your local folder.
- Select Browse and select the file to upload the spreadsheet.
The page displays the number of entries to process.

- Select Upload the file.
Share an invite link

- Select Copy this link.
- 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:
Features | Description | Alternate option |
---|---|---|
Bundle Products | A 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 Products | Highly perishable products such as groceries | Punchout Ordering |
Gift cards | Physical and digital gift cards sold on Amazon Business. | Punchout Ordering with credit card |
Digital products | Digital products sold on Amazon Business. | Punchout Ordering |
Order Confirmation email | Order confirmation email sent to the customer after an order is placed. | Punchout Ordering and cXML Direct Ordering |
Electronic Order Confirmation | Order confirmation sent to the customer in cXML or EDI format. | Punchout Ordering and cXML Direct Ordering |
Electronic Advanced Shipment Notification | Advanced Shipment Notification sent to the customer in cXML or EDI format. | Punchout Ordering and cXML Direct Ordering |
e-Invoicing | An 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 invoicing | Dynamically 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 Delivery | Ability for customers to select a delivery date up to 90 days in advance. | Punchout Ordering |
Scheduled Delivery | A delivery experience in which customers choose a specific delivery window from a calendar. | Punchout Ordering |
Heavy/Bulky products support | Purchase 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
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_code | rejection_message_code_desc | rejection_message_short | rejection_message_long |
---|---|---|---|
000-001 | UNEXPECTED_ERROR | Unknown Error | Something went wrong on our side. We're sorry for the inconvenience. Please contact Amazon Business customer support. |
000-002 | UNEXPECTED_ERROR_CV | Unknown Error | Something went wrong on our side. We're sorry for the inconvenience. Please contact Amazon Business customer support. |
001-001 | UNSUPPORTED_ORDER_TYPE | cXML - Unsupported order type | You'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-002 | CREDENTIALS_NOT_VALIDATED | Missing or invalid credentials | Your 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-001 | ADDRESS_NOT_PRESENT | Missing address data | The 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-052 | ADDRESS_INVALID | Invalid address data | Your 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-001 | PAYMENT_PLAN_NOT_FOUND | Missing default payment method | Your 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-003 | INACTIVE_INSTRUMENT | Inactive payment method | Your 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-004 | PAYMENT_METHOD_MISMATCH | Payment method mismatch | The 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-005 | PAYMENT_METHOD_OUT_OF_SYNC | Expired payment method | Your payment method has expired. Please choose another payment method or add a new payment method at checkout. |
004-010 | ELIGIBILITY_FAULT_INSUFFICIENT_COVERAGE | Insufficient credit limit | There'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-013 | ELIGIBILITY_FAULT_INELIGIBLE_PRODUCT_FOR_PROCESSOR | PBI not supported | Your order contains an item that isn't supported by fulfillment through Pay by Invoice payment method. Please choose another payment method. |
004-014 | ELIGIBILITY_FAULT_PAYMENT_METHOD_INACTIVE | Inactive payment method | The 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-015 | ELIGIBILITY_FAULT_UNSUPPORTED_PAYMENT_OPTION_FOR_NON_IBA_PRODUCT | PBI not supported for fulfilment | Your order contains item(s) that can't be purchased using 'Pay by Invoice' payment method. Please choose another payment method. |
004-016 | ELIGIBILITY_FAULT_UNSUPPORTED_PAYMENT_METHOD | Unsupported payment method | Your order contains item(s) that can't be purchased using the selected payment method. Please choose another payment method. |
004-017 | ELIGIBILITY_FAULT_UNKNOWN_CAUSE | Internal systems issue | An unknown error has occurred. We're sorry for the inconvenience. Please contact Amazon Business customer support. |
004-018 | PAYMENT_METHOD_OUT_OF_SYNC | Missing default payment method | The 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-003 | MULTIPLE_ACCOUNTS_ASSOCIATED | Buyer email linked to multiple accounts | Your 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-003 | SHIPPING_CROSS_BORDER_EXPORT | Shipping export restrictions | We can't ship this order to your selected delivery location. There's a regulatory or export restriction. Please select a different shipping address. |
007-007 | NO_DELIVERY_OPTION | No ship option available | We can't fulfill this order because there's no shipping option available at your specified location. Please select a different delivery location. |
007-008 | SHIPPING_ENGINE_INVALID_INPUT | Internal systems issue | Something went wrong on our side. We can't find the shipping information. Please contact Amazon Business customer support. |
007-009 | SHIPPING_RESTRICTED | Internal systems issue | Something went wrong on our side. We can't find the shipping information. Please contact Amazon Business customer support. |
007-010 | INVALID_SELECTED_DELIVERY_OPTION_FOR_LINE_ITEM | Internal systems issue | Something went wrong on our side. We can't find a valid ship option. Please contact Amazon Business customer support. |
007-012 | KYC_DOCUMENT_UPLOAD_REQUIRED | Missing KYC document | This 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-013 | DELIVERY_OPTION_INVALID | Unsupported - Scheduled Delivery | Something went wrong on our side. This item requires scheduled delivery, which isn't supported at this time. Please contact Amazon Business customer support. |
007-014 | OFFER_UNBUYABLE_CUSTOMER_CONTEXT | Offer unavailable | Your order contains an offer that isn't available at your specified location. Please select a different item or offer. |
008-001 | ORDER_TOTAL_PRICE_CHANGED_MORE_THAN_ALLOWED_SAFEGUARD | Tolerance - Order total | The '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-002 | SHIPPING_PRICE_CHANGED_MORE_THAN_ALLOWED_SAFEGUARD | Tolerance - Shipping fee | The '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-003 | LINE_ITEM_SUBTOTAL_PRICE_CHANGED_MORE_THAN_ALLOWED_SAFEGUARD | Tolerance - Item subtotal | The '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-004 | DELIVERY_DATE_AFTER_EXPECTED_DATE | Tolerance - Delivery time | The 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-005 | UNIT_PRICE_PREDICATE_VIOLATION | Tolerance - Unit price | The '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-006 | FBA_PREDICATE_VIOLATION | Tolerance - Non FBA | Your 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-007 | QUANTITY_PREDICATE_VIOLATION | Tolerance - Insufficient stock | The 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-008 | OFFER_NOT_PROVIDED | Tolerance - item not available | Your order contains an item that is currently unavailable and we can't find a suitable replacement. Please select another item. |
008-009 | OFFER_UNAVAILABLE | Offer unavailable | Your order contains an offer that is unavailable. Please select a different item or offer. |
009-001 | OFFER_NOT_ALLOWED_BY_CURATION | Item or seller is blocked | The item or the seller is blocked by your organization. Please select a different item and seller. |
009-007 | PROHIBITED_ITEM | Item is prohibited for purchase | |
010-001 | CUSTOMIZABLE_UNSUPPORTED | Unsupported - Customizable items | You'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-002 | AT_HOME_SERVICE_UNSUPPORTED | Unsupported - Amazon Home Services | You'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-003 | DIGITAL_UNSUPPORTED | Unsupported - Digital items | You'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-004 | E_GIFT_CARD_NOT_SUPPORTED | Unsupported - eGift cards | You'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-005 | MAGAZINE_WITH_PBI_NOT_SUPPORTED | Unsupported - Magazines | You'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-006 | BUNDLES_UNSUPPORTED | Unsupported - Bundles | You'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-007 | WHOLE_FOODS_UNSUPPORTED | Unsupported - Food Item | You'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-008 | PHARMACY_UNSUPPORTED | Unsupported - Pharmacy | You'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-001 | ORDERING_UNIT_LIMIT_EXCEEDED | Exceeds order limit or line item quantity | You 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-003 | QUANTITY_LIMITS_EXCEEDED | Exceeds temporary item quantity limit | Your order exceeds the temporary quantity limit for this item. Please reorder after some time. |
015-004 | MINIMUM_QUANTITY_LIMITS_NOT_REACHED | Minimum order quantity not met | Your order quantity is below the minimum order quantity of {MinimumQuantity}. Please place a new order with a minimum quantity of {MinimumQuantity}. |
015-005 | ITEM_QUANTITY_NOT_AVAILABLE | Insufficient stock | Situation 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-006 | MINIMUM_PURCHASE_THRESHOLD_NOT_REACHED | Minimum purchase amount not met | Your 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-006 | TOTAL_QUANTITY_EXCEED_LIMIT | Total quantity limit exceeded. | |
018-001 | GROUP_NOT_CONFIGURED_FOR_CHECKOUT | Checkout broken - Group not configured for checkout | Enhanced 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-001 | CONSUMER_ONLY_ITEM_USED_BY_BUSINESS_CUSTOMER | Consumer only item | This item is not available for purchase by Amazon Business customers. Please choose a different item. |
020-002 | K12_LICENSE_MISSING | Eligibility - K12 license missing | This 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-003 | PANASONIC_IT_VAR_LICENSE_MISSING | Eligibility - Panasonic IT-VAR reseller license missing | This 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-004 | PROFESSIONAL_BEAUTY_LICENSE_MISSING | Eligibility - Beauty license missing | This 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-005 | BUSINESS_OFFER_USED_BY_NON_BUSINESS_CUSTOMER | Eligibility - Item for B2B purchase only | This item or offer is only available for purchase by Amazon Business customers. Please choose a different item or create an Amazon Business account. |
020-006 | COMMERCIAL_ADDRESS_REQUIRED_FOR_DELIVERY | Eligibility - Shipment to commercial address only | This item is for shipping only to a commercial address. You've provided a residential shipping address. Please provide a commercial shipping address. |
020-007 | BUSINESS_ONLY_RESTRICTED_ITEM_CAN_NOT_SHIP_TO_STATE | Eligibility - Shipping restrictions | The 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-008 | BUSINESS_ONLY_RESTRICTED_ITEM_LICENCE_ADDRESS_MISMATCH | Eligibility - Shipping address mismatch in license | This 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-009 | BUSINESS_ONLY_RESTRICTED_ITEM_LICENSE_EXPIRED | Eligibility - Healthcare license expired | This 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-010 | BUSINESS_ONLY_RESTRICTED_ITEM_LICENCE_STATE_MISMATCH | Eligibility - Shipping address mismatch in license | The '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-011 | US_ARMY_LICENSE_MISSING | Eligibility - Allowed for purchase by US army only | This 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-012 | HEALTHCARE_LICENSE_MISSING | Eligibility - Healthcare license missing | This 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-013 | SPECIFIC_GROUP_LICENSE_MISSING | Eligibility - Group not eligible for purchasing | This item is not available for purchase with your credentials. Please choose a different item. |
020-014 | CUSTOMER_NOT_ELIGIBLE | Eligibility - Customer not eligible for purchasing | This item is only available for purchase under an 'Invite Program'. Please choose a different item. |
020-015 | PROGRAM_NOT_ELIGIBLE | Eligibility - Group not eligible for purchasing | This item is not available for purchase by your group. Please choose a different item. |
021-001 | BUNDLE_COMP_QUANTITY_INVALID | Bundles - Multiple quantities not supported | You'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-002 | BUNDLE_COMP_INVALID | Bundles - Item quantity changed post checkout | Your 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-001 | AGE_VERIFICATION_REQUIRED | Age verification required | This 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-001 | OFFER_LISTING_NOT_AVAILABLE | Offer unavailable | The selected offer is unavailable. Please choose a different item or offer. |
023-002 | FULFILLMENT_NETWORK_MISSING | Internal systems issue | Something went wrong on our side. Please contact Amazon Business customer support. |
024-001 | AHS_NOT_SUPPORTED | AHS - Address or scheduled appointment issue | This 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-001 | BUYER_EQUALS_SELLER | Buyer cannot be same as seller | This 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-001 | VET_PRESCRIPTION_MISSING | Eligibility - Vet prescription missing | This 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.
Updated 8 days ago