ListPurchaseOptions
Returns the purchase options (offers and offer sets) available to the buyer. You can filter results by product, seller, purchase option type, visibility scope, and availability status.
Note
You must include at least one of the following filters in the request: a PRODUCT_ID filter to specify the product for which to retrieve purchase options, or a VISIBILITY_SCOPE filter to retrieve purchase options by visibility.
Request Syntax
POST /2026-02-05/listPurchaseOptions HTTP/1.1
Content-type: application/json
{
"filters": [
{
"filterType": "string",
"filterValues": [ "string" ]
}
],
"maxResults": number,
"nextToken": "string"
}
URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
- filters
-
Filters to narrow the results. Multiple filters are combined with AND logic. Multiple values within the same filter are combined with OR logic.
Type: Array of PurchaseOptionFilter objects
Array Members: Minimum number of 1 item. Maximum number of 10 items.
Required: No
- maxResults
-
The maximum number of results that are returned per call. You can use
nextTokento get more results.Type: Integer
Valid Range: Minimum value of 1. Maximum value of 100.
Required: No
- nextToken
-
If
nextTokenis returned, there are more results available. Make the call again using the returned token to retrieve the next page.Type: String
Length Constraints: Minimum length of 0. Maximum length of 8192.
Pattern:
[a-zA-Z0-9+/=]+Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"nextToken": "string",
"purchaseOptions": [
{
"associatedEntities": [
{
"offer": {
"offerId": "string",
"offerName": "string",
"sellerOfRecord": {
"displayName": "string",
"sellerProfileId": "string"
}
},
"offerSet": {
"offerSetId": "string",
"sellerOfRecord": {
"displayName": "string",
"sellerProfileId": "string"
}
},
"product": {
"manufacturer": {
"displayName": "string",
"sellerProfileId": "string"
},
"productId": "string",
"productName": "string"
}
}
],
"availableFromTime": number,
"badges": [
{
"badgeType": "string",
"displayName": "string"
}
],
"catalog": "string",
"expirationTime": number,
"purchaseOptionId": "string",
"purchaseOptionName": "string",
"purchaseOptionType": "string",
"sellerOfRecord": {
"displayName": "string",
"sellerProfileId": "string"
}
}
]
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- nextToken
-
If
nextTokenis returned, there are more results available. Make the call again using the returned token to retrieve the next page.Type: String
Length Constraints: Minimum length of 0. Maximum length of 8192.
Pattern:
[a-zA-Z0-9+/=]+ - purchaseOptions
-
The purchase options available to the buyer. Each option is either an offer for a single product or an offer set spanning multiple products.
Type: Array of PurchaseOptionSummary objects
Array Members: Minimum number of 0 items. Maximum number of 100 items.
Errors
For information about the errors that are common to all actions, see Common Error Types.
- AccessDeniedException
-
You don't have sufficient access to perform this action.
HTTP Status Code: 403
- InternalServerException
-
Unexpected error during processing of the request.
HTTP Status Code: 500
- ThrottlingException
-
The request was denied due to request throttling.
HTTP Status Code: 429
- ValidationException
-
The input fails to satisfy the constraints specified by the service.
- reason
-
The reason that the input fails to satisfy the constraints specified by the service.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: