AWS Marketplace Discovery 2026-02-05
- Client: Aws\MarketplaceDiscovery\MarketplaceDiscoveryClient
- Service ID: marketplace-discovery
- Version: 2026-02-05
This page describes the parameters and results for the operations of the AWS Marketplace Discovery (2026-02-05), and shows how to use the Aws\MarketplaceDiscovery\MarketplaceDiscoveryClient object to call the described operations. This documentation is specific to the 2026-02-05 API version of the service.
Operation Summary
Each of the following operations can be created from a client using
$client->getCommand('CommandName'), where "CommandName" is the
name of one of the following operations. Note: a command is a value that
encapsulates an operation and the parameters used to create an HTTP request.
You can also create and send a command immediately using the magic methods
available on a client object: $client->commandName(/* parameters */).
You can send the command asynchronously (returning a promise) by appending the
word "Async" to the operation name: $client->commandNameAsync(/* parameters */).
- GetListing ( array $params = [] )
- Provides details about a listing, such as descriptions, badges, categories, pricing model summaries, reviews, and associated products and offers.
- GetOffer ( array $params = [] )
- Provides details about an offer, such as the pricing model, seller of record, availability dates, badges, and associated products.
- GetOfferSet ( array $params = [] )
- Provides details about an offer set, which is a bundle of offers across multiple products.
- GetOfferTerms ( array $params = [] )
- Returns the terms attached to an offer, such as pricing terms (usage-based, contract, BYOL, free trial), legal terms, payment schedules, validity terms, support terms, and renewal terms.
- GetProduct ( array $params = [] )
- Provides details about a product, such as descriptions, highlights, categories, fulfillment option summaries, promotional media, and seller engagement options.
- ListFulfillmentOptions ( array $params = [] )
- Returns the fulfillment options available for a product, including deployment details such as version information, operating systems, usage instructions, and release notes.
- ListPurchaseOptions ( array $params = [] )
- Returns the purchase options (offers and offer sets) available to the buyer.
- SearchFacets ( array $params = [] )
- Returns available facet values for filtering listings, such as categories, pricing models, fulfillment option types, publishers, and customer ratings.
- SearchListings ( array $params = [] )
- Returns a list of product listings based on search criteria and filters.
Paginators
Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:
Operations
GetListing
$result = $client->getListing([/* ... */]); $promise = $client->getListingAsync([/* ... */]);
Provides details about a listing, such as descriptions, badges, categories, pricing model summaries, reviews, and associated products and offers.
Parameter Syntax
$result = $client->getListing([
'listingId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- listingId
-
- Required: Yes
- Type: string
The unique identifier of the listing to retrieve.
Result Syntax
[
'associatedEntities' => [
[
'offer' => [
'offerId' => '<string>',
'offerName' => '<string>',
'sellerOfRecord' => [
'displayName' => '<string>',
'sellerProfileId' => '<string>',
],
],
'product' => [
'manufacturer' => [
'displayName' => '<string>',
'sellerProfileId' => '<string>',
],
'productId' => '<string>',
'productName' => '<string>',
],
],
// ...
],
'badges' => [
[
'badgeType' => 'AWS_FREE_TIER|FREE_TRIAL|DEPLOYED_ON_AWS|QUICK_LAUNCH|MULTI_PRODUCT',
'displayName' => '<string>',
],
// ...
],
'catalog' => '<string>',
'categories' => [
[
'categoryId' => '<string>',
'displayName' => '<string>',
],
// ...
],
'fulfillmentOptionSummaries' => [
[
'displayName' => '<string>',
'fulfillmentOptionType' => 'AMAZON_MACHINE_IMAGE|API|CLOUDFORMATION_TEMPLATE|CONTAINER|HELM|EKS_ADD_ON|EC2_IMAGE_BUILDER_COMPONENT|DATA_EXCHANGE|PROFESSIONAL_SERVICES|SAAS|SAGEMAKER_ALGORITHM|SAGEMAKER_MODEL',
],
// ...
],
'highlights' => ['<string>', ...],
'integrationGuide' => '<string>',
'listingId' => '<string>',
'listingName' => '<string>',
'logoThumbnailUrl' => '<string>',
'longDescription' => '<string>',
'pricingModels' => [
[
'displayName' => '<string>',
'pricingModelType' => 'USAGE|CONTRACT|BYOL|FREE',
],
// ...
],
'pricingUnits' => [
[
'displayName' => '<string>',
'pricingUnitType' => 'USERS|HOSTS|BANDWIDTH|DATA|TIERS|REQUESTS|UNITS',
],
// ...
],
'promotionalMedia' => [
[
'embeddedImage' => [
'description' => '<string>',
'title' => '<string>',
'url' => '<string>',
],
'embeddedVideo' => [
'description' => '<string>',
'preview' => '<string>',
'thumbnail' => '<string>',
'title' => '<string>',
'url' => '<string>',
],
],
// ...
],
'publisher' => [
'displayName' => '<string>',
'sellerProfileId' => '<string>',
],
'resources' => [
[
'contentType' => 'EMAIL|PHONE_NUMBER|LINK|OTHER',
'displayName' => '<string>',
'resourceType' => 'MANUFACTURER_SUPPORT|MANUFACTURER_INSTRUCTIONS',
'value' => '<string>',
],
// ...
],
'reviewSummary' => [
'reviewSourceSummaries' => [
[
'averageRating' => '<string>',
'sourceId' => 'AWS_MARKETPLACE',
'sourceName' => '<string>',
'sourceUrl' => '<string>',
'totalReviews' => <integer>,
],
// ...
],
],
'sellerEngagements' => [
[
'contentType' => 'LINK',
'engagementType' => 'REQUEST_FOR_PRIVATE_OFFER|REQUEST_FOR_DEMO',
'value' => '<string>',
],
// ...
],
'shortDescription' => '<string>',
'useCases' => [
[
'useCase' => [
'description' => '<string>',
'displayName' => '<string>',
'value' => '<string>',
],
],
// ...
],
]
Result Details
Members
- associatedEntities
-
- Required: Yes
- Type: Array of ListingAssociatedEntity structures
The products and offers associated with this listing. Each entity contains product and offer information.
- badges
-
- Required: Yes
- Type: Array of ListingBadge structures
Badges indicating special attributes of the listing, such as free tier eligibility, free trial availability, or Quick Launch support.
- catalog
-
- Required: Yes
- Type: string
The name of the catalog that the listing belongs to.
- categories
-
- Required: Yes
- Type: Array of Category structures
The categories used to classify this listing into logical groups.
- fulfillmentOptionSummaries
-
- Required: Yes
- Type: Array of FulfillmentOptionSummary structures
A summary of fulfillment options available for deploying or accessing the listing, such as AMI, SaaS, or Container.
- highlights
-
- Required: Yes
- Type: Array of strings
A list of key features that the listing offers to customers.
- integrationGuide
-
- Type: string
Optional guidance explaining how to use data in this listing. Primarily defines how to integrate with a multi-product listing.
- listingId
-
- Required: Yes
- Type: string
The unique identifier of the listing.
- listingName
-
- Required: Yes
- Type: string
The human-readable display name of the listing.
- logoThumbnailUrl
-
- Required: Yes
- Type: string
The URL of the logo thumbnail image for the listing.
- longDescription
-
- Required: Yes
- Type: string
A detailed description of what the listing offers, in paragraph format.
- pricingModels
-
- Required: Yes
- Type: Array of PricingModel structures
The pricing models for offers associated with this listing, such as usage-based, contract, BYOL, or free.
- pricingUnits
-
- Required: Yes
- Type: Array of PricingUnit structures
The pricing units that define the billing dimensions for offers associated with this listing, such as users, hosts, or data.
- promotionalMedia
-
- Required: Yes
- Type: Array of PromotionalMedia structures
Embedded promotional media provided by the creator of the product, such as images and videos.
- publisher
-
- Required: Yes
- Type: SellerInformation structure
The entity who created and published the listing.
- resources
-
- Required: Yes
- Type: Array of Resource structures
Resources that provide further information about using the product or requesting support, such as documentation links, support contacts, and usage instructions.
- reviewSummary
-
- Type: ReviewSummary structure
A summary of customer reviews available for the listing, including average rating and total review count by source.
- sellerEngagements
-
- Required: Yes
- Type: Array of SellerEngagement structures
Engagement options available to potential buyers, such as requesting a private offer or requesting a demo.
- shortDescription
-
- Required: Yes
- Type: string
A 1–3 sentence summary describing the key aspects of the listing.
- useCases
-
- Required: Yes
- Type: Array of UseCaseEntry structures
Use cases associated with the listing, describing scenarios where the product can be applied.
Errors
- ThrottlingException:
The request was denied due to request throttling.
- AccessDeniedException:
You don't have sufficient access to perform this action.
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- ResourceNotFoundException:
The specified resource doesn't exist.
- InternalServerException:
Unexpected error during processing of the request.
Examples
Example 1: GetListing for SaaS listing
$result = $client->getListing([
'listingId' => 'prodview-sampleSaasId',
]);
Result syntax:
[
'associatedEntities' => [
[
'product' => [
'manufacturer' => [
'displayName' => 'sample SaaS seller',
'sellerProfileId' => 'seller-sampleSaasId',
],
'productId' => 'prod-sampleSaasId',
'productName' => 'sample SaaS product',
],
],
],
'badges' => [
],
'catalog' => 'AWSMarketplace',
'categories' => [
[
'categoryId' => 'developer-tools',
'displayName' => 'Developer Tools',
],
[
'categoryId' => 'ide',
'displayName' => 'IDE',
],
],
'fulfillmentOptionSummaries' => [
[
'displayName' => 'SaaS',
'fulfillmentOptionType' => 'SAAS',
],
],
'highlights' => [
'Automated dev environments',
'Works with any Git repository',
'Secure and compliant',
],
'listingId' => 'prodview-sampleSaasId',
'listingName' => 'sample SaaS listing',
'logoThumbnailUrl' => 'https://example.com/logos/sample-saas-logo.png',
'longDescription' => 'A sample SaaS product that provides automated, ready-to-code development environments in the cloud.',
'pricingModels' => [
[
'displayName' => 'Contract',
'pricingModelType' => 'CONTRACT',
],
],
'pricingUnits' => [
[
'displayName' => 'Users',
'pricingUnitType' => 'USERS',
],
],
'promotionalMedia' => [
[
'embeddedImage' => [
'description' => 'The sample product workspace dashboard',
'title' => 'Sample Dashboard',
'url' => 'https://example.com/screenshots/sample-dashboard.png',
],
],
],
'publisher' => [
'displayName' => 'sample SaaS seller',
'sellerProfileId' => 'seller-sampleSaasId',
],
'resources' => [
[
'value' => 'https://example.com/demo',
'contentType' => 'LINK',
'displayName' => 'Request a Demo',
'resourceType' => 'MANUFACTURER_INSTRUCTIONS',
],
],
'reviewSummary' => [
'reviewSourceSummaries' => [
[
'averageRating' => '4.5',
'sourceId' => 'AWS_MARKETPLACE',
'sourceName' => 'AWS Marketplace',
'sourceUrl' => 'https://aws.amazon.com/marketplace/reviews/prodview-sampleSaasId',
'totalReviews' => 128,
],
],
],
'sellerEngagements' => [
[
'value' => 'https://aws.amazon.com/marketplace/customer-connect/demo/prodview-sampleSaasId',
'contentType' => 'LINK',
'engagementType' => 'REQUEST_FOR_DEMO',
],
[
'value' => 'https://aws.amazon.com/marketplace/customer-connect/private-offer/prodview-sampleSaasId',
'contentType' => 'LINK',
'engagementType' => 'REQUEST_FOR_PRIVATE_OFFER',
],
],
'shortDescription' => 'A sample SaaS product for cloud development environments.',
'useCases' => [
[
'useCase' => [
'value' => 'CONTEXTUAL_ANALYSIS',
'description' => 'Advanced contextual analysis for targeted advertising campaigns',
'displayName' => 'Contextual Analysis',
],
],
],
]
Example 2: GetListing for AMI listing with video
$result = $client->getListing([
'listingId' => 'prodview-sampleAmiId',
]);
Result syntax:
[
'associatedEntities' => [
[
'offer' => [
'offerId' => 'offer-sampleAmiId',
'offerName' => 'sample AMI offer',
'sellerOfRecord' => [
'displayName' => 'sample AMI seller',
'sellerProfileId' => 'seller-sampleAmiId',
],
],
'product' => [
'manufacturer' => [
'displayName' => 'sample AMI seller',
'sellerProfileId' => 'seller-sampleAmiId',
],
'productId' => 'prod-sampleAmiId',
'productName' => 'sample AMI product',
],
],
],
'badges' => [
[
'badgeType' => 'DEPLOYED_ON_AWS',
'displayName' => 'Deployed on AWS',
],
[
'badgeType' => 'QUICK_LAUNCH',
'displayName' => 'Quick Launch',
],
],
'catalog' => 'AWSMarketplace',
'categories' => [
[
'categoryId' => 'infrastructure',
'displayName' => 'Infrastructure Software',
],
[
'categoryId' => 'load-balancing',
'displayName' => 'Load Balancing',
],
],
'fulfillmentOptionSummaries' => [
[
'displayName' => 'SaaS',
'fulfillmentOptionType' => 'SAAS',
],
],
'highlights' => [
'Advanced load balancing',
'API gateway capabilities',
'High availability',
'Real-time monitoring',
],
'listingId' => 'prodview-sampleAmiId',
'listingName' => 'sample AMI listing',
'logoThumbnailUrl' => 'https://example.com/logos/sample-ami-logo.png',
'longDescription' => 'A sample AMI product that provides load balancing, content caching, and API gateway capabilities optimized for cloud-native architectures.',
'pricingModels' => [
[
'displayName' => 'Usage',
'pricingModelType' => 'USAGE',
],
],
'pricingUnits' => [
[
'displayName' => 'Hosts',
'pricingUnitType' => 'HOSTS',
],
],
'promotionalMedia' => [
[
'embeddedVideo' => [
'description' => 'Learn about sample AMI product features',
'preview' => 'https://example.com/videos/sample-cover.png',
'thumbnail' => 'https://example.com/videos/sample-thumb.png',
'title' => 'Sample AMI Product Overview',
'url' => 'https://example.com/videos/sample-overview.mp4',
],
],
],
'publisher' => [
'displayName' => 'sample AMI seller',
'sellerProfileId' => 'seller-sampleAmiId',
],
'resources' => [
[
'value' => 'https://example.com/request-demo',
'contentType' => 'LINK',
'displayName' => 'Request Demo',
'resourceType' => 'MANUFACTURER_INSTRUCTIONS',
],
[
'value' => 'https://example.com/docs',
'contentType' => 'LINK',
'displayName' => 'Documentation',
'resourceType' => 'MANUFACTURER_SUPPORT',
],
],
'reviewSummary' => [
'reviewSourceSummaries' => [
[
'averageRating' => '4.8',
'sourceId' => 'AWS_MARKETPLACE',
'sourceName' => 'AWS Marketplace',
'sourceUrl' => 'https://aws.amazon.com/marketplace/reviews/prodview-sampleAmiId',
'totalReviews' => 542,
],
],
],
'sellerEngagements' => [
[
'value' => 'https://aws.amazon.com/marketplace/customer-connect/demo/prodview-sampleAmiId',
'contentType' => 'LINK',
'engagementType' => 'REQUEST_FOR_DEMO',
],
[
'value' => 'https://aws.amazon.com/marketplace/customer-connect/private-offer/prodview-sampleAmiId',
'contentType' => 'LINK',
'engagementType' => 'REQUEST_FOR_PRIVATE_OFFER',
],
],
'shortDescription' => 'A sample high-performance load balancer and web server.',
'useCases' => [
[
'useCase' => [
'value' => 'CONTEXTUAL_ANALYSIS',
'description' => 'Advanced contextual analysis for targeted advertising campaigns',
'displayName' => 'Contextual Analysis',
],
],
],
]
Example 3: GetListing for multi-product listing
$result = $client->getListing([
'listingId' => 'prodview-sampleMultiProductId',
]);
Result syntax:
[
'associatedEntities' => [
[
'product' => [
'manufacturer' => [
'displayName' => 'sample multi-product seller',
'sellerProfileId' => 'seller-sampleMultiProductId',
],
'productId' => 'prod-sampleMultiProduct1Id',
'productName' => 'sample multi-product 1',
],
],
[
'product' => [
'manufacturer' => [
'displayName' => 'sample multi-product seller 2',
'sellerProfileId' => 'seller-sampleMultiProduct2Id',
],
'productId' => 'prod-sampleMultiProduct2Id',
'productName' => 'sample multi-product 2',
],
],
],
'badges' => [
[
'badgeType' => 'DEPLOYED_ON_AWS',
'displayName' => 'Deployed on AWS',
],
[
'badgeType' => 'MULTI_PRODUCT',
'displayName' => 'Multi-product',
],
],
'catalog' => 'AWSMarketplace',
'categories' => [
],
'fulfillmentOptionSummaries' => [
[
'displayName' => 'SaaS',
'fulfillmentOptionType' => 'SAAS',
],
],
'highlights' => [
],
'integrationGuide' => 'To add the remote Box MCP server in Amazon Quick Suite, follow these steps: In the Amazon Quick Suite console, choose Integrations and create new integration by choosing Model Content Protocol.',
'listingId' => 'prodview-sampleMultiProductId',
'listingName' => 'sample multi-product listing',
'logoThumbnailUrl' => 'https://example.com/logos/sample-multi-product-logo.png',
'longDescription' => 'A sample multi-product listing that connects content management with a unified AI platform. Users can securely search, analyze, and extract valuable insights from their files.',
'pricingModels' => [
[
'displayName' => 'Free',
'pricingModelType' => 'FREE',
],
],
'pricingUnits' => [
],
'promotionalMedia' => [
],
'publisher' => [
'displayName' => 'sample multi-product seller',
'sellerProfileId' => 'seller-sampleMultiProductId',
],
'resources' => [
[
'value' => 'https://developer.box.com/guides/box-mcp/remote/#amazon-quick-suite',
'contentType' => 'LINK',
'displayName' => 'Developer Documentation',
'resourceType' => 'MANUFACTURER_INSTRUCTIONS',
],
],
'reviewSummary' => [
'reviewSourceSummaries' => [
],
],
'sellerEngagements' => [
[
'value' => 'https://aws.amazon.com/marketplace/customer-connect/demo/prodview-sampleMultiProductId',
'contentType' => 'LINK',
'engagementType' => 'REQUEST_FOR_DEMO',
],
[
'value' => 'https://aws.amazon.com/marketplace/customer-connect/private-offer/prodview-sampleMultiProductId',
'contentType' => 'LINK',
'engagementType' => 'REQUEST_FOR_PRIVATE_OFFER',
],
],
'shortDescription' => 'A sample multi-product listing that delivers a unified experience with AI.',
'useCases' => [
[
'useCase' => [
'value' => 'content_management_system',
'description' => 'This integration allows enterprises to securely access and interact with content in Box directly from the Amazon Quick Suite chat experience.',
'displayName' => 'Content Management System',
],
],
[
'useCase' => [
'value' => 'intelligent_document_processing',
'description' => 'Build automated workflows and design custom AI agents for context-aware document processing.',
'displayName' => 'Intelligent Document Processing',
],
],
],
]
GetOffer
$result = $client->getOffer([/* ... */]); $promise = $client->getOfferAsync([/* ... */]);
Provides details about an offer, such as the pricing model, seller of record, availability dates, badges, and associated products.
Parameter Syntax
$result = $client->getOffer([
'offerId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- offerId
-
- Required: Yes
- Type: string
The unique identifier of the offer to retrieve.
Result Syntax
[
'agreementProposalId' => '<string>',
'associatedEntities' => [
[
'offerSet' => [
'offerSetId' => '<string>',
'sellerOfRecord' => [
'displayName' => '<string>',
'sellerProfileId' => '<string>',
],
],
'product' => [
'manufacturer' => [
'displayName' => '<string>',
'sellerProfileId' => '<string>',
],
'productId' => '<string>',
'productName' => '<string>',
],
],
// ...
],
'availableFromTime' => <DateTime>,
'badges' => [
[
'badgeType' => 'PRIVATE_PRICING|FUTURE_DATED|REPLACEMENT_OFFER',
'displayName' => '<string>',
],
// ...
],
'catalog' => '<string>',
'expirationTime' => <DateTime>,
'offerId' => '<string>',
'offerName' => '<string>',
'pricingModel' => [
'displayName' => '<string>',
'pricingModelType' => 'USAGE|CONTRACT|BYOL|FREE',
],
'replacementAgreementId' => '<string>',
'sellerOfRecord' => [
'displayName' => '<string>',
'sellerProfileId' => '<string>',
],
]
Result Details
Members
- agreementProposalId
-
- Required: Yes
- Type: string
An encoded string to be passed by the acceptor of the terms when creating an agreement.
- associatedEntities
-
- Required: Yes
- Type: Array of OfferAssociatedEntity structures
The products and offer sets associated with this offer.
- availableFromTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the offer became available to the buyer.
- badges
-
- Required: Yes
- Type: Array of PurchaseOptionBadge structures
Badges indicating special attributes of the offer, such as private pricing, future dated, or replacement offer.
- catalog
-
- Required: Yes
- Type: string
The name of the catalog that the offer belongs to.
- expirationTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time until when the offer can be procured. This value is null for offers that never expire.
- offerId
-
- Required: Yes
- Type: string
The unique identifier of the offer.
- offerName
-
- Type: string
The display name of the offer. This is free-form text provided by the seller.
- pricingModel
-
- Required: Yes
- Type: PricingModel structure
The pricing model that determines how buyers are charged, such as usage-based, contract, BYOL, or free.
- replacementAgreementId
-
- Type: string
The identifier of the existing agreement that this offer would replace. Enables agreement-based offer functionality.
- sellerOfRecord
-
- Required: Yes
- Type: SellerInformation structure
The entity responsible for selling the product under this offer.
Errors
- ThrottlingException:
The request was denied due to request throttling.
- AccessDeniedException:
You don't have sufficient access to perform this action.
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- ResourceNotFoundException:
The specified resource doesn't exist.
- InternalServerException:
Unexpected error during processing of the request.
Examples
Example 1: Invoke GetOffer for Contract Pricing offer
$result = $client->getOffer([
'offerId' => 'offer-sampleContractId',
]);
Result syntax:
[
'agreementProposalId' => 'at-sampleToken',
'associatedEntities' => [
[
'offerSet' => [
'offerSetId' => 'offerset-sampleId',
'sellerOfRecord' => [
'displayName' => 'sample contract seller',
'sellerProfileId' => 'seller-sampleContractId',
],
],
'product' => [
'manufacturer' => [
'displayName' => 'sample contract seller',
'sellerProfileId' => 'seller-sampleContractId',
],
'productId' => 'prod-sampleContractId',
'productName' => 'sample contract product',
],
],
],
'availableFromTime' => ,
'badges' => [
[
'badgeType' => 'PRIVATE_PRICING',
'displayName' => 'Private Pricing',
],
[
'badgeType' => 'REPLACEMENT_OFFER',
'displayName' => 'Replacement Offer',
],
],
'catalog' => 'AWSMarketplace',
'expirationTime' => ,
'offerId' => 'offer-sampleContractId',
'offerName' => 'sample contract offer',
'pricingModel' => [
'displayName' => 'Contract',
'pricingModelType' => 'CONTRACT',
],
'replacementAgreementId' => 'agmt-sampleId',
'sellerOfRecord' => [
'displayName' => 'sample contract seller',
'sellerProfileId' => 'seller-sampleContractId',
],
]
Example 2: Invoke GetOffer for Usage Pricing offer
$result = $client->getOffer([
'offerId' => 'offer-sampleUsageId',
]);
Result syntax:
[
'agreementProposalId' => 'at-sampleToken',
'associatedEntities' => [
[
'product' => [
'manufacturer' => [
'displayName' => 'sample usage seller',
'sellerProfileId' => 'seller-sampleUsageId',
],
'productId' => 'prod-sampleUsageId',
'productName' => 'sample usage product',
],
],
],
'badges' => [
[
'badgeType' => 'FUTURE_DATED',
'displayName' => 'Future Dated',
],
],
'catalog' => 'AWSMarketplace',
'expirationTime' => ,
'offerId' => 'offer-sampleUsageId',
'offerName' => 'sample usage offer',
'pricingModel' => [
'displayName' => 'Usage',
'pricingModelType' => 'USAGE',
],
'replacementAgreementId' => 'agmt-sampleId',
'sellerOfRecord' => [
'displayName' => 'sample usage seller',
'sellerProfileId' => 'seller-sampleUsageId',
],
]
Example 3: Invoke GetOffer for BYOL Pricing offer
$result = $client->getOffer([
'offerId' => 'offer-sampleByolId',
]);
Result syntax:
[
'agreementProposalId' => 'at-sampleToken',
'associatedEntities' => [
[
'product' => [
'manufacturer' => [
'displayName' => 'sample BYOL seller',
'sellerProfileId' => 'seller-sampleByolId',
],
'productId' => 'prod-sampleByolId',
'productName' => 'sample BYOL product',
],
],
],
'badges' => [
],
'catalog' => 'AWSMarketplace',
'expirationTime' => ,
'offerId' => 'offer-sampleByolId',
'offerName' => 'sample BYOL offer',
'pricingModel' => [
'displayName' => 'Bring Your Own License',
'pricingModelType' => 'BYOL',
],
'replacementAgreementId' => 'agmt-sampleId',
'sellerOfRecord' => [
'displayName' => 'sample BYOL seller',
'sellerProfileId' => 'seller-sampleByolId',
],
]
Example 4: Invoke GetOffer for FREE Pricing offer
$result = $client->getOffer([
'offerId' => 'offer-sampleFreeId',
]);
Result syntax:
[
'agreementProposalId' => 'at-sampleToken',
'associatedEntities' => [
[
'product' => [
'manufacturer' => [
'displayName' => 'sample free seller',
'sellerProfileId' => 'seller-sampleFreeId',
],
'productId' => 'prod-sampleFreeId',
'productName' => 'sample free product',
],
],
],
'badges' => [
],
'catalog' => 'AWSMarketplace',
'expirationTime' => ,
'offerId' => 'offer-sampleFreeId',
'offerName' => 'sample free offer',
'pricingModel' => [
'displayName' => 'Free',
'pricingModelType' => 'FREE',
],
'replacementAgreementId' => 'agmt-sampleId',
'sellerOfRecord' => [
'displayName' => 'sample free seller',
'sellerProfileId' => 'seller-sampleFreeId',
],
]
GetOfferSet
$result = $client->getOfferSet([/* ... */]); $promise = $client->getOfferSetAsync([/* ... */]);
Provides details about an offer set, which is a bundle of offers across multiple products. Includes the seller, availability dates, buyer notes, and associated product-offer pairs.
Parameter Syntax
$result = $client->getOfferSet([
'offerSetId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- offerSetId
-
- Required: Yes
- Type: string
The unique identifier of the offer set to retrieve.
Result Syntax
[
'associatedEntities' => [
[
'offer' => [
'offerId' => '<string>',
'offerName' => '<string>',
'sellerOfRecord' => [
'displayName' => '<string>',
'sellerProfileId' => '<string>',
],
],
'product' => [
'manufacturer' => [
'displayName' => '<string>',
'sellerProfileId' => '<string>',
],
'productId' => '<string>',
'productName' => '<string>',
],
],
// ...
],
'availableFromTime' => <DateTime>,
'badges' => [
[
'badgeType' => 'PRIVATE_PRICING|FUTURE_DATED|REPLACEMENT_OFFER',
'displayName' => '<string>',
],
// ...
],
'buyerNotes' => '<string>',
'catalog' => '<string>',
'expirationTime' => <DateTime>,
'offerSetId' => '<string>',
'offerSetName' => '<string>',
'sellerOfRecord' => [
'displayName' => '<string>',
'sellerProfileId' => '<string>',
],
]
Result Details
Members
- associatedEntities
-
- Required: Yes
- Type: Array of OfferSetAssociatedEntity structures
The products and offers included in this offer set.
- availableFromTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the offer set became available to the buyer.
- badges
-
- Required: Yes
- Type: Array of PurchaseOptionBadge structures
Badges indicating special attributes of the offer set, such as private pricing or future dated.
- buyerNotes
-
- Type: string
Detailed information about the offer set that helps buyers understand its purpose and contents.
- catalog
-
- Required: Yes
- Type: string
The name of the catalog that the offer set belongs to.
- expirationTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the offer set expires and is no longer available for procurement.
- offerSetId
-
- Required: Yes
- Type: string
The unique identifier of the offer set.
- offerSetName
-
- Type: string
The display name of the offer set.
- sellerOfRecord
-
- Required: Yes
- Type: SellerInformation structure
The entity responsible for selling the products under this offer set.
Errors
- ThrottlingException:
The request was denied due to request throttling.
- AccessDeniedException:
You don't have sufficient access to perform this action.
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- ResourceNotFoundException:
The specified resource doesn't exist.
- InternalServerException:
Unexpected error during processing of the request.
Examples
Example 1: Get offer set with multiple products
$result = $client->getOfferSet([
'offerSetId' => 'offerset-sampleId',
]);
Result syntax:
[
'associatedEntities' => [
[
'offer' => [
'offerId' => 'offer-sampleId1',
'offerName' => 'sample offer name 1',
'sellerOfRecord' => [
'displayName' => 'sample reseller',
'sellerProfileId' => 'seller-sampleResellerId',
],
],
'product' => [
'manufacturer' => [
'displayName' => 'sample seller name 1',
'sellerProfileId' => 'seller-sampleId1',
],
'productId' => 'prod-sampleId1',
'productName' => 'sample product name 1',
],
],
[
'offer' => [
'offerId' => 'offer-sampleId2',
'offerName' => 'sample offer name 2',
'sellerOfRecord' => [
'displayName' => 'sample reseller',
'sellerProfileId' => 'seller-sampleResellerId',
],
],
'product' => [
'manufacturer' => [
'displayName' => 'sample seller name 2',
'sellerProfileId' => 'seller-sampleId2',
],
'productId' => 'prod-sampleId2',
'productName' => 'sample product name 2',
],
],
],
'availableFromTime' => ,
'badges' => [
[
'badgeType' => 'PRIVATE_PRICING',
'displayName' => 'Private Pricing',
],
],
'buyerNotes' => 'This bundle includes CrowdStrike Falcon and Splunk Enterprise for comprehensive security monitoring.',
'catalog' => 'AWSMarketplace',
'expirationTime' => ,
'offerSetId' => 'offerset-sampleId',
'offerSetName' => 'sample offer set',
'sellerOfRecord' => [
'displayName' => 'sample reseller',
'sellerProfileId' => 'seller-sampleResellerId',
],
]
GetOfferTerms
$result = $client->getOfferTerms([/* ... */]); $promise = $client->getOfferTermsAsync([/* ... */]);
Returns the terms attached to an offer, such as pricing terms (usage-based, contract, BYOL, free trial), legal terms, payment schedules, validity terms, support terms, and renewal terms.
Parameter Syntax
$result = $client->getOfferTerms([
'maxResults' => <integer>,
'nextToken' => '<string>',
'offerId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- maxResults
-
- Type: int
The maximum number of results that are returned per call. You can use
nextTokento get more results. - nextToken
-
- Type: string
If
nextTokenis returned, there are more results available. Make the call again using the returned token to retrieve the next page. - offerId
-
- Required: Yes
- Type: string
The unique identifier of the offer whose terms to retrieve.
Result Syntax
[
'nextToken' => '<string>',
'offerTerms' => [
[
'byolPricingTerm' => [
'id' => '<string>',
'type' => 'ByolPricingTerm|ConfigurableUpfrontPricingTerm|FixedUpfrontPricingTerm|UsageBasedPricingTerm|FreeTrialPricingTerm|LegalTerm|PaymentScheduleTerm|RecurringPaymentTerm|RenewalTerm|SupportTerm|ValidityTerm|VariablePaymentTerm',
],
'configurableUpfrontPricingTerm' => [
'currencyCode' => '<string>',
'id' => '<string>',
'rateCards' => [
[
'constraints' => [
'multipleDimensionSelection' => 'Allowed|Disallowed',
'quantityConfiguration' => 'Allowed|Disallowed',
],
'rateCard' => [
[
'description' => '<string>',
'dimensionKey' => '<string>',
'dimensionLabels' => [
[
'displayName' => '<string>',
'labelType' => 'Region|SagemakerOption',
'labelValue' => '<string>',
],
// ...
],
'displayName' => '<string>',
'price' => '<string>',
'unit' => '<string>',
],
// ...
],
'selector' => [
'type' => 'Duration',
'value' => '<string>',
],
],
// ...
],
'type' => 'ByolPricingTerm|ConfigurableUpfrontPricingTerm|FixedUpfrontPricingTerm|UsageBasedPricingTerm|FreeTrialPricingTerm|LegalTerm|PaymentScheduleTerm|RecurringPaymentTerm|RenewalTerm|SupportTerm|ValidityTerm|VariablePaymentTerm',
],
'fixedUpfrontPricingTerm' => [
'currencyCode' => '<string>',
'duration' => '<string>',
'grants' => [
[
'description' => '<string>',
'dimensionKey' => '<string>',
'dimensionLabels' => [
[
'displayName' => '<string>',
'labelType' => 'Region|SagemakerOption',
'labelValue' => '<string>',
],
// ...
],
'displayName' => '<string>',
'maxQuantity' => <integer>,
'unit' => '<string>',
],
// ...
],
'id' => '<string>',
'price' => '<string>',
'type' => 'ByolPricingTerm|ConfigurableUpfrontPricingTerm|FixedUpfrontPricingTerm|UsageBasedPricingTerm|FreeTrialPricingTerm|LegalTerm|PaymentScheduleTerm|RecurringPaymentTerm|RenewalTerm|SupportTerm|ValidityTerm|VariablePaymentTerm',
],
'freeTrialPricingTerm' => [
'duration' => '<string>',
'grants' => [
[
'description' => '<string>',
'dimensionKey' => '<string>',
'dimensionLabels' => [
[
'displayName' => '<string>',
'labelType' => 'Region|SagemakerOption',
'labelValue' => '<string>',
],
// ...
],
'displayName' => '<string>',
'maxQuantity' => <integer>,
'unit' => '<string>',
],
// ...
],
'id' => '<string>',
'type' => 'ByolPricingTerm|ConfigurableUpfrontPricingTerm|FixedUpfrontPricingTerm|UsageBasedPricingTerm|FreeTrialPricingTerm|LegalTerm|PaymentScheduleTerm|RecurringPaymentTerm|RenewalTerm|SupportTerm|ValidityTerm|VariablePaymentTerm',
],
'legalTerm' => [
'documents' => [
[
'type' => 'CustomEula|CustomDsa|EnterpriseEula|StandardEula|StandardDsa',
'url' => '<string>',
'version' => '<string>',
],
// ...
],
'id' => '<string>',
'type' => 'ByolPricingTerm|ConfigurableUpfrontPricingTerm|FixedUpfrontPricingTerm|UsageBasedPricingTerm|FreeTrialPricingTerm|LegalTerm|PaymentScheduleTerm|RecurringPaymentTerm|RenewalTerm|SupportTerm|ValidityTerm|VariablePaymentTerm',
],
'paymentScheduleTerm' => [
'currencyCode' => '<string>',
'id' => '<string>',
'schedule' => [
[
'chargeAmount' => '<string>',
'chargeDate' => <DateTime>,
],
// ...
],
'type' => 'ByolPricingTerm|ConfigurableUpfrontPricingTerm|FixedUpfrontPricingTerm|UsageBasedPricingTerm|FreeTrialPricingTerm|LegalTerm|PaymentScheduleTerm|RecurringPaymentTerm|RenewalTerm|SupportTerm|ValidityTerm|VariablePaymentTerm',
],
'recurringPaymentTerm' => [
'billingPeriod' => 'Monthly',
'currencyCode' => '<string>',
'id' => '<string>',
'price' => '<string>',
'type' => 'ByolPricingTerm|ConfigurableUpfrontPricingTerm|FixedUpfrontPricingTerm|UsageBasedPricingTerm|FreeTrialPricingTerm|LegalTerm|PaymentScheduleTerm|RecurringPaymentTerm|RenewalTerm|SupportTerm|ValidityTerm|VariablePaymentTerm',
],
'renewalTerm' => [
'id' => '<string>',
'type' => 'ByolPricingTerm|ConfigurableUpfrontPricingTerm|FixedUpfrontPricingTerm|UsageBasedPricingTerm|FreeTrialPricingTerm|LegalTerm|PaymentScheduleTerm|RecurringPaymentTerm|RenewalTerm|SupportTerm|ValidityTerm|VariablePaymentTerm',
],
'supportTerm' => [
'id' => '<string>',
'refundPolicy' => '<string>',
'type' => 'ByolPricingTerm|ConfigurableUpfrontPricingTerm|FixedUpfrontPricingTerm|UsageBasedPricingTerm|FreeTrialPricingTerm|LegalTerm|PaymentScheduleTerm|RecurringPaymentTerm|RenewalTerm|SupportTerm|ValidityTerm|VariablePaymentTerm',
],
'usageBasedPricingTerm' => [
'currencyCode' => '<string>',
'id' => '<string>',
'rateCards' => [
[
'rateCard' => [
[
'description' => '<string>',
'dimensionKey' => '<string>',
'dimensionLabels' => [
[
'displayName' => '<string>',
'labelType' => 'Region|SagemakerOption',
'labelValue' => '<string>',
],
// ...
],
'displayName' => '<string>',
'price' => '<string>',
'unit' => '<string>',
],
// ...
],
],
// ...
],
'type' => 'ByolPricingTerm|ConfigurableUpfrontPricingTerm|FixedUpfrontPricingTerm|UsageBasedPricingTerm|FreeTrialPricingTerm|LegalTerm|PaymentScheduleTerm|RecurringPaymentTerm|RenewalTerm|SupportTerm|ValidityTerm|VariablePaymentTerm',
],
'validityTerm' => [
'agreementDuration' => '<string>',
'agreementEndDate' => <DateTime>,
'agreementStartDate' => <DateTime>,
'id' => '<string>',
'type' => 'ByolPricingTerm|ConfigurableUpfrontPricingTerm|FixedUpfrontPricingTerm|UsageBasedPricingTerm|FreeTrialPricingTerm|LegalTerm|PaymentScheduleTerm|RecurringPaymentTerm|RenewalTerm|SupportTerm|ValidityTerm|VariablePaymentTerm',
],
'variablePaymentTerm' => [
'currencyCode' => '<string>',
'id' => '<string>',
'maxTotalChargeAmount' => '<string>',
'type' => 'ByolPricingTerm|ConfigurableUpfrontPricingTerm|FixedUpfrontPricingTerm|UsageBasedPricingTerm|FreeTrialPricingTerm|LegalTerm|PaymentScheduleTerm|RecurringPaymentTerm|RenewalTerm|SupportTerm|ValidityTerm|VariablePaymentTerm',
],
],
// ...
],
]
Result Details
Members
- nextToken
-
- Type: string
If
nextTokenis returned, there are more results available. Make the call again using the returned token to retrieve the next page. - offerTerms
-
- Required: Yes
- Type: Array of OfferTerm structures
The terms attached to the offer. Each element contains exactly one term type.
Errors
- ThrottlingException:
The request was denied due to request throttling.
- AccessDeniedException:
You don't have sufficient access to perform this action.
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- ResourceNotFoundException:
The specified resource doesn't exist.
- InternalServerException:
Unexpected error during processing of the request.
Examples
Example 1: GetOfferTerms for Usage-based ML Model offer
$result = $client->getOfferTerms([
'offerId' => 'offer-sampleUsageBasedId',
]);
Result syntax:
[
'offerTerms' => [
[
'usageBasedPricingTerm' => [
'type' => 'UsageBasedPricingTerm',
'currencyCode' => 'USD',
'id' => 'term-sampleUsageBasedPricingId',
'rateCards' => [
[
'rateCard' => [
[
'description' => 'Model inference on the ml.m5.2xlarge instance type, batch mode',
'dimensionKey' => 'ml.m5.2xlarge.m.i.b',
'dimensionLabels' => [
[
'displayName' => 'Model Batch Transform',
'labelType' => 'SagemakerOption',
'labelValue' => 'Model Batch Transform',
],
],
'displayName' => 'ml.m5.2xlarge Inference (Batch)',
'price' => '2.00000000',
'unit' => 'HostHrs',
],
[
'description' => 'Model inference on the ml.m5.2xlarge instance type, real-time mode',
'dimensionKey' => 'ml.m5.2xlarge.m.i.r',
'dimensionLabels' => [
[
'displayName' => 'Model Real-Time Inference',
'labelType' => 'SagemakerOption',
'labelValue' => 'Model Real-Time Inference',
],
],
'displayName' => 'ml.m5.2xlarge Inference (Real-Time)',
'price' => '2.00000000',
'unit' => 'HostHrs',
],
[
'description' => 'Model inference on the ml.m5.large instance type, batch mode',
'dimensionKey' => 'ml.m5.large.m.i.b',
'dimensionLabels' => [
[
'displayName' => 'Model Batch Transform',
'labelType' => 'SagemakerOption',
'labelValue' => 'Model Batch Transform',
],
],
'displayName' => 'ml.m5.large Inference (Batch)',
'price' => '2.00000000',
'unit' => 'HostHrs',
],
[
'description' => 'Model inference on the ml.m5.large instance type, real-time mode',
'dimensionKey' => 'ml.m5.large.m.i.r',
'dimensionLabels' => [
[
'displayName' => 'Model Real-Time Inference',
'labelType' => 'SagemakerOption',
'labelValue' => 'Model Real-Time Inference',
],
],
'displayName' => 'ml.m5.large Inference (Real-Time)',
'price' => '2.00000000',
'unit' => 'HostHrs',
],
],
],
],
],
],
[
'fixedUpfrontPricingTerm' => [
'type' => 'FixedUpfrontPricingTerm',
'currencyCode' => 'USD',
'duration' => 'P365D',
'grants' => [
[
'description' => 'Model inference on the ml.m5.2xlarge instance type, batch mode',
'dimensionKey' => 'ml.m5.2xlarge.m.i.b',
'dimensionLabels' => [
[
'displayName' => 'Model Batch Transform',
'labelType' => 'SagemakerOption',
'labelValue' => 'Model Batch Transform',
],
],
'displayName' => 'ml.m5.2xlarge Inference (Batch)',
'maxQuantity' => 2147483647,
'unit' => 'HostHrs',
],
[
'description' => 'Model inference on the ml.m5.2xlarge instance type, real-time mode',
'dimensionKey' => 'ml.m5.2xlarge.m.i.r',
'dimensionLabels' => [
[
'displayName' => 'Model Real-Time Inference',
'labelType' => 'SagemakerOption',
'labelValue' => 'Model Real-Time Inference',
],
],
'displayName' => 'ml.m5.2xlarge Inference (Real-Time)',
'maxQuantity' => 2147483647,
'unit' => 'HostHrs',
],
[
'description' => 'Model inference on the ml.m5.large instance type, batch mode',
'dimensionKey' => 'ml.m5.large.m.i.b',
'dimensionLabels' => [
[
'displayName' => 'Model Batch Transform',
'labelType' => 'SagemakerOption',
'labelValue' => 'Model Batch Transform',
],
],
'displayName' => 'ml.m5.large Inference (Batch)',
'maxQuantity' => 2147483647,
'unit' => 'HostHrs',
],
[
'description' => 'Model inference on the ml.m5.large instance type, real-time mode',
'dimensionKey' => 'ml.m5.large.m.i.r',
'dimensionLabels' => [
[
'displayName' => 'Model Real-Time Inference',
'labelType' => 'SagemakerOption',
'labelValue' => 'Model Real-Time Inference',
],
],
'displayName' => 'ml.m5.large Inference (Real-Time)',
'maxQuantity' => 2147483647,
'unit' => 'HostHrs',
],
],
'id' => 'term-sampleFixedUpfrontPricingId',
'price' => '0.00000000',
],
],
[
'legalTerm' => [
'type' => 'LegalTerm',
'documents' => [
[
'type' => 'StandardEula',
'url' => 'https://example.com/legal/standard-eula',
],
],
'id' => 'term-sampleLegalId',
],
],
[
'validityTerm' => [
'type' => 'ValidityTerm',
'agreementDuration' => 'P2011D',
'id' => 'term-sampleValidityId',
],
],
[
'paymentScheduleTerm' => [
'type' => 'PaymentScheduleTerm',
'currencyCode' => 'USD',
'id' => 'term-samplePaymentScheduleId',
'schedule' => [
[
'chargeAmount' => '5.00000000',
'chargeDate' => ,
],
],
],
],
],
]
Example 2: GetOfferTerms for BYOL offer
$result = $client->getOfferTerms([
'offerId' => 'offer-sampleByolId',
]);
Result syntax:
[
'offerTerms' => [
[
'byolPricingTerm' => [
'type' => 'ByolPricingTerm',
'id' => 'term-byol-001',
],
],
[
'legalTerm' => [
'type' => 'LegalTerm',
'documents' => [
[
'type' => 'CustomEula',
'url' => 'https://example.com/eula',
],
],
'id' => 'term-legal-003',
],
],
],
]
Example 3: GetOfferTerms for configurable upfront pricing
$result = $client->getOfferTerms([
'offerId' => 'offer-sampleConfigUpfrontId',
]);
Result syntax:
[
'offerTerms' => [
[
'configurableUpfrontPricingTerm' => [
'type' => 'ConfigurableUpfrontPricingTerm',
'currencyCode' => 'USD',
'id' => 'term-config-001',
'rateCards' => [
[
'constraints' => [
'multipleDimensionSelection' => 'Allowed',
'quantityConfiguration' => 'Allowed',
],
'rateCard' => [
[
'dimensionKey' => 'api_calls_us_east_1',
'dimensionLabels' => [
[
'displayName' => 'US East (N. Virginia)',
'labelType' => 'Region',
'labelValue' => 'us-east-1',
],
],
'displayName' => 'API Calls (US East)',
'price' => '0.001',
'unit' => 'Requests',
],
[
'dimensionKey' => 'api_calls_us_west_2',
'dimensionLabels' => [
[
'displayName' => 'US West (Oregon)',
'labelType' => 'Region',
'labelValue' => 'us-west-2',
],
],
'displayName' => 'API Calls (US West)',
'price' => '0.001',
'unit' => 'Requests',
],
],
'selector' => [
'type' => 'Duration',
'value' => 'P12M',
],
],
],
],
],
],
]
Example 4: GetOfferTerms for free trial offer
$result = $client->getOfferTerms([
'offerId' => 'offer-sampleFreeTrialId',
]);
Result syntax:
[
'offerTerms' => [
[
'freeTrialPricingTerm' => [
'type' => 'FreeTrialPricingTerm',
'duration' => 'P30D',
'grants' => [
[
'dimensionKey' => 'ml.m5.large.m.i.r',
'dimensionLabels' => [
[
'displayName' => 'Model Real-Time Inference',
'labelType' => 'SagemakerOption',
'labelValue' => 'Model Real-Time Inference',
],
],
'displayName' => 'ml.m5.large Inference (Real-Time)',
'maxQuantity' => 100,
'unit' => 'HostHrs',
],
],
'id' => 'term-trial-001',
],
],
],
]
Example 5: GetOfferTerms for recurring payment
$result = $client->getOfferTerms([
'offerId' => 'offer-sampleRecurringId',
]);
Result syntax:
[
'offerTerms' => [
[
'recurringPaymentTerm' => [
'type' => 'RecurringPaymentTerm',
'billingPeriod' => 'Monthly',
'currencyCode' => 'USD',
'id' => 'term-recurring-001',
'price' => '99.00',
],
],
],
]
Example 6: GetOfferTerms for variable payment
$result = $client->getOfferTerms([
'offerId' => 'offer-sampleVariableId',
]);
Result syntax:
[
'offerTerms' => [
[
'variablePaymentTerm' => [
'type' => 'VariablePaymentTerm',
'currencyCode' => 'USD',
'id' => 'term-variable-001',
'maxTotalChargeAmount' => '10000.00',
],
],
],
]
Example 7: GetOfferTerms for renewal term
$result = $client->getOfferTerms([
'offerId' => 'offer-sampleRenewalId',
]);
Result syntax:
[
'offerTerms' => [
[
'renewalTerm' => [
'type' => 'RenewalTerm',
'id' => 'term-renewal-001',
],
],
],
]
Example 8: GetOfferTerms for support term
$result = $client->getOfferTerms([
'offerId' => 'offer-sampleSupportId',
]);
Result syntax:
[
'offerTerms' => [
[
'supportTerm' => [
'type' => 'SupportTerm',
'id' => 'term-support-001',
'refundPolicy' => '30-day money back guarantee',
],
],
],
]
Example 9: GetOfferTerms for validity term with dates
$result = $client->getOfferTerms([
'offerId' => 'offer-sampleValidityId',
]);
Result syntax:
[
'offerTerms' => [
[
'validityTerm' => [
'type' => 'ValidityTerm',
'agreementDuration' => 'P365D',
'agreementEndDate' => ,
'agreementStartDate' => ,
'id' => 'term-validity-001',
],
],
],
]
GetProduct
$result = $client->getProduct([/* ... */]); $promise = $client->getProductAsync([/* ... */]);
Provides details about a product, such as descriptions, highlights, categories, fulfillment option summaries, promotional media, and seller engagement options.
Parameter Syntax
$result = $client->getProduct([
'productId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- productId
-
- Required: Yes
- Type: string
The unique identifier of the product to retrieve.
Result Syntax
[
'catalog' => '<string>',
'categories' => [
[
'categoryId' => '<string>',
'displayName' => '<string>',
],
// ...
],
'deployedOnAws' => 'DEPLOYED|NOT_DEPLOYED|NOT_APPLICABLE',
'fulfillmentOptionSummaries' => [
[
'displayName' => '<string>',
'fulfillmentOptionType' => 'AMAZON_MACHINE_IMAGE|API|CLOUDFORMATION_TEMPLATE|CONTAINER|HELM|EKS_ADD_ON|EC2_IMAGE_BUILDER_COMPONENT|DATA_EXCHANGE|PROFESSIONAL_SERVICES|SAAS|SAGEMAKER_ALGORITHM|SAGEMAKER_MODEL',
],
// ...
],
'highlights' => ['<string>', ...],
'logoThumbnailUrl' => '<string>',
'longDescription' => '<string>',
'manufacturer' => [
'displayName' => '<string>',
'sellerProfileId' => '<string>',
],
'productId' => '<string>',
'productName' => '<string>',
'promotionalMedia' => [
[
'embeddedImage' => [
'description' => '<string>',
'title' => '<string>',
'url' => '<string>',
],
'embeddedVideo' => [
'description' => '<string>',
'preview' => '<string>',
'thumbnail' => '<string>',
'title' => '<string>',
'url' => '<string>',
],
],
// ...
],
'resources' => [
[
'contentType' => 'EMAIL|PHONE_NUMBER|LINK|OTHER',
'displayName' => '<string>',
'resourceType' => 'MANUFACTURER_SUPPORT|MANUFACTURER_INSTRUCTIONS',
'value' => '<string>',
],
// ...
],
'sellerEngagements' => [
[
'contentType' => 'LINK',
'engagementType' => 'REQUEST_FOR_PRIVATE_OFFER|REQUEST_FOR_DEMO',
'value' => '<string>',
],
// ...
],
'shortDescription' => '<string>',
]
Result Details
Members
- catalog
-
- Required: Yes
- Type: string
The name of the catalog that the product belongs to.
- categories
-
- Required: Yes
- Type: Array of Category structures
The categories used to classify this product into logical groups.
- deployedOnAws
-
- Required: Yes
- Type: string
Indicates whether the product is deployed on AWS infrastructure.
- fulfillmentOptionSummaries
-
- Required: Yes
- Type: Array of FulfillmentOptionSummary structures
A summary of fulfillment options available for deploying or accessing the product, such as AMI, SaaS, or Container.
- highlights
-
- Required: Yes
- Type: Array of strings
A list of key features that the product offers to customers.
- logoThumbnailUrl
-
- Required: Yes
- Type: string
The URL of the logo thumbnail image for the product.
- longDescription
-
- Required: Yes
- Type: string
A detailed description of what the product does, in paragraph format.
- manufacturer
-
- Required: Yes
- Type: SellerInformation structure
The entity who manufactured the product.
- productId
-
- Required: Yes
- Type: string
The unique identifier of the product.
- productName
-
- Required: Yes
- Type: string
The human-readable display name of the product.
- promotionalMedia
-
- Required: Yes
- Type: Array of PromotionalMedia structures
Embedded promotional media provided by the creator of the product, such as images and videos.
- resources
-
- Required: Yes
- Type: Array of Resource structures
Resources that provide further information about using the product or requesting support, such as documentation links, support contacts, and usage instructions.
- sellerEngagements
-
- Required: Yes
- Type: Array of SellerEngagement structures
Engagement options available to potential buyers, such as requesting a private offer or requesting a demo.
- shortDescription
-
- Required: Yes
- Type: string
A 1–3 sentence summary describing the key aspects of the product.
Errors
- ThrottlingException:
The request was denied due to request throttling.
- AccessDeniedException:
You don't have sufficient access to perform this action.
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- ResourceNotFoundException:
The specified resource doesn't exist.
- InternalServerException:
Unexpected error during processing of the request.
Examples
Example 1: GetProduct for SaaS product with DEPLOYED status
$result = $client->getProduct([
'productId' => 'prod-sampleSaasId',
]);
Result syntax:
[
'catalog' => 'AWSMarketplace',
'categories' => [
[
'categoryId' => '0625e4fd-88dd-4dd9-9e57-4a0461f97fb4',
'displayName' => 'Security',
],
],
'deployedOnAws' => 'DEPLOYED',
'fulfillmentOptionSummaries' => [
[
'displayName' => 'SaaS',
'fulfillmentOptionType' => 'SAAS',
],
[
'displayName' => 'API',
'fulfillmentOptionType' => 'API',
],
[
'displayName' => 'Data Exchange',
'fulfillmentOptionType' => 'DATA_EXCHANGE',
],
],
'highlights' => [
'Configured to your specs: Pre-configured environments, out-of-the-box.',
],
'logoThumbnailUrl' => 'https://d7umqicpi7263.cloudfront.net/img/product/07afb7c8-32f1-4851-8289-7e200d817ab1.png',
'longDescription' => 'Gitpod is a developer platform that provides on-demand, pre-configured cloud development environments (CDEs) that automatically integrate into any tool, library, or dependency required for creating software.',
'manufacturer' => [
'displayName' => 'sample SaaS seller',
'sellerProfileId' => 'seller-sampleSaasId',
],
'productId' => 'prod-sampleSaasId',
'productName' => 'sample SaaS product',
'promotionalMedia' => [
[
'embeddedImage' => [
'description' => 'Main security dashboard showing threat analytics',
'title' => 'Dashboard Overview',
'url' => 'https://assets.example.com/images/dashboard-main.png',
],
],
],
'resources' => [
[
'value' => 'https://www.gitpod.io/blog',
'contentType' => 'LINK',
'displayName' => 'Blog',
'resourceType' => 'MANUFACTURER_SUPPORT',
],
[
'value' => 'support@gitpod.io',
'contentType' => 'EMAIL',
'displayName' => 'Email Support',
'resourceType' => 'MANUFACTURER_SUPPORT',
],
],
'sellerEngagements' => [
[
'value' => 'https://aws.amazon.com/marketplace/customer-connect/demo/prodview-sampleSaasId',
'contentType' => 'LINK',
'engagementType' => 'REQUEST_FOR_DEMO',
],
],
'shortDescription' => 'Gitpod provides on-demand, secure cloud development environments or CDEs.',
]
Example 2: GetProduct for AMI product with NOT_DEPLOYED status
$result = $client->getProduct([
'productId' => 'prod-sampleAmiId',
]);
Result syntax:
[
'catalog' => 'AWSMarketplace',
'categories' => [
[
'categoryId' => 'security-category-001',
'displayName' => 'Security',
],
],
'deployedOnAws' => 'NOT_DEPLOYED',
'fulfillmentOptionSummaries' => [
[
'displayName' => 'Amazon Machine Image',
'fulfillmentOptionType' => 'AMAZON_MACHINE_IMAGE',
],
[
'displayName' => 'CloudFormation Template',
'fulfillmentOptionType' => 'CLOUDFORMATION_TEMPLATE',
],
[
'displayName' => 'Container',
'fulfillmentOptionType' => 'CONTAINER',
],
[
'displayName' => 'Helm',
'fulfillmentOptionType' => 'HELM',
],
],
'highlights' => [
'AES-256 encryption at rest and in transit',
],
'logoThumbnailUrl' => 'https://d7umqicpi7263.cloudfront.net/img/product/securevault-logo.png',
'longDescription' => 'SecureVault Enterprise provides comprehensive data encryption, key management, and security compliance tools for organizations.',
'manufacturer' => [
'displayName' => 'sample AMI seller',
'sellerProfileId' => 'seller-sampleAmiId',
],
'productId' => 'prod-sampleAmiId',
'productName' => 'sample AMI product',
'promotionalMedia' => [
[
'embeddedVideo' => [
'description' => 'A comprehensive overview of SecureVault features',
'preview' => 'https://assets.example.com/videos/intro-preview.jpg',
'thumbnail' => 'https://assets.example.com/videos/intro-thumb.jpg',
'title' => 'SecureVault Introduction',
'url' => 'https://assets.example.com/videos/intro.mp4',
],
],
],
'resources' => [
[
'value' => '+1-555-123-4567',
'contentType' => 'PHONE_NUMBER',
'displayName' => 'Phone Support',
'resourceType' => 'MANUFACTURER_SUPPORT',
],
[
'value' => 'Contact your account manager for installation assistance.',
'contentType' => 'OTHER',
'displayName' => 'Installation Help',
'resourceType' => 'MANUFACTURER_INSTRUCTIONS',
],
],
'sellerEngagements' => [
[
'value' => 'https://aws.amazon.com/marketplace/customer-connect/private-offer/prodview-sampleAmiId',
'contentType' => 'LINK',
'engagementType' => 'REQUEST_FOR_PRIVATE_OFFER',
],
],
'shortDescription' => 'Enterprise-grade data encryption and key management solution.',
]
Example 3: GetProduct for professional services with NOT_APPLICABLE status
$result = $client->getProduct([
'productId' => 'prod-sampleProServId',
]);
Result syntax:
[
'catalog' => 'AWSMarketplace',
'categories' => [
[
'categoryId' => 'consulting-category-001',
'displayName' => 'Consulting',
],
],
'deployedOnAws' => 'NOT_APPLICABLE',
'fulfillmentOptionSummaries' => [
[
'displayName' => 'Professional Services',
'fulfillmentOptionType' => 'PROFESSIONAL_SERVICES',
],
[
'displayName' => 'EKS Add-on',
'fulfillmentOptionType' => 'EKS_ADD_ON',
],
[
'displayName' => 'EC2 Image Builder Component',
'fulfillmentOptionType' => 'EC2_IMAGE_BUILDER_COMPONENT',
],
[
'displayName' => 'SageMaker Algorithm',
'fulfillmentOptionType' => 'SAGEMAKER_ALGORITHM',
],
[
'displayName' => 'SageMaker Model',
'fulfillmentOptionType' => 'SAGEMAKER_MODEL',
],
],
'highlights' => [
'Certified AWS migration specialists',
],
'logoThumbnailUrl' => 'https://d7umqicpi7263.cloudfront.net/img/product/cloudexperts-logo.png',
'longDescription' => 'Professional consulting services to help organizations plan and execute their cloud migration strategy.',
'manufacturer' => [
'displayName' => 'sample professional services seller',
'sellerProfileId' => 'seller-sampleProServId',
],
'productId' => 'prod-sampleProServId',
'productName' => 'sample professional services product',
'promotionalMedia' => [
],
'resources' => [
[
'value' => 'https://www.cloudexperts.example.com/docs',
'contentType' => 'LINK',
'displayName' => 'Documentation',
'resourceType' => 'MANUFACTURER_INSTRUCTIONS',
],
],
'sellerEngagements' => [
[
'value' => 'https://aws.amazon.com/marketplace/customer-connect/demo/prodview-sampleProServId',
'contentType' => 'LINK',
'engagementType' => 'REQUEST_FOR_DEMO',
],
],
'shortDescription' => 'Expert cloud migration and modernization consulting services.',
]
ListFulfillmentOptions
$result = $client->listFulfillmentOptions([/* ... */]); $promise = $client->listFulfillmentOptionsAsync([/* ... */]);
Returns the fulfillment options available for a product, including deployment details such as version information, operating systems, usage instructions, and release notes.
Parameter Syntax
$result = $client->listFulfillmentOptions([
'maxResults' => <integer>,
'nextToken' => '<string>',
'productId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- maxResults
-
- Type: int
The maximum number of results that are returned per call. You can use
nextTokento get more results. - nextToken
-
- Type: string
If
nextTokenis returned, there are more results available. Make the call again using the returned token to retrieve the next page. - productId
-
- Required: Yes
- Type: string
The unique identifier of the product for which to list fulfillment options.
Result Syntax
[
'fulfillmentOptions' => [
[
'amazonMachineImageFulfillmentOption' => [
'fulfillmentOptionDisplayName' => '<string>',
'fulfillmentOptionId' => '<string>',
'fulfillmentOptionName' => '<string>',
'fulfillmentOptionType' => 'AMAZON_MACHINE_IMAGE|API|CLOUDFORMATION_TEMPLATE|CONTAINER|HELM|EKS_ADD_ON|EC2_IMAGE_BUILDER_COMPONENT|DATA_EXCHANGE|PROFESSIONAL_SERVICES|SAAS|SAGEMAKER_ALGORITHM|SAGEMAKER_MODEL',
'fulfillmentOptionVersion' => '<string>',
'operatingSystems' => [
[
'operatingSystemFamilyName' => '<string>',
'operatingSystemName' => '<string>',
'operatingSystemVersion' => '<string>',
],
// ...
],
'recommendation' => [
'instanceType' => '<string>',
],
'releaseNotes' => '<string>',
'usageInstructions' => '<string>',
],
'apiFulfillmentOption' => [
'awsSupportedServices' => [
[
'description' => '<string>',
'displayName' => '<string>',
'supportedServiceType' => '<string>',
],
// ...
],
'fulfillmentOptionDisplayName' => '<string>',
'fulfillmentOptionId' => '<string>',
'fulfillmentOptionType' => 'AMAZON_MACHINE_IMAGE|API|CLOUDFORMATION_TEMPLATE|CONTAINER|HELM|EKS_ADD_ON|EC2_IMAGE_BUILDER_COMPONENT|DATA_EXCHANGE|PROFESSIONAL_SERVICES|SAAS|SAGEMAKER_ALGORITHM|SAGEMAKER_MODEL',
'usageInstructions' => '<string>',
],
'cloudFormationFulfillmentOption' => [
'fulfillmentOptionDisplayName' => '<string>',
'fulfillmentOptionId' => '<string>',
'fulfillmentOptionName' => '<string>',
'fulfillmentOptionType' => 'AMAZON_MACHINE_IMAGE|API|CLOUDFORMATION_TEMPLATE|CONTAINER|HELM|EKS_ADD_ON|EC2_IMAGE_BUILDER_COMPONENT|DATA_EXCHANGE|PROFESSIONAL_SERVICES|SAAS|SAGEMAKER_ALGORITHM|SAGEMAKER_MODEL',
'fulfillmentOptionVersion' => '<string>',
'releaseNotes' => '<string>',
'usageInstructions' => '<string>',
],
'containerFulfillmentOption' => [
'awsSupportedServices' => [
[
'description' => '<string>',
'displayName' => '<string>',
'supportedServiceType' => '<string>',
],
// ...
],
'fulfillmentOptionDisplayName' => '<string>',
'fulfillmentOptionId' => '<string>',
'fulfillmentOptionName' => '<string>',
'fulfillmentOptionType' => 'AMAZON_MACHINE_IMAGE|API|CLOUDFORMATION_TEMPLATE|CONTAINER|HELM|EKS_ADD_ON|EC2_IMAGE_BUILDER_COMPONENT|DATA_EXCHANGE|PROFESSIONAL_SERVICES|SAAS|SAGEMAKER_ALGORITHM|SAGEMAKER_MODEL',
'fulfillmentOptionVersion' => '<string>',
'operatingSystems' => [
[
'operatingSystemFamilyName' => '<string>',
'operatingSystemName' => '<string>',
],
// ...
],
'releaseNotes' => '<string>',
'usageInstructions' => '<string>',
],
'dataExchangeFulfillmentOption' => [
'dataArtifacts' => [
[
'dataClassification' => '<string>',
'description' => '<string>',
'resourceArn' => '<string>',
'resourceType' => '<string>',
],
// ...
],
'fulfillmentOptionDisplayName' => '<string>',
'fulfillmentOptionId' => '<string>',
'fulfillmentOptionType' => 'AMAZON_MACHINE_IMAGE|API|CLOUDFORMATION_TEMPLATE|CONTAINER|HELM|EKS_ADD_ON|EC2_IMAGE_BUILDER_COMPONENT|DATA_EXCHANGE|PROFESSIONAL_SERVICES|SAAS|SAGEMAKER_ALGORITHM|SAGEMAKER_MODEL',
],
'ec2ImageBuilderComponentFulfillmentOption' => [
'awsSupportedServices' => [
[
'description' => '<string>',
'displayName' => '<string>',
'supportedServiceType' => '<string>',
],
// ...
],
'fulfillmentOptionDisplayName' => '<string>',
'fulfillmentOptionId' => '<string>',
'fulfillmentOptionName' => '<string>',
'fulfillmentOptionType' => 'AMAZON_MACHINE_IMAGE|API|CLOUDFORMATION_TEMPLATE|CONTAINER|HELM|EKS_ADD_ON|EC2_IMAGE_BUILDER_COMPONENT|DATA_EXCHANGE|PROFESSIONAL_SERVICES|SAAS|SAGEMAKER_ALGORITHM|SAGEMAKER_MODEL',
'fulfillmentOptionVersion' => '<string>',
'operatingSystems' => [
[
'operatingSystemFamilyName' => '<string>',
'operatingSystemName' => '<string>',
],
// ...
],
'releaseNotes' => '<string>',
'usageInstructions' => '<string>',
],
'eksAddOnFulfillmentOption' => [
'awsSupportedServices' => [
[
'description' => '<string>',
'displayName' => '<string>',
'supportedServiceType' => '<string>',
],
// ...
],
'fulfillmentOptionDisplayName' => '<string>',
'fulfillmentOptionId' => '<string>',
'fulfillmentOptionName' => '<string>',
'fulfillmentOptionType' => 'AMAZON_MACHINE_IMAGE|API|CLOUDFORMATION_TEMPLATE|CONTAINER|HELM|EKS_ADD_ON|EC2_IMAGE_BUILDER_COMPONENT|DATA_EXCHANGE|PROFESSIONAL_SERVICES|SAAS|SAGEMAKER_ALGORITHM|SAGEMAKER_MODEL',
'fulfillmentOptionVersion' => '<string>',
'operatingSystems' => [
[
'operatingSystemFamilyName' => '<string>',
'operatingSystemName' => '<string>',
],
// ...
],
'releaseNotes' => '<string>',
'usageInstructions' => '<string>',
],
'helmFulfillmentOption' => [
'awsSupportedServices' => [
[
'description' => '<string>',
'displayName' => '<string>',
'supportedServiceType' => '<string>',
],
// ...
],
'fulfillmentOptionDisplayName' => '<string>',
'fulfillmentOptionId' => '<string>',
'fulfillmentOptionName' => '<string>',
'fulfillmentOptionType' => 'AMAZON_MACHINE_IMAGE|API|CLOUDFORMATION_TEMPLATE|CONTAINER|HELM|EKS_ADD_ON|EC2_IMAGE_BUILDER_COMPONENT|DATA_EXCHANGE|PROFESSIONAL_SERVICES|SAAS|SAGEMAKER_ALGORITHM|SAGEMAKER_MODEL',
'fulfillmentOptionVersion' => '<string>',
'operatingSystems' => [
[
'operatingSystemFamilyName' => '<string>',
'operatingSystemName' => '<string>',
],
// ...
],
'releaseNotes' => '<string>',
'usageInstructions' => '<string>',
],
'professionalServicesFulfillmentOption' => [
'fulfillmentOptionDisplayName' => '<string>',
'fulfillmentOptionId' => '<string>',
'fulfillmentOptionType' => 'AMAZON_MACHINE_IMAGE|API|CLOUDFORMATION_TEMPLATE|CONTAINER|HELM|EKS_ADD_ON|EC2_IMAGE_BUILDER_COMPONENT|DATA_EXCHANGE|PROFESSIONAL_SERVICES|SAAS|SAGEMAKER_ALGORITHM|SAGEMAKER_MODEL',
],
'saasFulfillmentOption' => [
'fulfillmentOptionDisplayName' => '<string>',
'fulfillmentOptionId' => '<string>',
'fulfillmentOptionType' => 'AMAZON_MACHINE_IMAGE|API|CLOUDFORMATION_TEMPLATE|CONTAINER|HELM|EKS_ADD_ON|EC2_IMAGE_BUILDER_COMPONENT|DATA_EXCHANGE|PROFESSIONAL_SERVICES|SAAS|SAGEMAKER_ALGORITHM|SAGEMAKER_MODEL',
'fulfillmentUrl' => '<string>',
'usageInstructions' => '<string>',
],
'sageMakerAlgorithmFulfillmentOption' => [
'fulfillmentOptionDisplayName' => '<string>',
'fulfillmentOptionId' => '<string>',
'fulfillmentOptionType' => 'AMAZON_MACHINE_IMAGE|API|CLOUDFORMATION_TEMPLATE|CONTAINER|HELM|EKS_ADD_ON|EC2_IMAGE_BUILDER_COMPONENT|DATA_EXCHANGE|PROFESSIONAL_SERVICES|SAAS|SAGEMAKER_ALGORITHM|SAGEMAKER_MODEL',
'fulfillmentOptionVersion' => '<string>',
'recommendation' => [
'recommendedBatchTransformInstanceType' => '<string>',
'recommendedRealtimeInferenceInstanceType' => '<string>',
'recommendedTrainingInstanceType' => '<string>',
],
'releaseNotes' => '<string>',
'usageInstructions' => '<string>',
],
'sageMakerModelFulfillmentOption' => [
'fulfillmentOptionDisplayName' => '<string>',
'fulfillmentOptionId' => '<string>',
'fulfillmentOptionType' => 'AMAZON_MACHINE_IMAGE|API|CLOUDFORMATION_TEMPLATE|CONTAINER|HELM|EKS_ADD_ON|EC2_IMAGE_BUILDER_COMPONENT|DATA_EXCHANGE|PROFESSIONAL_SERVICES|SAAS|SAGEMAKER_ALGORITHM|SAGEMAKER_MODEL',
'fulfillmentOptionVersion' => '<string>',
'recommendation' => [
'recommendedBatchTransformInstanceType' => '<string>',
'recommendedRealtimeInferenceInstanceType' => '<string>',
],
'releaseNotes' => '<string>',
'usageInstructions' => '<string>',
],
],
// ...
],
'nextToken' => '<string>',
]
Result Details
Members
- fulfillmentOptions
-
- Required: Yes
- Type: Array of FulfillmentOption structures
The fulfillment options available for the product. Each option describes how the buyer can deploy or access the product.
- nextToken
-
- Type: string
If
nextTokenis returned, there are more results available. Make the call again using the returned token to retrieve the next page.
Errors
- ThrottlingException:
The request was denied due to request throttling.
- AccessDeniedException:
You don't have sufficient access to perform this action.
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- ResourceNotFoundException:
The specified resource doesn't exist.
- InternalServerException:
Unexpected error during processing of the request.
Examples
Example 1: List AMI Fulfillment Options
$result = $client->listFulfillmentOptions([
'productId' => 'prod-sampleAmiId',
]);
Result syntax:
[
'fulfillmentOptions' => [
[
'amazonMachineImageFulfillmentOption' => [
'fulfillmentOptionDisplayName' => 'Amazon Machine Image',
'fulfillmentOptionId' => 'fo-sampleAmiId',
'fulfillmentOptionName' => '64-bit (x86) Amazon Machine Image (AMI)',
'fulfillmentOptionType' => 'AMAZON_MACHINE_IMAGE',
'fulfillmentOptionVersion' => '2.0.20260120.1',
'operatingSystems' => [
[
'operatingSystemFamilyName' => 'AMAZONLINUX',
'operatingSystemName' => 'AmazonLinux 2.0.20250623.0',
'operatingSystemVersion' => '2.0.20250623.0',
],
],
'recommendation' => [
'instanceType' => 't3a.medium',
],
'releaseNotes' => 'https://aws.amazon.com/amazon-linux-2/release-notes/',
'usageInstructions' => 'The Amazon Linux 2 AMI can be launched through the EC2 console's Quick Launch page.',
],
],
],
]
Example 2: List API Fulfillment Options
$result = $client->listFulfillmentOptions([
'productId' => 'prod-sampleApiId',
]);
Result syntax:
[
'fulfillmentOptions' => [
[
'apiFulfillmentOption' => [
'awsSupportedServices' => [
[
'description' => 'A managed service that enables you to develop, deploy, and maintain AI agents seamlessly.',
'displayName' => 'Amazon Bedrock AgentCore',
'supportedServiceType' => 'BEDROCK_AGENTCORE',
],
],
'fulfillmentOptionDisplayName' => 'API-Based Agents & Tools',
'fulfillmentOptionId' => 'fo-sampleApiId',
'fulfillmentOptionType' => 'API',
'usageInstructions' => 'Please refer to the MCP usage instructions.',
],
],
],
]
Example 3: List CloudFormation Template Fulfillment Options
$result = $client->listFulfillmentOptions([
'productId' => 'prod-sampleCftId',
]);
Result syntax:
[
'fulfillmentOptions' => [
[
'cloudFormationFulfillmentOption' => [
'fulfillmentOptionDisplayName' => 'CloudFormation Template',
'fulfillmentOptionId' => 'fo-sampleCftId',
'fulfillmentOptionName' => 'Sophos Standalone Firewall for AWS',
'fulfillmentOptionType' => 'CLOUDFORMATION_TEMPLATE',
'fulfillmentOptionVersion' => '21.5 MR1',
'releaseNotes' => 'https://community.sophos.com/products/xg-firewall/b/blog',
'usageInstructions' => 'You can manage your Sophos XG Firewall on AWS from the Web Interface using HTTPS (TCP port 4444).',
],
],
],
]
Example 4: List Container Fulfillment Options
$result = $client->listFulfillmentOptions([
'productId' => 'prod-sampleContainerId',
]);
Result syntax:
[
'fulfillmentOptions' => [
[
'containerFulfillmentOption' => [
'awsSupportedServices' => [
[
'description' => 'A managed service that enables you to develop, deploy, and maintain AI agents seamlessly.',
'displayName' => 'Amazon Bedrock AgentCore',
'supportedServiceType' => 'BEDROCK_AGENTCORE',
],
],
'fulfillmentOptionDisplayName' => 'Container Image',
'fulfillmentOptionId' => 'fo-sampleContainerId',
'fulfillmentOptionName' => 'New delivery option 1',
'fulfillmentOptionType' => 'CONTAINER',
'fulfillmentOptionVersion' => 'Elastic MCP Version 1',
'operatingSystems' => [
[
'operatingSystemFamilyName' => 'Linux',
'operatingSystemName' => 'Linux',
],
],
'releaseNotes' => 'Version 1 of Elastic MCP Server',
'usageInstructions' => 'See Elastic MCP GitHub instructions',
],
],
],
]
Example 5: List Helm Fulfillment Options
$result = $client->listFulfillmentOptions([
'productId' => 'prod-sampleHelmId',
]);
Result syntax:
[
'fulfillmentOptions' => [
[
'helmFulfillmentOption' => [
'awsSupportedServices' => [
[
'description' => 'Amazon Elastic Kubernetes Service',
'displayName' => 'Amazon EKS',
'supportedServiceType' => 'EKS',
],
],
'fulfillmentOptionDisplayName' => 'Helm Chart',
'fulfillmentOptionId' => 'fo-sampleHelmId',
'fulfillmentOptionName' => 'NGINX Ingress Controller',
'fulfillmentOptionType' => 'HELM',
'fulfillmentOptionVersion' => '1.14.3-0-r03',
'operatingSystems' => [
[
'operatingSystemFamilyName' => 'Linux',
'operatingSystemName' => 'Linux',
],
],
'releaseNotes' => '* Maintenance release',
'usageInstructions' => 'helm install nginx-ingress',
],
],
],
]
Example 6: List EKS Add-On Fulfillment Options
$result = $client->listFulfillmentOptions([
'productId' => 'prod-sampleEksId',
]);
Result syntax:
[
'fulfillmentOptions' => [
[
'eksAddOnFulfillmentOption' => [
'awsSupportedServices' => [
[
'description' => 'Amazon Elastic Kubernetes Service',
'displayName' => 'Amazon EKS',
'supportedServiceType' => 'EKS',
],
],
'fulfillmentOptionDisplayName' => 'Add-on for Amazon EKS',
'fulfillmentOptionId' => 'fo-sampleEksId',
'fulfillmentOptionName' => 'Splunk Distribution of the OpenTelemetry Collector Chart',
'fulfillmentOptionType' => 'EKS_ADD_ON',
'fulfillmentOptionVersion' => '0.144.0',
'operatingSystems' => [
[
'operatingSystemFamilyName' => 'Linux',
'operatingSystemName' => 'Linux',
],
],
'releaseNotes' => 'https://github.com/signalfx/splunk-otel-collector-chart/releases/tag/splunk-otel-collector-0.144.0',
'usageInstructions' => 'https://help.splunk.com/en/splunk-observability-cloud/manage-data/splunk-distribution-of-the-opentelemetry-collector/get-started-with-the-splunk-distribution-of-the-opentelemetry-collector/collector-for-kubernetes/kubernetes-eks-add-on',
],
],
],
]
Example 7: List EC2 Image Builder Component Fulfillment Options
$result = $client->listFulfillmentOptions([
'productId' => 'prod-sampleImageBuilderId',
]);
Result syntax:
[
'fulfillmentOptions' => [
[
'ec2ImageBuilderComponentFulfillmentOption' => [
'awsSupportedServices' => [
[
'description' => 'EC2 Image Builder is a fully managed AWS service. It automates creation, management, and deployment of custom, secure, and up-to-date server images.',
'displayName' => 'Amazon EC2 Image Builder',
'supportedServiceType' => 'IMAGEBUILDER',
],
],
'fulfillmentOptionDisplayName' => 'EC2 Image Builder Component',
'fulfillmentOptionId' => 'fo-sampleImageBuilderId',
'fulfillmentOptionName' => 'Linux v1.2.3',
'fulfillmentOptionType' => 'EC2_IMAGE_BUILDER_COMPONENT',
'fulfillmentOptionVersion' => '1.2.3',
'operatingSystems' => [
[
'operatingSystemFamilyName' => 'Linux',
'operatingSystemName' => 'Linux',
],
],
'releaseNotes' => 'https://github.com/CrowdStrike/aws-ec2-image-builder/releases',
'usageInstructions' => 'https://github.com/CrowdStrike/aws-ec2-image-builder',
],
],
],
]
Example 8: List Data Exchange Fulfillment Options
$result = $client->listFulfillmentOptions([
'productId' => 'prod-sampleDataExchangeId',
]);
Result syntax:
[
'fulfillmentOptions' => [
[
'dataExchangeFulfillmentOption' => [
'dataArtifacts' => [
[
'dataClassification' => 'NONE',
'description' => 'Sample testing dataset.',
'resourceArn' => 'arn:aws:dataexchange:us-east-2::DataSet/sample-dataset-id',
'resourceType' => 'API_GATEWAY_APIS',
],
],
'fulfillmentOptionDisplayName' => 'Data Exchange',
'fulfillmentOptionId' => 'fo-sampleDataExchangeId',
'fulfillmentOptionType' => 'DATA_EXCHANGE',
],
],
],
]
Example 9: List Professional Services Fulfillment Options
$result = $client->listFulfillmentOptions([
'productId' => 'prod-sampleProServId',
]);
Result syntax:
[
'fulfillmentOptions' => [
[
'professionalServicesFulfillmentOption' => [
'fulfillmentOptionDisplayName' => 'Professional Services',
'fulfillmentOptionId' => 'fo-sampleProServId',
'fulfillmentOptionType' => 'PROFESSIONAL_SERVICES',
],
],
],
]
Example 10: List SaaS Fulfillment Options
$result = $client->listFulfillmentOptions([
'productId' => 'prod-sampleSaasId',
]);
Result syntax:
[
'fulfillmentOptions' => [
[
'saasFulfillmentOption' => [
'fulfillmentOptionDisplayName' => 'SaaS',
'fulfillmentOptionId' => 'fo-sampleSaasId',
'fulfillmentOptionType' => 'SAAS',
'fulfillmentUrl' => 'https://example.com/order/SAMPLE123',
],
],
],
]
Example 11: List SageMaker Algorithm Fulfillment Options
$result = $client->listFulfillmentOptions([
'productId' => 'prod-sampleSmAlgoId',
]);
Result syntax:
[
'fulfillmentOptions' => [
[
'sageMakerAlgorithmFulfillmentOption' => [
'fulfillmentOptionDisplayName' => 'SageMaker Algorithm',
'fulfillmentOptionId' => 'fo-sampleSmAlgoId',
'fulfillmentOptionType' => 'SAGEMAKER_ALGORITHM',
'fulfillmentOptionVersion' => 'v1.0.0',
'recommendation' => [
'recommendedBatchTransformInstanceType' => 'ml.m5.large',
'recommendedRealtimeInferenceInstanceType' => 'ml.m5.large',
'recommendedTrainingInstanceType' => 'ml.g4dn.xlarge',
],
'releaseNotes' => 'Bug fixes',
'usageInstructions' => 'A zip file called train should be provided.',
],
],
],
]
Example 12: List SageMaker Model Fulfillment Options
$result = $client->listFulfillmentOptions([
'productId' => 'prod-sampleSmModelId',
]);
Result syntax:
[
'fulfillmentOptions' => [
[
'sageMakerModelFulfillmentOption' => [
'fulfillmentOptionDisplayName' => 'SageMaker Model',
'fulfillmentOptionId' => 'fo-sampleSmModelId',
'fulfillmentOptionType' => 'SAGEMAKER_MODEL',
'fulfillmentOptionVersion' => '1.2.3',
'recommendation' => [
'recommendedBatchTransformInstanceType' => 'ml.g5.12xlarge',
'recommendedRealtimeInferenceInstanceType' => 'ml.g5.12xlarge',
],
'releaseNotes' => 'Initial release',
'usageInstructions' => 'See Input Summary',
],
],
],
]
ListPurchaseOptions
$result = $client->listPurchaseOptions([/* ... */]); $promise = $client->listPurchaseOptionsAsync([/* ... */]);
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.
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.
Parameter Syntax
$result = $client->listPurchaseOptions([
'filters' => [
[
'filterType' => 'PRODUCT_ID|SELLER_OF_RECORD_PROFILE_ID|PURCHASE_OPTION_TYPE|VISIBILITY_SCOPE|AVAILABILITY_STATUS', // REQUIRED
'filterValues' => ['<string>', ...], // REQUIRED
],
// ...
],
'maxResults' => <integer>,
'nextToken' => '<string>',
]);
Parameter Details
Members
- filters
-
- Type: Array of PurchaseOptionFilter structures
Filters to narrow the results. Multiple filters are combined with AND logic. Multiple values within the same filter are combined with OR logic.
- maxResults
-
- Type: int
The maximum number of results that are returned per call. You can use
nextTokento get more results. - nextToken
-
- Type: string
If
nextTokenis returned, there are more results available. Make the call again using the returned token to retrieve the next page.
Result Syntax
[
'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' => <DateTime>,
'badges' => [
[
'badgeType' => 'PRIVATE_PRICING|FUTURE_DATED|REPLACEMENT_OFFER',
'displayName' => '<string>',
],
// ...
],
'catalog' => '<string>',
'expirationTime' => <DateTime>,
'purchaseOptionId' => '<string>',
'purchaseOptionName' => '<string>',
'purchaseOptionType' => 'OFFER|OFFERSET',
'sellerOfRecord' => [
'displayName' => '<string>',
'sellerProfileId' => '<string>',
],
],
// ...
],
]
Result Details
Members
- nextToken
-
- Type: string
If
nextTokenis returned, there are more results available. Make the call again using the returned token to retrieve the next page. - purchaseOptions
-
- Type: Array of PurchaseOptionSummary structures
The purchase options available to the buyer. Each option is either an offer for a single product or an offer set spanning multiple products.
Errors
- ThrottlingException:
The request was denied due to request throttling.
- AccessDeniedException:
You don't have sufficient access to perform this action.
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- InternalServerException:
Unexpected error during processing of the request.
Examples
Example 1: Filter by Product ID
$result = $client->listPurchaseOptions([
'filters' => [
[
'filterType' => 'PRODUCT_ID',
'filterValues' => [
'prod-sampleOfferId',
],
],
],
]);
Result syntax:
[
'purchaseOptions' => [
[
'associatedEntities' => [
[
'offer' => [
'offerId' => 'offer-sampleOfferId',
'sellerOfRecord' => [
'displayName' => 'sample offer seller',
'sellerProfileId' => 'seller-sampleOfferId',
],
],
'product' => [
'manufacturer' => [
'displayName' => 'sample offer seller',
'sellerProfileId' => 'seller-sampleOfferId',
],
'productId' => 'prod-sampleOfferId',
'productName' => 'sample offer product',
],
],
],
'availableFromTime' => ,
'badges' => [
],
'catalog' => 'AWS_MARKETPLACE',
'purchaseOptionId' => 'offer-sampleOfferId',
'purchaseOptionName' => 'sample offer',
'purchaseOptionType' => 'OFFER',
'sellerOfRecord' => [
'displayName' => 'sample offer seller',
'sellerProfileId' => 'seller-sampleOfferId',
],
],
],
]
Example 2: Filter by Seller with Private Offerset
$result = $client->listPurchaseOptions([
'filters' => [
[
'filterType' => 'SELLER_OF_RECORD_PROFILE_ID',
'filterValues' => [
'seller-sampleResellerId',
],
],
[
'filterType' => 'PURCHASE_OPTION_TYPE',
'filterValues' => [
'OFFERSET',
],
],
[
'filterType' => 'VISIBILITY_SCOPE',
'filterValues' => [
'PRIVATE',
],
],
],
]);
Result syntax:
[
'purchaseOptions' => [
[
'associatedEntities' => [
[
'offer' => [
'offerId' => 'offer-sampleId1',
'sellerOfRecord' => [
'displayName' => 'sample reseller',
'sellerProfileId' => 'seller-sampleResellerId',
],
],
'product' => [
'manufacturer' => [
'displayName' => 'sample seller name 1',
'sellerProfileId' => 'seller-sampleId1',
],
'productId' => 'prod-sampleId1',
'productName' => 'sample product name 1',
],
],
[
'offer' => [
'offerId' => 'offer-sampleId2',
'sellerOfRecord' => [
'displayName' => 'sample reseller',
'sellerProfileId' => 'seller-sampleResellerId',
],
],
'product' => [
'manufacturer' => [
'displayName' => 'sample seller name 2',
'sellerProfileId' => 'seller-sampleId2',
],
'productId' => 'prod-sampleId2',
'productName' => 'sample product name 2',
],
],
],
'availableFromTime' => ,
'badges' => [
[
'badgeType' => 'PRIVATE_PRICING',
'displayName' => 'Private Pricing',
],
],
'catalog' => 'AWS_MARKETPLACE',
'expirationTime' => ,
'purchaseOptionId' => 'offerset-sampleId',
'purchaseOptionName' => 'sample offerset',
'purchaseOptionType' => 'OFFERSET',
'sellerOfRecord' => [
'displayName' => 'sample reseller',
'sellerProfileId' => 'seller-sampleResellerId',
],
],
],
]
SearchFacets
$result = $client->searchFacets([/* ... */]); $promise = $client->searchFacetsAsync([/* ... */]);
Returns available facet values for filtering listings, such as categories, pricing models, fulfillment option types, publishers, and customer ratings. Each facet value includes a count of matching listings.
Parameter Syntax
$result = $client->searchFacets([
'facetTypes' => ['<string>', ...],
'filters' => [
[
'filterType' => 'MIN_AVERAGE_CUSTOMER_RATING|MAX_AVERAGE_CUSTOMER_RATING|CATEGORY|PUBLISHER|FULFILLMENT_OPTION_TYPE|PRICING_MODEL|PRICING_UNIT|DEPLOYED_ON_AWS|NUMBER_OF_PRODUCTS', // REQUIRED
'filterValues' => ['<string>', ...], // REQUIRED
],
// ...
],
'nextToken' => '<string>',
'searchText' => '<string>',
]);
Parameter Details
Members
- facetTypes
-
- Type: Array of strings
A list of specific facet types to retrieve. If empty or null, all available facets are returned.
- filters
-
- Type: Array of SearchFilter structures
Filters to apply before retrieving facets. Multiple filters are combined with AND logic. Multiple values within the same filter are combined with OR logic.
- nextToken
-
- Type: string
If
nextTokenis returned, there are more results available. Make the call again using the returned token to retrieve the next page. - searchText
-
- Type: string
The search query text to filter listings before retrieving facets.
Result Syntax
[
'listingFacets' => [
'<SearchFacetType>' => [
[
'count' => <integer>,
'displayName' => '<string>',
'parent' => '<string>',
'value' => '<string>',
],
// ...
],
// ...
],
'nextToken' => '<string>',
'totalResults' => <integer>,
]
Result Details
Members
- listingFacets
-
- Required: Yes
- Type: Associative array of custom strings keys (SearchFacetType) to ListingFacet structuress
A map of facet types to their corresponding facet values. Each facet value includes a display name, internal value, and count of matching listings.
- nextToken
-
- Type: string
If
nextTokenis returned, there are more results available. Make the call again using the returned token to retrieve the next page. - totalResults
-
- Required: Yes
- Type: long (int|float)
The total number of listings matching the search criteria.
Errors
- ThrottlingException:
The request was denied due to request throttling.
- AccessDeniedException:
You don't have sufficient access to perform this action.
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- InternalServerException:
Unexpected error during processing of the request.
Examples
Example 1: Get facets for machine learning category
Retrieve available facet values for listings in the machine learning category
$result = $client->searchFacets([
'facetTypes' => [
'FULFILLMENT_OPTION_TYPE',
'PRICING_MODEL',
],
'filters' => [
[
'filterType' => 'CATEGORY',
'filterValues' => [
'machine-learning',
],
],
],
'searchText' => 'analytics',
]);
Result syntax:
[
'listingFacets' => [
'FULFILLMENT_OPTION_TYPE' => [
[
'value' => 'SAAS',
'count' => 250,
'displayName' => 'SaaS',
],
[
'value' => 'CONTAINER',
'count' => 120,
'displayName' => 'Container',
],
[
'value' => 'SAGEMAKER_ALGORITHM',
'count' => 80,
'displayName' => 'SageMaker Algorithm',
],
],
'PRICING_MODEL' => [
[
'value' => 'USAGE',
'count' => 300,
'displayName' => 'Usage-Based',
],
[
'value' => 'FREE',
'count' => 100,
'displayName' => 'Free',
],
[
'value' => 'CONTRACT',
'count' => 50,
'displayName' => 'Upfront Commitment',
],
],
],
'totalResults' => 450,
]
Example 2: Get facets with term and rating range filters
Retrieve facets for security listings with ratings between 3.0 and 5.0 stars
$result = $client->searchFacets([
'facetTypes' => [
'PRICING_MODEL',
'AVERAGE_CUSTOMER_RATING',
],
'filters' => [
[
'filterType' => 'CATEGORY',
'filterValues' => [
'security',
],
],
[
'filterType' => 'MIN_AVERAGE_CUSTOMER_RATING',
'filterValues' => [
'3.0',
],
],
[
'filterType' => 'MAX_AVERAGE_CUSTOMER_RATING',
'filterValues' => [
'5.0',
],
],
],
]);
Result syntax:
[
'listingFacets' => [
'AVERAGE_CUSTOMER_RATING' => [
[
'value' => '5.0',
'count' => 30,
'displayName' => '5.0',
],
[
'value' => '4.0',
'count' => 35,
'displayName' => '4.0',
],
[
'value' => '3.0',
'count' => 20,
'displayName' => '3.0',
],
],
'PRICING_MODEL' => [
[
'value' => 'USAGE',
'count' => 50,
'displayName' => 'Usage-Based',
],
[
'value' => 'FREE',
'count' => 35,
'displayName' => 'Free',
],
],
],
'totalResults' => 85,
]
SearchListings
$result = $client->searchListings([/* ... */]); $promise = $client->searchListingsAsync([/* ... */]);
Returns a list of product listings based on search criteria and filters. You can search by keyword, filter by category, pricing model, fulfillment type, and other attributes, and sort results by relevance or customer rating.
Parameter Syntax
$result = $client->searchListings([
'filters' => [
[
'filterType' => 'MIN_AVERAGE_CUSTOMER_RATING|MAX_AVERAGE_CUSTOMER_RATING|CATEGORY|PUBLISHER|FULFILLMENT_OPTION_TYPE|PRICING_MODEL|PRICING_UNIT|DEPLOYED_ON_AWS|NUMBER_OF_PRODUCTS', // REQUIRED
'filterValues' => ['<string>', ...], // REQUIRED
],
// ...
],
'maxResults' => <integer>,
'nextToken' => '<string>',
'searchText' => '<string>',
'sortBy' => 'RELEVANCE|AVERAGE_CUSTOMER_RATING',
'sortOrder' => 'DESCENDING|ASCENDING',
]);
Parameter Details
Members
- filters
-
- Type: Array of SearchFilter structures
Filters to narrow search results. Multiple filters are combined with AND logic. Multiple values within the same filter are combined with OR logic.
- maxResults
-
- Type: int
The maximum number of results that are returned per call. You can use
nextTokento get more results. - nextToken
-
- Type: string
If
nextTokenis returned, there are more results available. Make the call again using the returned token to retrieve the next page. - searchText
-
- Type: string
The search query text to find relevant listings.
- sortBy
-
- Type: string
The field to sort results by. Valid values are
RELEVANCEandAVERAGE_CUSTOMER_RATING. - sortOrder
-
- Type: string
The sort direction. Valid values are
DESCENDINGandASCENDING.
Result Syntax
[
'listingSummaries' => [
[
'associatedEntities' => [
[
'product' => [
'manufacturer' => [
'displayName' => '<string>',
'sellerProfileId' => '<string>',
],
'productId' => '<string>',
'productName' => '<string>',
],
],
// ...
],
'badges' => [
[
'badgeType' => 'AWS_FREE_TIER|FREE_TRIAL|DEPLOYED_ON_AWS|QUICK_LAUNCH|MULTI_PRODUCT',
'displayName' => '<string>',
],
// ...
],
'catalog' => '<string>',
'categories' => [
[
'categoryId' => '<string>',
'displayName' => '<string>',
],
// ...
],
'fulfillmentOptionSummaries' => [
[
'displayName' => '<string>',
'fulfillmentOptionType' => 'AMAZON_MACHINE_IMAGE|API|CLOUDFORMATION_TEMPLATE|CONTAINER|HELM|EKS_ADD_ON|EC2_IMAGE_BUILDER_COMPONENT|DATA_EXCHANGE|PROFESSIONAL_SERVICES|SAAS|SAGEMAKER_ALGORITHM|SAGEMAKER_MODEL',
],
// ...
],
'listingId' => '<string>',
'listingName' => '<string>',
'logoThumbnailUrl' => '<string>',
'pricingModels' => [
[
'displayName' => '<string>',
'pricingModelType' => 'USAGE|CONTRACT|BYOL|FREE',
],
// ...
],
'pricingUnits' => [
[
'displayName' => '<string>',
'pricingUnitType' => 'USERS|HOSTS|BANDWIDTH|DATA|TIERS|REQUESTS|UNITS',
],
// ...
],
'publisher' => [
'displayName' => '<string>',
'sellerProfileId' => '<string>',
],
'reviewSummary' => [
'reviewSourceSummaries' => [
[
'averageRating' => '<string>',
'sourceId' => 'AWS_MARKETPLACE',
'sourceName' => '<string>',
'sourceUrl' => '<string>',
'totalReviews' => <integer>,
],
// ...
],
],
'shortDescription' => '<string>',
],
// ...
],
'nextToken' => '<string>',
'totalResults' => <integer>,
]
Result Details
Members
- listingSummaries
-
- Required: Yes
- Type: Array of ListingSummary structures
The listing summaries matching the search criteria. Each summary includes the listing name, description, badges, categories, pricing models, reviews, and associated products.
- nextToken
-
- Type: string
If
nextTokenis returned, there are more results available. Make the call again using the returned token to retrieve the next page. - totalResults
-
- Required: Yes
- Type: long (int|float)
The total number of listings matching the search criteria.
Errors
- ThrottlingException:
The request was denied due to request throttling.
- AccessDeniedException:
You don't have sufficient access to perform this action.
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- InternalServerException:
Unexpected error during processing of the request.
Examples
Example 1: Search for machine learning listings
Search for SaaS listings in the machine learning category with sorting by relevance
$result = $client->searchListings([
'filters' => [
[
'filterType' => 'CATEGORY',
'filterValues' => [
'machine-learning',
],
],
[
'filterType' => 'FULFILLMENT_OPTION_TYPE',
'filterValues' => [
'SAAS',
],
],
],
'maxResults' => 25,
'searchText' => 'computer vision',
'sortBy' => 'RELEVANCE',
'sortOrder' => 'DESCENDING',
]);
Result syntax:
[
'listingSummaries' => [
[
'associatedEntities' => [
[
'product' => [
'manufacturer' => [
'displayName' => 'sample search seller',
'sellerProfileId' => 'seller-sampleSearchId',
],
'productId' => 'prod-sampleSearchId',
'productName' => 'sample search product',
],
],
],
'badges' => [
[
'badgeType' => 'FREE_TRIAL',
'displayName' => 'Free Trial',
],
],
'catalog' => 'AWSMarketplace',
'categories' => [
[
'categoryId' => 'machine-learning',
'displayName' => 'Machine Learning',
],
],
'fulfillmentOptionSummaries' => [
[
'displayName' => 'SaaS',
'fulfillmentOptionType' => 'SAAS',
],
],
'listingId' => 'prodview-sampleSearchId',
'listingName' => 'sample search listing',
'logoThumbnailUrl' => 'https://awsmp-logos.s3.amazonaws.com/product-logos/ai-vision-pro.png',
'pricingModels' => [
[
'displayName' => 'Usage',
'pricingModelType' => 'USAGE',
],
],
'pricingUnits' => [
[
'displayName' => 'Requests',
'pricingUnitType' => 'REQUESTS',
],
],
'publisher' => [
'displayName' => 'sample search seller',
'sellerProfileId' => 'seller-sampleSearchId',
],
'reviewSummary' => [
'reviewSourceSummaries' => [
[
'averageRating' => '4.5',
'sourceId' => 'AWS_MARKETPLACE',
'sourceName' => 'AWS Marketplace',
'totalReviews' => 100,
],
],
],
'shortDescription' => 'Advanced computer vision solution for object detection and classification.',
],
],
'nextToken' => 'eyJsYXN0RXZhbHVhdGVkS2V5Ijp7Imxpc3RpbmdJZCI6InByb2R2aWV3LXNhbXBsZVNlYXJjaElkIn19',
'totalResults' => 1250,
]
Shapes
AccessDeniedException
Description
You don't have sufficient access to perform this action.
Members
- message
-
- Type: string
AmazonMachineImageFulfillmentOption
Description
Describes an Amazon Machine Image (AMI) fulfillment option, including version details, supported operating systems, and recommended instance types.
Members
- fulfillmentOptionDisplayName
-
- Required: Yes
- Type: string
A human-readable name for the fulfillment option type.
- fulfillmentOptionId
-
- Required: Yes
- Type: string
The unique identifier of the fulfillment option.
- fulfillmentOptionName
-
- Required: Yes
- Type: string
The display name of the fulfillment option version.
- fulfillmentOptionType
-
- Required: Yes
- Type: string
The category of the fulfillment option.
- fulfillmentOptionVersion
-
- Type: string
The version identifier of the fulfillment option.
- operatingSystems
-
- Required: Yes
- Type: Array of AmazonMachineImageOperatingSystem structures
The operating systems supported by this AMI.
- recommendation
-
- Type: AmazonMachineImageRecommendation structure
Recommended instance types for running this AMI.
- releaseNotes
-
- Type: string
Release notes describing changes in this version of the fulfillment option.
- usageInstructions
-
- Type: string
Instructions on how to deploy and use this fulfillment option.
AmazonMachineImageOperatingSystem
Description
Describes an operating system supported by an AMI fulfillment option.
Members
- operatingSystemFamilyName
-
- Required: Yes
- Type: string
The operating system family, such as Linux or Windows.
- operatingSystemName
-
- Required: Yes
- Type: string
The specific operating system name, such as Amazon Linux 2 or Windows Server 2022.
- operatingSystemVersion
-
- Type: string
The version of the operating system.
AmazonMachineImageRecommendation
Description
Recommended instance types for running an AMI fulfillment option.
Members
- instanceType
-
- Required: Yes
- Type: string
The recommended EC2 instance type for this AMI.
ApiFulfillmentOption
Description
Describes an API-based fulfillment option, where the product is accessed through an API integration.
Members
- awsSupportedServices
-
- Required: Yes
- Type: Array of AwsSupportedService structures
The AWS services supported by this API integration.
- fulfillmentOptionDisplayName
-
- Required: Yes
- Type: string
A human-readable name for the fulfillment option type.
- fulfillmentOptionId
-
- Required: Yes
- Type: string
The unique identifier of the fulfillment option.
- fulfillmentOptionType
-
- Required: Yes
- Type: string
The category of the fulfillment option.
- usageInstructions
-
- Type: string
Instructions on how to integrate with and use this API.
AwsSupportedService
Description
Describes an AWS service supported by a fulfillment option.
Members
- description
-
- Required: Yes
- Type: string
A description of the supported service.
- displayName
-
- Required: Yes
- Type: string
The human-readable name of the supported service.
- supportedServiceType
-
- Required: Yes
- Type: string
The machine-readable identifier of the supported service.
ByolPricingTerm
Description
Defines a Bring Your Own License (BYOL) pricing term, where buyers use their existing license for the product.
Members
- id
-
- Required: Yes
- Type: string
The unique identifier of the term.
- type
-
- Required: Yes
- Type: string
The category of the term.
Category
Description
A category used to classify a listing or product into a logical group.
Members
- categoryId
-
- Required: Yes
- Type: string
The machine-readable identifier of the category.
- displayName
-
- Required: Yes
- Type: string
The human-readable name of the category.
CloudFormationFulfillmentOption
Description
Describes an AWS CloudFormation template fulfillment option for infrastructure deployment.
Members
- fulfillmentOptionDisplayName
-
- Required: Yes
- Type: string
A human-readable name for the fulfillment option type.
- fulfillmentOptionId
-
- Required: Yes
- Type: string
The unique identifier of the fulfillment option.
- fulfillmentOptionName
-
- Required: Yes
- Type: string
The display name of the fulfillment option version.
- fulfillmentOptionType
-
- Required: Yes
- Type: string
The category of the fulfillment option.
- fulfillmentOptionVersion
-
- Type: string
The version identifier of the fulfillment option.
- releaseNotes
-
- Type: string
Release notes describing changes in this version of the fulfillment option.
- usageInstructions
-
- Type: string
Instructions on how to deploy and use this CloudFormation template.
ConfigurableUpfrontPricingTerm
Description
Defines a configurable upfront pricing term with selectable rate cards, where buyers choose from predefined pricing configurations.
Members
- currencyCode
-
- Required: Yes
- Type: string
Defines the currency for the prices in this term.
- id
-
- Required: Yes
- Type: string
The unique identifier of the term.
- rateCards
-
- Type: Array of ConfigurableUpfrontRateCardItem structures
The rate cards available for selection, each with a selector, constraints, and per-unit rates.
- type
-
- Required: Yes
- Type: string
The category of the term.
ConfigurableUpfrontRateCardItem
Description
A rate card item within a configurable upfront pricing term, including a selector for choosing the configuration and per-unit rates.
Members
- constraints
-
- Required: Yes
- Type: Constraints structure
Constraints on how the buyer can configure this rate card, such as whether multiple dimensions can be selected.
- rateCard
-
- Required: Yes
- Type: Array of RateCardItem structures
The per-unit rates for this configuration.
- selector
-
- Required: Yes
- Type: Selector structure
The selector criteria for this rate card, such as duration.
Constraints
Description
Constraints that control how a buyer can configure a rate card.
Members
- multipleDimensionSelection
-
- Required: Yes
- Type: string
Whether the buyer can select multiple dimensions. Values are
AllowedorDisallowed. - quantityConfiguration
-
- Required: Yes
- Type: string
Whether the buyer can configure quantities. Values are
AllowedorDisallowed.
ContainerFulfillmentOption
Description
Describes a container image fulfillment option for container-based deployment.
Members
- awsSupportedServices
-
- Type: Array of AwsSupportedService structures
The AWS services supported by this container deployment.
- fulfillmentOptionDisplayName
-
- Required: Yes
- Type: string
A human-readable name for the fulfillment option type.
- fulfillmentOptionId
-
- Required: Yes
- Type: string
The unique identifier of the fulfillment option.
- fulfillmentOptionName
-
- Required: Yes
- Type: string
The display name of the fulfillment option version.
- fulfillmentOptionType
-
- Required: Yes
- Type: string
The category of the fulfillment option.
- fulfillmentOptionVersion
-
- Type: string
The version identifier of the fulfillment option.
- operatingSystems
-
- Type: Array of ContainerOperatingSystem structures
The operating systems supported by this container image.
- releaseNotes
-
- Type: string
Release notes describing changes in this version of the fulfillment option.
- usageInstructions
-
- Type: string
Instructions on how to deploy and use this container image.
ContainerOperatingSystem
Description
Describes an operating system supported by a container fulfillment option.
Members
- operatingSystemFamilyName
-
- Required: Yes
- Type: string
The operating system family, such as Linux.
- operatingSystemName
-
- Required: Yes
- Type: string
The specific operating system name.
DataArtifact
Description
Describes a data artifact within a Data Exchange fulfillment option.
Members
- dataClassification
-
- Required: Yes
- Type: string
The classification of sensitive data contained in the dataset.
- description
-
- Type: string
A description of the data artifact.
- resourceArn
-
- Type: string
The Amazon Resource Name (ARN) of the data artifact.
- resourceType
-
- Required: Yes
- Type: string
The type of the data artifact resource.
DataExchangeFulfillmentOption
Description
Describes an AWS Data Exchange fulfillment option for data set delivery.
Members
- dataArtifacts
-
- Type: Array of DataArtifact structures
The data artifacts included in this Data Exchange fulfillment option.
- fulfillmentOptionDisplayName
-
- Required: Yes
- Type: string
A human-readable name for the fulfillment option type.
- fulfillmentOptionId
-
- Required: Yes
- Type: string
The unique identifier of the fulfillment option.
- fulfillmentOptionType
-
- Required: Yes
- Type: string
The category of the fulfillment option.
DimensionLabel
Description
A label used to group or categorize pricing dimensions, such as by region or SageMaker option.
Members
- displayName
-
- Type: string
The human-readable display name of the label.
- labelType
-
- Required: Yes
- Type: string
The type of the dimension label, such as
RegionorSagemakerOption. - labelValue
-
- Required: Yes
- Type: string
The value used to group dimensions together.
DocumentItem
Description
A legal document associated with a legal term, such as a EULA or data subscription agreement.
Members
- type
-
- Required: Yes
- Type: string
The category of the legal document, such as
StandardEulaorCustomEula. - url
-
- Required: Yes
- Type: string
The URL where the legal document can be accessed.
- version
-
- Type: string
The version of the standard contract, if applicable.
Ec2ImageBuilderComponentFulfillmentOption
Description
Describes an EC2 Image Builder component fulfillment option.
Members
- awsSupportedServices
-
- Type: Array of AwsSupportedService structures
The AWS services supported by this EC2 Image Builder component.
- fulfillmentOptionDisplayName
-
- Required: Yes
- Type: string
A human-readable name for the fulfillment option type.
- fulfillmentOptionId
-
- Required: Yes
- Type: string
The unique identifier of the fulfillment option.
- fulfillmentOptionName
-
- Required: Yes
- Type: string
The display name of the fulfillment option version.
- fulfillmentOptionType
-
- Required: Yes
- Type: string
The category of the fulfillment option.
- fulfillmentOptionVersion
-
- Type: string
The version identifier of the fulfillment option.
- operatingSystems
-
- Type: Array of ContainerOperatingSystem structures
The operating systems supported by this EC2 Image Builder component.
- releaseNotes
-
- Type: string
Release notes describing changes in this version of the fulfillment option.
- usageInstructions
-
- Type: string
Instructions on how to deploy and use this EC2 Image Builder component.
EksAddOnFulfillmentOption
Description
Describes an Amazon EKS add-on fulfillment option.
Members
- awsSupportedServices
-
- Type: Array of AwsSupportedService structures
The AWS services supported by this EKS add-on.
- fulfillmentOptionDisplayName
-
- Required: Yes
- Type: string
A human-readable name for the fulfillment option type.
- fulfillmentOptionId
-
- Required: Yes
- Type: string
The unique identifier of the fulfillment option.
- fulfillmentOptionName
-
- Required: Yes
- Type: string
The display name of the fulfillment option version.
- fulfillmentOptionType
-
- Required: Yes
- Type: string
The category of the fulfillment option.
- fulfillmentOptionVersion
-
- Type: string
The version identifier of the fulfillment option.
- operatingSystems
-
- Type: Array of EksAddOnOperatingSystem structures
The operating systems supported by this EKS add-on.
- releaseNotes
-
- Type: string
Release notes describing changes in this version of the fulfillment option.
- usageInstructions
-
- Type: string
Instructions on how to deploy and use this EKS add-on.
EksAddOnOperatingSystem
Description
Describes an operating system supported by an EKS add-on fulfillment option.
Members
- operatingSystemFamilyName
-
- Required: Yes
- Type: string
The operating system family, such as Linux.
- operatingSystemName
-
- Required: Yes
- Type: string
The specific operating system name.
FixedUpfrontPricingTerm
Description
Defines a fixed upfront pricing term with a pre-paid amount and granted entitlements.
Members
- currencyCode
-
- Required: Yes
- Type: string
Defines the currency for the prices in this term.
- duration
-
- Type: string
The duration of the fixed pricing term, in ISO 8601 format.
- grants
-
- Required: Yes
- Type: Array of GrantItem structures
The entitlements granted to the buyer as part of this term.
- id
-
- Required: Yes
- Type: string
The unique identifier of the term.
- price
-
- Required: Yes
- Type: string
The price charged upfront for this term.
- type
-
- Required: Yes
- Type: string
The category of the term.
FreeTrialPricingTerm
Description
Defines a free trial pricing term that enables customers to try the product before purchasing.
Members
- duration
-
- Type: string
The duration of the free trial period.
- grants
-
- Required: Yes
- Type: Array of GrantItem structures
The entitlements granted to the buyer during the free trial.
- id
-
- Required: Yes
- Type: string
The unique identifier of the term.
- type
-
- Required: Yes
- Type: string
The category of the term.
FulfillmentOption
Description
Describes a fulfillment option for a product. Each element contains exactly one fulfillment option type.
Members
- amazonMachineImageFulfillmentOption
-
- Type: AmazonMachineImageFulfillmentOption structure
An Amazon Machine Image (AMI) fulfillment option for EC2 deployment.
- apiFulfillmentOption
-
- Type: ApiFulfillmentOption structure
An API-based fulfillment option for programmatic integration.
- cloudFormationFulfillmentOption
-
- Type: CloudFormationFulfillmentOption structure
An AWS CloudFormation template fulfillment option for infrastructure deployment.
- containerFulfillmentOption
-
- Type: ContainerFulfillmentOption structure
A container image fulfillment option for container-based deployment.
- dataExchangeFulfillmentOption
-
- Type: DataExchangeFulfillmentOption structure
An AWS Data Exchange fulfillment option for data set delivery.
- ec2ImageBuilderComponentFulfillmentOption
-
- Type: Ec2ImageBuilderComponentFulfillmentOption structure
An EC2 Image Builder component fulfillment option.
- eksAddOnFulfillmentOption
-
- Type: EksAddOnFulfillmentOption structure
An Amazon EKS add-on fulfillment option.
- helmFulfillmentOption
-
- Type: HelmFulfillmentOption structure
A Helm chart fulfillment option for Kubernetes deployment.
- professionalServicesFulfillmentOption
-
- Type: ProfessionalServicesFulfillmentOption structure
A professional services fulfillment option.
- saasFulfillmentOption
-
- Type: SaasFulfillmentOption structure
A Software as a Service (SaaS) fulfillment option.
- sageMakerAlgorithmFulfillmentOption
-
- Type: SageMakerAlgorithmFulfillmentOption structure
An Amazon SageMaker algorithm fulfillment option.
- sageMakerModelFulfillmentOption
-
- Type: SageMakerModelFulfillmentOption structure
An Amazon SageMaker model fulfillment option.
FulfillmentOptionSummary
Description
A summary of a fulfillment option available for deploying or accessing a listing or product.
Members
- displayName
-
- Required: Yes
- Type: string
The human-readable name of the fulfillment option type.
- fulfillmentOptionType
-
- Required: Yes
- Type: string
The machine-readable type of the fulfillment option, such as
SAASorAMAZON_MACHINE_IMAGE.
GrantItem
Description
An entitlement granted to the buyer as part of a pricing term.
Members
- description
-
- Type: string
A description of the entitlement.
- dimensionKey
-
- Required: Yes
- Type: string
The machine-readable key identifying the entitlement dimension.
- dimensionLabels
-
- Type: Array of DimensionLabel structures
Labels used to categorize this entitlement, such as by region.
- displayName
-
- Required: Yes
- Type: string
The human-readable name of the entitlement dimension.
- maxQuantity
-
- Type: int
The maximum quantity of the entitlement that can be granted.
- unit
-
- Required: Yes
- Type: string
The unit of measurement for the entitlement.
HelmFulfillmentOption
Description
Describes a Helm chart fulfillment option for Kubernetes deployment.
Members
- awsSupportedServices
-
- Type: Array of AwsSupportedService structures
The AWS services supported by this Helm chart deployment.
- fulfillmentOptionDisplayName
-
- Required: Yes
- Type: string
A human-readable name for the fulfillment option type.
- fulfillmentOptionId
-
- Required: Yes
- Type: string
The unique identifier of the fulfillment option.
- fulfillmentOptionName
-
- Required: Yes
- Type: string
The display name of the fulfillment option version.
- fulfillmentOptionType
-
- Required: Yes
- Type: string
The category of the fulfillment option.
- fulfillmentOptionVersion
-
- Type: string
The version identifier of the fulfillment option.
- operatingSystems
-
- Type: Array of HelmOperatingSystem structures
The operating systems supported by this Helm chart.
- releaseNotes
-
- Type: string
Release notes describing changes in this version of the fulfillment option.
- usageInstructions
-
- Type: string
Instructions on how to deploy and use this Helm chart.
HelmOperatingSystem
Description
Describes an operating system supported by a Helm chart fulfillment option.
Members
- operatingSystemFamilyName
-
- Required: Yes
- Type: string
The operating system family, such as Linux.
- operatingSystemName
-
- Required: Yes
- Type: string
The specific operating system name.
InternalServerException
Description
Unexpected error during processing of the request.
Members
- message
-
- Type: string
LegalTerm
Description
Defines a legal term containing documents proposed to buyers, such as EULAs and data subscription agreements.
Members
- documents
-
- Required: Yes
- Type: Array of DocumentItem structures
The legal documents proposed to the buyer as part of this term.
- id
-
- Required: Yes
- Type: string
The unique identifier of the term.
- type
-
- Required: Yes
- Type: string
The category of the term.
ListingAssociatedEntity
Description
A product and offer associated with a listing.
Members
- offer
-
- Type: OfferInformation structure
Information about the default offer associated with the listing.
- product
-
- Type: ProductInformation structure
Information about the product associated with the listing.
ListingBadge
Description
A badge indicating a special attribute of a listing, such as free tier eligibility or Quick Launch support.
Members
- badgeType
-
- Required: Yes
- Type: string
The machine-readable type of the badge.
- displayName
-
- Required: Yes
- Type: string
The human-readable name of the badge.
ListingFacet
Description
A facet value with display information and a count of matching listings. Used to build filter and browse experiences.
Members
- count
-
- Required: Yes
- Type: long (int|float)
The number of listings matching this facet value.
- displayName
-
- Required: Yes
- Type: string
The human-readable name of the facet value, suitable for display in a user interface.
- parent
-
- Type: string
The parent facet value for hierarchical facets, such as subcategories.
- value
-
- Required: Yes
- Type: string
The internal value used for filtering when passed back in a search filter.
ListingSummary
Description
Summary information about a listing returned by search operations, including the listing name, description, badges, categories, pricing models, reviews, and associated products.
Members
- associatedEntities
-
- Required: Yes
- Type: Array of ListingSummaryAssociatedEntity structures
The products associated with this listing.
- badges
-
- Required: Yes
- Type: Array of ListingBadge structures
Badges indicating special attributes of the listing.
- catalog
-
- Required: Yes
- Type: string
The name of the catalog that the listing belongs to.
- categories
-
- Required: Yes
- Type: Array of Category structures
The categories used to classify this listing into logical groups.
- fulfillmentOptionSummaries
-
- Required: Yes
- Type: Array of FulfillmentOptionSummary structures
A summary of fulfillment options available for the listing.
- listingId
-
- Required: Yes
- Type: string
The unique identifier of the listing.
- listingName
-
- Required: Yes
- Type: string
The human-readable display name of the listing.
- logoThumbnailUrl
-
- Required: Yes
- Type: string
The URL of the logo thumbnail image for the listing.
- pricingModels
-
- Required: Yes
- Type: Array of PricingModel structures
The pricing models for offers associated with this listing.
- pricingUnits
-
- Required: Yes
- Type: Array of PricingUnit structures
The pricing units that define the billing dimensions for offers associated with this listing.
- publisher
-
- Required: Yes
- Type: SellerInformation structure
The entity who created and published the listing.
- reviewSummary
-
- Required: Yes
- Type: ReviewSummary structure
A summary of customer reviews for the listing.
- shortDescription
-
- Required: Yes
- Type: string
A 1–3 sentence summary describing the key aspects of the listing.
ListingSummaryAssociatedEntity
Description
A product associated with a listing summary.
Members
- product
-
- Type: ProductInformation structure
Information about the associated product.
OfferAssociatedEntity
Description
A product and optional offer set associated with an offer.
Members
- offerSet
-
- Type: OfferSetInformation structure
Information about the offer set, if the offer is part of a bundled offer set.
- product
-
- Required: Yes
- Type: ProductInformation structure
Information about the product associated with the offer.
OfferInformation
Description
Summary information about an offer, including the offer identifier, name, and seller of record.
Members
- offerId
-
- Required: Yes
- Type: string
The unique identifier of the offer.
- offerName
-
- Type: string
The display name of the offer.
- sellerOfRecord
-
- Required: Yes
- Type: SellerInformation structure
The entity responsible for selling the product under this offer.
OfferSetAssociatedEntity
Description
A product and offer associated with an offer set.
Members
- offer
-
- Required: Yes
- Type: OfferInformation structure
Information about the offer associated with the offer set.
- product
-
- Required: Yes
- Type: ProductInformation structure
Information about the product associated with the offer set.
OfferSetInformation
Description
Summary information about an offer set, including the identifier and seller of record.
Members
- offerSetId
-
- Required: Yes
- Type: string
The unique identifier of the offer set.
- sellerOfRecord
-
- Required: Yes
- Type: SellerInformation structure
The entity responsible for selling the products under this offer set.
OfferTerm
Description
A term attached to an offer. Each element contains exactly one term type, such as a pricing term, legal term, or payment schedule term.
Members
- byolPricingTerm
-
- Type: ByolPricingTerm structure
Defines a Bring Your Own License (BYOL) pricing term, where buyers use their existing license for the product.
- configurableUpfrontPricingTerm
-
- Type: ConfigurableUpfrontPricingTerm structure
Defines a configurable upfront pricing term with selectable rate cards, where buyers choose from predefined pricing configurations.
- fixedUpfrontPricingTerm
-
- Type: FixedUpfrontPricingTerm structure
Defines a fixed upfront pricing term with a pre-paid amount and granted entitlements.
- freeTrialPricingTerm
-
- Type: FreeTrialPricingTerm structure
Defines a free trial pricing term that enables customers to try the product before purchasing.
- legalTerm
-
- Type: LegalTerm structure
Defines a legal term containing documents proposed to buyers, such as EULAs and data subscription agreements.
- paymentScheduleTerm
-
- Type: PaymentScheduleTerm structure
Defines a payment schedule term with installment payments at specified dates.
- recurringPaymentTerm
-
- Type: RecurringPaymentTerm structure
Defines a recurring payment term with fixed charges at regular billing intervals.
- renewalTerm
-
- Type: RenewalTerm structure
Defines a renewal term that enables automatic agreement renewal.
- supportTerm
-
- Type: SupportTerm structure
Defines a support term that includes the refund policy for the offer.
- usageBasedPricingTerm
-
- Type: UsageBasedPricingTerm structure
Defines a usage-based pricing term (typically pay-as-you-go), where buyers are charged based on product usage.
- validityTerm
-
- Type: ValidityTerm structure
Defines a validity term that specifies the duration or date range of an agreement.
- variablePaymentTerm
-
- Type: VariablePaymentTerm structure
Defines a variable payment term with a maximum total charge amount.
PaymentScheduleTerm
Description
Defines a payment schedule term with installment payments at specified dates.
Members
- currencyCode
-
- Required: Yes
- Type: string
Defines the currency for the prices in this term.
- id
-
- Required: Yes
- Type: string
The unique identifier of the term.
- schedule
-
- Required: Yes
- Type: Array of ScheduleItem structures
The payment schedule installments, each with a charge date and amount.
- type
-
- Required: Yes
- Type: string
The category of the term.
PricingModel
Description
A pricing model that determines how buyers are charged for a listing, such as usage-based, contract, BYOL, or free.
Members
- displayName
-
- Required: Yes
- Type: string
The human-readable name of the pricing model.
- pricingModelType
-
- Required: Yes
- Type: string
The machine-readable type of the pricing model.
PricingUnit
Description
A pricing unit that defines the billing dimension for a listing, such as users, hosts, bandwidth, or data.
Members
- displayName
-
- Required: Yes
- Type: string
The human-readable name of the pricing unit.
- pricingUnitType
-
- Required: Yes
- Type: string
The machine-readable type of the pricing unit.
ProductInformation
Description
Summary information about a product, including the identifier, name, and manufacturer.
Members
- manufacturer
-
- Required: Yes
- Type: SellerInformation structure
The entity who manufactured the product.
- productId
-
- Required: Yes
- Type: string
The unique identifier of the product.
- productName
-
- Required: Yes
- Type: string
The human-readable display name of the product.
ProfessionalServicesFulfillmentOption
Description
Describes a professional services fulfillment option.
Members
- fulfillmentOptionDisplayName
-
- Required: Yes
- Type: string
A human-readable name for the fulfillment option type.
- fulfillmentOptionId
-
- Required: Yes
- Type: string
The unique identifier of the fulfillment option.
- fulfillmentOptionType
-
- Required: Yes
- Type: string
The category of the fulfillment option.
PromotionalEmbeddedImage
Description
An embedded promotional image for a product.
Members
- description
-
- Type: string
An optional description of the image.
- title
-
- Required: Yes
- Type: string
The title displayed when hovering over the image.
- url
-
- Required: Yes
- Type: string
The URL of the image file.
PromotionalEmbeddedVideo
Description
An embedded promotional video for a product.
Members
- description
-
- Type: string
An optional description of the video.
- preview
-
- Required: Yes
- Type: string
The URL of the high-resolution preview image for the video.
- thumbnail
-
- Required: Yes
- Type: string
The URL of the thumbnail image for the video.
- title
-
- Required: Yes
- Type: string
The title displayed when hovering over the video.
- url
-
- Required: Yes
- Type: string
The URL of the video file.
PromotionalMedia
Description
Embedded promotional media for a product, such as images or videos. Each element contains exactly one media type.
Members
- embeddedImage
-
- Type: PromotionalEmbeddedImage structure
An embedded promotional image for a product.
- embeddedVideo
-
- Type: PromotionalEmbeddedVideo structure
An embedded promotional video for a product.
PurchaseOptionAssociatedEntity
Description
A product, offer, and optional offer set associated with a purchase option.
Members
- offer
-
- Required: Yes
- Type: OfferInformation structure
Information about the offer associated with the purchase option.
- offerSet
-
- Type: OfferSetInformation structure
Information about the offer set, if the purchase option is part of a bundled offer set.
- product
-
- Required: Yes
- Type: ProductInformation structure
Information about the product associated with the purchase option.
PurchaseOptionBadge
Description
A badge indicating a special attribute of a purchase option, such as private pricing or future dated.
Members
- badgeType
-
- Required: Yes
- Type: string
The machine-readable type of the badge.
- displayName
-
- Required: Yes
- Type: string
The human-readable name of the badge.
PurchaseOptionFilter
Description
A filter used to narrow purchase option results by product, seller, type, visibility, or availability.
Members
- filterType
-
- Required: Yes
- Type: string
The type of filter to apply, such as
PRODUCT_ID,VISIBILITY_SCOPE, orPURCHASE_OPTION_TYPE. - filterValues
-
- Required: Yes
- Type: Array of strings
The values to filter by. Multiple values within the same filter are combined with OR logic.
PurchaseOptionSummary
Description
Summary information about a purchase option (offer or offer set) available to the buyer, including the seller, badges, and associated products.
Members
- associatedEntities
-
- Required: Yes
- Type: Array of PurchaseOptionAssociatedEntity structures
The products, offers, and offer sets associated with this purchase option.
- availableFromTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the purchase option became available to the buyer.
- badges
-
- Type: Array of PurchaseOptionBadge structures
Badges indicating special attributes of the purchase option, such as private pricing or future dated.
- catalog
-
- Required: Yes
- Type: string
The name of the catalog that the purchase option belongs to.
- expirationTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the purchase option expires and is no longer available for procurement.
- purchaseOptionId
-
- Required: Yes
- Type: string
The unique identifier of the purchase option.
- purchaseOptionName
-
- Type: string
The display name of the purchase option.
- purchaseOptionType
-
- Required: Yes
- Type: string
The type of purchase option. Values are
OFFERfor a single-product offer orOFFERSETfor a bundled offer set. - sellerOfRecord
-
- Required: Yes
- Type: SellerInformation structure
The entity responsible for selling the product under this purchase option.
RateCardItem
Description
A per-unit rate within a rate card, defining the price for a specific dimension.
Members
- description
-
- Type: string
A description of the dimension being priced.
- dimensionKey
-
- Required: Yes
- Type: string
The machine-readable key identifying the dimension being priced.
- dimensionLabels
-
- Type: Array of DimensionLabel structures
Labels used to categorize this dimension, such as by region.
- displayName
-
- Required: Yes
- Type: string
The human-readable name of the dimension.
- price
-
- Required: Yes
- Type: string
The price per unit for the dimension.
- unit
-
- Required: Yes
- Type: string
The unit of measurement for the dimension.
RecurringPaymentTerm
Description
Defines a recurring payment term with fixed charges at regular billing intervals.
Members
- billingPeriod
-
- Required: Yes
- Type: string
The billing period frequency, such as
Monthly. - currencyCode
-
- Required: Yes
- Type: string
Defines the currency for the prices in this term.
- id
-
- Required: Yes
- Type: string
The unique identifier of the term.
- price
-
- Required: Yes
- Type: string
The amount charged each billing period.
- type
-
- Required: Yes
- Type: string
The category of the term.
RenewalTerm
Description
Defines a renewal term that enables automatic agreement renewal.
Members
- id
-
- Required: Yes
- Type: string
The unique identifier of the term.
- type
-
- Required: Yes
- Type: string
The category of the term.
Resource
Description
A resource that provides supplementary information about a product, such as documentation links, support contacts, or usage instructions.
Members
- contentType
-
- Required: Yes
- Type: string
The format of the resource content, such as a URL, email address, or text.
- displayName
-
- Type: string
An optional human-readable label for the resource.
- resourceType
-
- Required: Yes
- Type: string
The category of the resource, such as manufacturer support or usage instructions.
- value
-
- Required: Yes
- Type: string
The resource content. Interpretation depends on the content type.
ResourceNotFoundException
Description
The specified resource doesn't exist.
Members
- message
-
- Type: string
ReviewSourceSummary
Description
A review summary from a specific source, including the average rating and total review count.
Members
- averageRating
-
- Required: Yes
- Type: string
The average rating across all reviews from this source.
- sourceId
-
- Required: Yes
- Type: string
The machine-readable identifier of the review source.
- sourceName
-
- Required: Yes
- Type: string
The name of the review source, such as AWS Marketplace.
- sourceUrl
-
- Type: string
The URL where the reviews can be accessed at the source.
- totalReviews
-
- Required: Yes
- Type: long (int|float)
The total number of reviews available from this source.
ReviewSummary
Description
A summary of customer reviews available for a listing, aggregated by review source.
Members
- reviewSourceSummaries
-
- Required: Yes
- Type: Array of ReviewSourceSummary structures
Review summaries from different sources, such as AWS Marketplace.
SaasFulfillmentOption
Description
Describes a Software as a Service (SaaS) fulfillment option.
Members
- fulfillmentOptionDisplayName
-
- Required: Yes
- Type: string
A human-readable name for the fulfillment option type.
- fulfillmentOptionId
-
- Required: Yes
- Type: string
The unique identifier of the fulfillment option.
- fulfillmentOptionType
-
- Required: Yes
- Type: string
The category of the fulfillment option.
- fulfillmentUrl
-
- Type: string
The URL of the seller's software registration landing page.
- usageInstructions
-
- Type: string
Instructions on how to access and use this SaaS product.
SageMakerAlgorithmFulfillmentOption
Description
Describes an Amazon SageMaker algorithm fulfillment option, including version details and recommended instance types.
Members
- fulfillmentOptionDisplayName
-
- Required: Yes
- Type: string
A human-readable name for the fulfillment option type.
- fulfillmentOptionId
-
- Required: Yes
- Type: string
The unique identifier of the fulfillment option.
- fulfillmentOptionType
-
- Required: Yes
- Type: string
The category of the fulfillment option.
- fulfillmentOptionVersion
-
- Type: string
The version identifier of the fulfillment option.
- recommendation
-
- Type: SageMakerAlgorithmRecommendation structure
Recommended instance types for training and inference with this algorithm.
- releaseNotes
-
- Type: string
Release notes describing changes in this version of the fulfillment option.
- usageInstructions
-
- Type: string
Instructions on how to use this SageMaker algorithm.
SageMakerAlgorithmRecommendation
Description
Recommended instance types for training and inference with a SageMaker algorithm.
Members
- recommendedBatchTransformInstanceType
-
- Required: Yes
- Type: string
The recommended instance type for batch inference.
- recommendedRealtimeInferenceInstanceType
-
- Type: string
The recommended instance type for real-time inference.
- recommendedTrainingInstanceType
-
- Required: Yes
- Type: string
The recommended instance type for training.
SageMakerModelFulfillmentOption
Description
Describes an Amazon SageMaker model fulfillment option, including version details and recommended instance types.
Members
- fulfillmentOptionDisplayName
-
- Required: Yes
- Type: string
A human-readable name for the fulfillment option type.
- fulfillmentOptionId
-
- Required: Yes
- Type: string
The unique identifier of the fulfillment option.
- fulfillmentOptionType
-
- Required: Yes
- Type: string
The category of the fulfillment option.
- fulfillmentOptionVersion
-
- Type: string
The version identifier of the fulfillment option.
- recommendation
-
- Type: SageMakerModelRecommendation structure
Recommended instance types for inference with this model.
- releaseNotes
-
- Type: string
Release notes describing changes in this version of the fulfillment option.
- usageInstructions
-
- Type: string
Instructions on how to use this SageMaker model.
SageMakerModelRecommendation
Description
Recommended instance types for inference with a SageMaker model.
Members
- recommendedBatchTransformInstanceType
-
- Required: Yes
- Type: string
The recommended instance type for batch inference.
- recommendedRealtimeInferenceInstanceType
-
- Type: string
The recommended instance type for real-time inference.
ScheduleItem
Description
A payment installment within a payment schedule term.
Members
- chargeAmount
-
- Required: Yes
- Type: string
The amount to be charged on the charge date.
- chargeDate
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date when the payment is due.
SearchFilter
Description
A filter used to narrow search results by attribute, such as category, pricing model, or fulfillment type.
Members
- filterType
-
- Required: Yes
- Type: string
The type of filter to apply.
- filterValues
-
- Required: Yes
- Type: Array of strings
The values to filter by. Term filters accept multiple values (OR logic). Range filters (MIN/MAX_AVERAGE_CUSTOMER_RATING) accept a single value between 0.0 and 5.0.
Selector
Description
A selector used to choose a specific configuration within a configurable upfront rate card.
Members
- type
-
- Required: Yes
- Type: string
The category of the selector, such as
Duration. - value
-
- Required: Yes
- Type: string
The value of the selector.
SellerEngagement
Description
An engagement option available to potential buyers of a product, such as requesting a private offer or a demo.
Members
- contentType
-
- Required: Yes
- Type: string
The format of the engagement value, such as a URL.
- engagementType
-
- Required: Yes
- Type: string
The type of engagement, such as
REQUEST_FOR_PRIVATE_OFFERorREQUEST_FOR_DEMO. - value
-
- Required: Yes
- Type: string
The engagement value, such as a URL to the engagement form.
SellerInformation
Description
Information about a seller, including the profile identifier and display name.
Members
- displayName
-
- Required: Yes
- Type: string
The human-readable name of the seller.
- sellerProfileId
-
- Required: Yes
- Type: string
The unique identifier of the seller profile.
SupportTerm
Description
Defines a support term that includes the refund policy for the offer.
Members
- id
-
- Required: Yes
- Type: string
The unique identifier of the term.
- refundPolicy
-
- Required: Yes
- Type: string
The refund policy description for the offer.
- type
-
- Required: Yes
- Type: string
The category of the term.
ThrottlingException
Description
The request was denied due to request throttling.
Members
- message
-
- Type: string
UsageBasedPricingTerm
Description
Defines a usage-based pricing term (typically pay-as-you-go), where buyers are charged based on product usage.
Members
- currencyCode
-
- Required: Yes
- Type: string
Defines the currency for the prices in this term.
- id
-
- Required: Yes
- Type: string
The unique identifier of the term.
- rateCards
-
- Required: Yes
- Type: Array of UsageBasedRateCardItem structures
The rate cards containing per-unit rates for usage-based pricing.
- type
-
- Required: Yes
- Type: string
The category of the term.
UsageBasedRateCardItem
Description
A rate card within a usage-based pricing term, containing per-unit rates.
Members
- rateCard
-
- Required: Yes
- Type: Array of RateCardItem structures
The per-unit rates for this usage-based rate card.
UseCase
Description
A use case describing a scenario where the product can be applied.
Members
- description
-
- Required: Yes
- Type: string
A description of the use case.
- displayName
-
- Required: Yes
- Type: string
The human-readable name of the use case.
- value
-
- Required: Yes
- Type: string
The machine-readable identifier of the use case.
UseCaseEntry
Description
An entry in the list of use cases for a listing.
Members
- useCase
-
- Required: Yes
- Type: UseCase structure
The use case details.
ValidationException
Description
The input fails to satisfy the constraints specified by the service.
Members
- message
-
- Type: string
- reason
-
- Type: string
The reason that the input fails to satisfy the constraints specified by the service.
ValidityTerm
Description
Defines a validity term that specifies the duration or date range of an agreement.
Members
- agreementDuration
-
- Type: string
The duration of the agreement, in ISO 8601 format.
- agreementEndDate
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date when the agreement ends.
- agreementStartDate
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date when the agreement starts.
- id
-
- Required: Yes
- Type: string
The unique identifier of the term.
- type
-
- Required: Yes
- Type: string
The category of the term.
VariablePaymentTerm
Description
Defines a variable payment term with a maximum total charge amount.
Members
- currencyCode
-
- Required: Yes
- Type: string
Defines the currency for the prices in this term.
- id
-
- Required: Yes
- Type: string
The unique identifier of the term.
- maxTotalChargeAmount
-
- Required: Yes
- Type: string
The maximum total amount that can be charged under this term.
- type
-
- Required: Yes
- Type: string
The category of the term.