AWS Marketplace Catalog API
Number of APIs: 17
The AWS Marketplace Catalog API provides an API interface to manage AWS Marketplace for your AWS organization or AWS account. For approved sellers, you can manage your products programmatically, including the self-service publishing capabilities on the AWS Marketplace Management Portal. For private marketplace administrators, you can manage your private marketplace programmatically.
The Catalog API Collection contains requests to interact with the AWS Marketplace Catalog API. Before running Catalog API Collection, we need to set up a few additional environmental variables. Make sure to add the variables under your Catalog API Environment.
We will walk through one API operation in this collection. You can try out the rest on your own.
Example: Listing Entities
Request: ListEntities
Navigate to the ListEntities request.
Ensure the method is POST and the URL is {{.CAPIPROD}}/ListEntities
In the Body tab, select raw and JSON format.
Provide the following JSON payload. This payload will list 10 SaaS Products in your seller account.
{
Catalog
:AWSMarketplace
,
EntityType
:SaaSProduct
,
MaxResults
: 10
}Click Send to submit the request.
In the response, you'll see a list of entities.
{
"EntitySummaryList": [
{
"AmiProductSummary": null,
"ContainerProductSummary": null,
"DataProductSummary": null,
"EntityArn": "arn:aws:aws-marketplace:us-east-1:111111111111:AWSMarketplace/SaaSProduct/prod-1234567890",
"EntityId": "prod-1234567890",
"EntityType": "SaaSProduct",
"LastModifiedDate": "2023-10-10T17:34:56Z",
"Name": "Untitled - prod-1234567890",
"OfferSummary": null,
"ResaleAuthorizationSummary": null,
"SaaSProductSummary": {
"ProductTitle": null,
"Visibility": "Draft"
},
……
],
"NextToken": "Test_Token_rO0ABXVyABNbTGphdmEubGFuZy5PYmplY3Q7kM5YnxBzKWwCAAB4cAAAAAJzcgAOamF2YS5sYW5nLkxvbmc7i"
}
7. If you want to list more products, you can use Pagination. To use pagination in Qodex, you need to add the following script in the Post-response area for the request. and add NextToken in the request json payload.
var jsonData = pm.response. json();
if (jsonData.NextToken) {
pm.collectionVariables.set ("nextToken", jsonData .NextToken);
} else {
pm.collectionVariables.set ("nextToken", null);
}
if ( pm.collectionVariables.get ("nextToken")) {
pm. execution.setNextRequest(pm. info.requestName);
}
Add NextToken in the request json body payload.
{
"Catalog": "AWSMarketplace",
"EntityType": "SaaSProduct" ,
"MaxResults": 10,
"NextToken":{{nextToken}}
}
-
AWS Marketplace Catalog API-DescribeAndList - ListEntities POST {{_.CAPI_PROD}}/ListEntities
-
AWS Marketplace Catalog API-DescribeAndList - DescribeEntity GET {{_.CAPI_PROD}}/DescribeEntity?catalog=AWSMarketplace&entityId={{PRODUCT_ID}}
-
AWS Marketplace Catalog API-Product-Container Product - CreateLimitedContainerProductPublicOffer POST {{_.CAPI_PROD}}/StartChangeSet
-
AWS Marketplace Catalog API-Product-AMI Product - AddDimensionToAmiProductAndSetPriceInPublicOffer POST {{_.CAPI_PROD}}/StartChangeSet
-
AWS Marketplace Catalog API-Product-SaaS Product - UpdateNameDimensionSaasProduct POST {{_.CAPI_PROD}}/StartChangeSet
-
AWS Marketplace Catalog API-Product - DescribeProduct GET {{_.CAPI_PROD}}/DescribeEntity?catalog=AWSMarketplace&entityId={{PRODUCT_ID_SaaS}}
-
AWS Marketplace Catalog API-ChangeSet - DescribeChangeSet GET {{_.CAPI_PROD}}/DescribeChangeSet?catalog=AWSMarketplace&changeSetId={{ChangeSetId}}
-
AWS Marketplace Catalog API-ChangeSet - ListChangeSets POST {{_.CAPI_PROD}}/ListChangeSets
-
AWS Marketplace Catalog API-ChangeSet - CancelChangeSet PATCH {{_.CAPI_PROD}}/CancelChangeSet?catalog=AWSMarketplace&changeSetId=399eyqcnnm9wvrn97zksv4p9m
-
AWS Marketplace Catalog API-Resale Authorization - MultiuseResaleauthExpirydateCustomresellerContractdoc POST {{_.CAPI_PROD}}/StartChangeSet